changeset b0b231e9ed9a in sao:6.0
details: https://hg.tryton.org/sao?cmd=changeset&node=b0b231e9ed9a
description:
        Close tab when cancelling save on new record

        issue10480
        review363421002
        (grafted from bea021af96d55137e35bae1ade78aff6799890e3)
diffstat:

 src/tab.js |  15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diffs (36 lines):

diff -r 84f17beb09d1 -r b0b231e9ed9a src/tab.js
--- a/src/tab.js        Thu Sep 02 23:57:43 2021 +0200
+++ b/src/tab.js        Fri Sep 10 19:37:47 2021 +0200
@@ -760,7 +760,13 @@
             );
         },
         _close_allowed: function() {
-            return this.modified_save();
+            return this.modified_save().then(null, function(result) {
+                if (result) {
+                    return jQuery.Deferred().resolve();
+                } else {
+                    return jQuery.Deferred().reject();
+                }
+            });
         },
         modified_save: function() {
             this.screen.save_tree_state();
@@ -776,13 +782,14 @@
                             case 'ko':
                                 var record_id = this.screen.current_record.id;
                                 return this.reload(false).then(function() {
-                                    if (this.screen.current_record) {
+                                    if (record_id < 0) {
+                                        return jQuery.Deferred().reject(true);
+                                    }
+                                    else if (this.screen.current_record) {
                                         if (record_id !=
                                             this.screen.current_record.id) {
                                             return jQuery.Deferred().reject();
                                         }
-                                    } else if (record_id < 0) {
-                                        return jQuery.Deferred().resolve();
                                     }
                                 }.bind(this));
                             default:

Reply via email to