changeset 2e966bcdb7cd in sao:6.0
details: https://hg.tryton.org/sao?cmd=changeset&node=2e966bcdb7cd
description:
        Remove store_rec_name function and use synchronous RPC call

        issue11249
        review397321002
        (grafted from 7e806a5beef6f67904860e9e54cebd2731d90d80)
diffstat:

 src/model.js |  31 ++++++++-----------------------
 1 files changed, 8 insertions(+), 23 deletions(-)

diffs (65 lines):

diff -r d9b1352a9a5b -r 2e966bcdb7cd src/model.js
--- a/src/model.js      Tue Feb 08 18:55:25 2022 +0100
+++ b/src/model.js      Tue Feb 22 23:01:11 2022 +0100
@@ -2046,26 +2046,16 @@
         set: function(record, value) {
             var rec_name = (
                 record._values[this.name + '.'] || {}).rec_name || '';
-            var store_rec_name = function(rec_name) {
-                Sao.setdefault(
-                    record._values, this.name + '.', {})
-                    .rec_name = rec_name[0].rec_name;
-            };
             if (!rec_name && (value >= 0) && (value !== null)) {
                 var model_name = record.model.fields[this.name].description
                     .relation;
-                var remote_rec_name = Sao.rpc({
+                rec_name = Sao.rpc({
                     'method': 'model.' + model_name + '.read',
                     'params': [[value], ['rec_name'], record.get_context()]
-                }, record.model.session, false);
-                store_rec_name(remote_rec_name);
-                record.group.root_group.screens.forEach(
-                    function (screen) {
-                        screen.display();
-                    });
-            } else {
-                store_rec_name.call(this, [{'rec_name': rec_name}]);
+                }, record.model.session, false)[0].rec_name;
             }
+            Sao.setdefault(
+                record._values, this.name + '.', {}).rec_name = rec_name;
             record._values[this.name] = value;
         },
         set_client: function(record, value, force_change) {
@@ -2616,26 +2606,21 @@
             }
             var rec_name = (
                 record._values[this.name + '.'] || {}).rec_name || '';
-            var store_rec_name = function(rec_name) {
-                Sao.setdefault(
-                    record._values, this.name + '.', {}).rec_name = rec_name;
-            }.bind(this);
             if (ref_model && ref_id !== null && ref_id >= 0) {
                 if (!rec_name && ref_id >= 0) {
-                    Sao.rpc({
+                    rec_name = Sao.rpc({
                         'method': 'model.' + ref_model + '.read',
                         'params': [[ref_id], ['rec_name'], 
record.get_context()]
-                    }, record.model.session).done(function(result) {
-                        store_rec_name(result[0].rec_name);
-                    });
+                    }, record.model.session, false)[0].rec_name;
                 }
             } else if (ref_model) {
                 rec_name = '';
             } else {
                 rec_name = ref_id;
             }
+            Sao.setdefault(
+                record._values, this.name + '.', {}).rec_name = rec_name;
             record._values[this.name] = [ref_model, ref_id];
-            store_rec_name(rec_name);
         },
         get_on_change_value: function(record) {
             if ((record.group.parent_name == this.name) &&

Reply via email to