changeset 145f1a7253ca in sao:5.4
details: https://hg.tryton.org/sao?cmd=changeset;node=145f1a7253ca
description:
        Do not rely on current record from screen

        If the current record is removed, the attribute is set to None by
        cancel_current.

        issue9298
        review314651002
        (grafted from c1ce7d0bb57f5cabb5f2b08ad43cd3d7b520f5b7)
diffstat:

 src/window.js |  13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diffs (27 lines):

diff -r c7239649bb22 -r 145f1a7253ca src/window.js
--- a/src/window.js     Sat Oct 24 13:14:55 2020 +0200
+++ b/src/window.js     Wed Oct 28 00:02:52 2020 +0100
@@ -404,16 +404,17 @@
                     !readonly &&
                     this.screen.current_record) {
                 result = false;
-                var added = this.screen.current_record._changed.id;
-                if ((this.screen.current_record.id < 0) || this.save_current) {
+                var record = this.screen.current_record;
+                var added = record._changed.id;
+                if ((record.id < 0) || this.save_current) {
                     cancel_prm = this.screen.cancel_current(
                         this._initial_value);
-                } else if (this.screen.current_record.has_changed()) {
-                    this.screen.current_record.cancel();
-                    cancel_prm = this.screen.current_record.reload();
+                } else if (record.has_changed()) {
+                    record.cancel();
+                    cancel_prm = record.reload();
                 }
                 if (added) {
-                    this.screen.current_record._changed.id = added;
+                    record._changed.id = added;
                 }
             } else {
                 result = response_id != 'RESPONSE_CANCEL';

Reply via email to