[web/js] replace callAddOrDeleteThenReload with more generic callAjaxFuncThenReload
authorJulien Cristau <julien.cristau@logilab.fr>
Wed, 23 Jul 2014 12:07:50 +0200
changeset 9914 30b56a56c1f4
parent 9913 a74e9e43806a
child 9915 020d2e453e6f
[web/js] replace callAddOrDeleteThenReload with more generic callAjaxFuncThenReload That's going to be a more useful replacement for callUserCallbackThenReload. Closes #4178566.
web/component.py
web/data/cubicweb.js
--- a/web/component.py	Tue Jul 22 17:45:38 2014 +0200
+++ b/web/component.py	Wed Jul 23 12:07:50 2014 +0200
@@ -513,10 +513,10 @@
         """builds HTML link to edit relation between `entity` and `etarget`"""
         args = {role(self) : entity.eid, target(self): etarget.eid}
         # for each target, provide a link to edit the relation
-        jscall = unicode(js.cw.utils.callAddOrDeleteThenReload(fname,
-                                                               self.rtype,
-                                                               args['subject'],
-                                                               args['object']))
+        jscall = unicode(js.cw.utils.callAjaxFuncThenReload(fname,
+                                                            self.rtype,
+                                                            args['subject'],
+                                                            args['object']))
         return u'[<a href="javascript: %s" class="action">%s</a>] %s' % (
             xml_escape(jscall), label, etarget.view('incontext'))
 
--- a/web/data/cubicweb.js	Tue Jul 22 17:45:38 2014 +0200
+++ b/web/data/cubicweb.js	Wed Jul 23 12:07:50 2014 +0200
@@ -390,14 +390,14 @@
 		    );
     },
 
-    callAddOrDeleteThenReload: function (add_or_delete, rtype, subjeid, objeid) {
-        var d = asyncRemoteExec(add_or_delete, rtype, subjeid, objeid);
-        d.addCallback(function() {
+    callAjaxFuncThenReload: function callAjaxFuncThenReload (/*...*/) {
+        var d = asyncRemoteExec.apply(null, arguments);
+        d.addCallback(function(msg) {
             window.location.reload();
+            if (msg)
+                updateMessage(msg);
         });
     }
-
-
 });
 
 /** DOM factories ************************************************************/