Vidhin Mehta  (OpenERP) has proposed merging 
lp:~openerp-dev/openerp-web/trunk-improve-save-last_update-vme into 
lp:~openerp-dev/openerp-web/trunk-improve-save-last_update.

Requested reviews:
  OpenERP R&D Team (openerp-dev)

For more details, see:
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-improve-save-last_update-vme/+merge/124200

Now web client sends exact value for '__last_update' to server for concurrency 
issue.
-- 
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-improve-save-last_update-vme/+merge/124200
Your team OpenERP R&D Team is requested to review the proposed merge of 
lp:~openerp-dev/openerp-web/trunk-improve-save-last_update-vme into 
lp:~openerp-dev/openerp-web/trunk-improve-save-last_update.
=== modified file 'addons/web/static/src/js/view_form.js'
--- addons/web/static/src/js/view_form.js	2012-09-12 17:16:24 +0000
+++ addons/web/static/src/js/view_form.js	2012-09-13 13:32:37 +0000
@@ -287,6 +287,7 @@
                 }
                 var fields = _.keys(self.fields_view.fields);
                 fields.push('display_name');
+                fields.push('__last_update');
                 return self.dataset.read_index(fields, {
                     context: { 'bin_size': true, 'future_display_name' : true }
                 }).pipe(self.on_record_loaded);
@@ -815,7 +816,12 @@
                 } else {
                     self.force_dirty = false;
                     // Write save
-                    save_deferral = self.dataset.write(self.datarecord.id, values, {}).pipe(function(r) {
+                    var option = {};
+                    var val = {};
+                    var key = _.str.sprintf("%s,%s",self.model,self.datarecord.id);
+                    val[key] = self.datarecord['__last_update'];
+                    option['context'] = {'__last_update': val};
+                    save_deferral = self.dataset.write(self.datarecord.id, values, option).pipe(function(r) {
                         return self.on_saved(r);
                     }, null);
                 }
@@ -904,6 +910,7 @@
             } else {
                 var fields = _.keys(self.fields_view.fields);
                 fields.push('display_name');
+                fields.push('__last_update');
                 return self.dataset.read_index(fields, {
                     context : { 'bin_size' : true, 'future_display_name' : true }
                 }).pipe(self.on_record_loaded);

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to