Vidhin Mehta  (OpenERP) has proposed merging 
lp:~openerp-dev/openerp-web/trunk-trigger-on_record_loaded into lp:openerp-web.

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

For more details, see:
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-trigger-on_record_loaded/+merge/128698

Replace callbackenable methods for 'on_record_loaded".
-- 
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-trigger-on_record_loaded/+merge/128698
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openerp-web/trunk-trigger-on_record_loaded.
=== modified file 'addons/web/static/src/js/view_form.js'
--- addons/web/static/src/js/view_form.js	2012-10-09 09:30:35 +0000
+++ addons/web/static/src/js/view_form.js	2012-10-09 12:58:30 +0000
@@ -126,6 +126,7 @@
             self.on("change:actual_mode", self, self.init_pager);
             self.init_pager();
         });
+        self.on("record_load", self, self.on_record_loaded);
         instance.web.bus.on('clear_uncommitted_changes', this, function(e) {
             if (!this.can_be_discarded()) {
                 e.preventDefault();
@@ -331,7 +332,7 @@
                 fields.push('display_name');
                 return self.dataset.read_index(fields, {
                     context: { 'bin_size': true, 'future_display_name' : true }
-                }).pipe(self.on_record_loaded);
+                }).pipe(function(r){self.trigger('record_load',r)});
             });
         }
         return shown.pipe(function() {
@@ -413,12 +414,13 @@
      * @return {$.Deferred}
      */
     load_defaults: function () {
+        var self = this;
         var keys = _.keys(this.fields_view.fields);
         if (keys.length) {
             return this.dataset.default_get(keys)
-                    .pipe(this.on_record_loaded);
+                    .pipe(function(r){self.trigger('record_load',r)});
         }
-        return this.on_record_loaded({});
+        return self.trigger('record_load',{});
     },
     on_form_changed: function() {
         this.trigger("view_content_has_changed");
@@ -752,7 +754,7 @@
                 this.trigger('history_back');
             } else {
                 this.to_view_mode();
-                this.on_record_loaded(this.datarecord);
+                this.trigger('record_load',this.datarecord);
             }
         }
         return false;
@@ -954,7 +956,7 @@
                 fields.push('display_name');
                 return self.dataset.read_index(fields, {
                     context : { 'bin_size' : true, 'future_display_name' : true }
-                }).pipe(self.on_record_loaded);
+                }).pipe(function(r){self.trigger('record_load',r)});
             }
         });
     },
@@ -3369,9 +3371,10 @@
                 if (self.get("effective_readonly")) {
                     $(".oe_form_buttons", controller.$el).children().remove();
                 }
-                controller.on_record_loaded.add_last(function() {
-                    once.resolve();
-                });
+                controller.on("record_load", self, function(){
+                    console.log("view manager form");
+                     once.resolve();
+                 });
                 controller.on_pager_action.add_first(function() {
                     self.save_any_view();
                 });

=== modified file 'addons/web_diagram/static/src/js/diagram.js'
--- addons/web_diagram/static/src/js/diagram.js	2012-10-03 12:28:36 +0000
+++ addons/web_diagram/static/src/js/diagram.js	2012-10-09 12:58:30 +0000
@@ -239,23 +239,23 @@
                     title: _t("Open: ") + title
                 }
             );
-
-        pop.on_write.add(function() {
+        pop.on('on_write_complete', self, function() {
             self.dataset.read_index(_.keys(self.fields_view.fields)).pipe(self.on_diagram_loaded);
             });
-
+        
         var form_fields = [self.parent_field];
         var form_controller = pop.view_form;
 
-        form_controller.on_record_loaded.add_first(function() {
+       form_controller.on("record_load", self, function(){
             _.each(form_fields, function(fld) {
                 if (!(fld in form_controller.fields)) { return; }
                 var field = form_controller.fields[fld];
                 field.$input.prop('disabled', true);
                 field.$drop_down.unbind();
-                field.$menu_btn.unbind();
             });
-        });
+         });
+
+       
     },
 
     // Creates a popup to add a node to the diagram
@@ -280,7 +280,7 @@
         var form_controller = pop.view_form;
         var form_fields = [this.parent_field];
 
-        form_controller.on_record_loaded.add_last(function() {
+        form_controller.on("record_load", self, function(){
             _.each(form_fields, function(fld) {
                 if (!(fld in form_controller.fields)) { return; }
                 var field = form_controller.fields[fld];
@@ -303,7 +303,7 @@
                 title: _t("Open: ") + title
             }
         );
-        pop.on_write.add(function() {
+        pop.on('on_write_complete', self, function() {
             self.dataset.read_index(_.keys(self.fields_view.fields)).pipe(self.on_diagram_loaded);
         });
     },
@@ -339,12 +339,13 @@
 
         var form_controller = pop.view_form;
 
-        form_controller.on_record_loaded.add_last(function () {
+
+       form_controller.on("record_load", self, function(){
             form_controller.fields[self.connectors.attrs.source].set_value(node_source_id);
             form_controller.fields[self.connectors.attrs.source].dirty = true;
             form_controller.fields[self.connectors.attrs.destination].set_value(node_dest_id);
             form_controller.fields[self.connectors.attrs.destination].dirty = true;
-        });
+       });
     },
 
     on_pager_action: function(action) {

=== modified file 'addons/web_tests/static/src/js/web_tests.js'
--- addons/web_tests/static/src/js/web_tests.js	2012-08-24 18:27:07 +0000
+++ addons/web_tests/static/src/js/web_tests.js	2012-10-09 12:58:30 +0000
@@ -23,14 +23,14 @@
         on_everything_loaded: function (slice) {
             var records = slice[0].records;
             if (!records.length) {
-                this.form.on_record_loaded({});
+                this.form.trigger("record_load",{});
                 return;
             }
-            this.form.on_record_loaded(records[0]);
+            this.form.trigger("record_load", records[0])
             _(records.slice(1)).each(function (record, index) {
                 this.dataset.index = index+1;
                 this.form.reposition($('<div>').appendTo(this.$el));
-                this.form.on_record_loaded(record);
+                this.form.trigger("record_load", record)
             }, this);
         }
     });

_______________________________________________
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