changeset ac48f5f8ee3a in sao:default
details: https://hg.tryton.org/sao?cmd=changeset;node=ac48f5f8ee3a
description:
        Display record name on the concurrency comparison tab

        issue8803
        review282351002
diffstat:

 src/common.js |  21 ++++++++++++++-------
 src/rpc.js    |   5 +++--
 2 files changed, 17 insertions(+), 9 deletions(-)

diffs (47 lines):

diff -r 15c499b95290 -r ac48f5f8ee3a src/common.js
--- a/src/common.js     Thu Nov 21 15:39:56 2019 +0100
+++ b/src/common.js     Tue Nov 26 22:34:49 2019 +0100
@@ -3149,14 +3149,21 @@
                 'type': 'button'
             }).append(Sao.i18n.gettext('Compare')).click(function() {
                 this.close(dialog);
-                Sao.Tab.create({
-                    'model': model,
-                    'res_id': record_id,
-                    'domain': [['id', '=', record_id]],
-                    'context': context,
-                    'mode': ['form', 'tree']
+                Sao.rpc({
+                    'method': 'model.' + model + '.read',
+                    'params': [[record_id], ['rec_name'], context],
+                }, Sao.Session.current_session).then(function(result) {
+                    var name = result[0].rec_name;
+                    Sao.Tab.create({
+                        'model': model,
+                        'res_id': record_id,
+                        name: Sao.i18n.gettext("Compare: %1", name),
+                        'domain': [['id', '=', record_id]],
+                        'context': context,
+                        'mode': ['form'],
+                    });
+                    prm.reject();
                 });
-                prm.reject();
             }.bind(this)).appendTo(dialog.footer);
             jQuery('<button/>', {
                 'class': 'btn btn-default',
diff -r 15c499b95290 -r ac48f5f8ee3a src/rpc.js
--- a/src/rpc.js        Thu Nov 21 15:39:56 2019 +0100
+++ b/src/rpc.js        Tue Nov 26 22:34:49 2019 +0100
@@ -77,8 +77,9 @@
                     return;
                 } else if (data.error[0] == 'ConcurrencyException') {
                     if (args.method.startsWith('model.') &&
-                            (args.method.endsWith('.write') ||
-                             args.method.endsWith('.delete'))) {
+                        (args.method.endsWith('.write') ||
+                            args.method.endsWith('.delete')) &&
+                        (args.params[0].length == 1)) {
                         var model = args.method.split('.').slice(1, 
-1).join('.');
                         Sao.common.concurrency.run(model, args.params[0][0],
                                 args.params.slice(-1)[0])

Reply via email to