vidhin mehta[Open Erp] has proposed merging 
lp:~openerp-dev/openerp-web/trunk-shortcut_fix 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-shortcut_fix/+merge/72161

Fix add remove shortcut problem on switch view and update session.
-- 
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-shortcut_fix/+merge/72161
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openerp-web/trunk-shortcut_fix.
=== modified file 'addons/base/static/src/js/chrome.js'
--- addons/base/static/src/js/chrome.js	2011-08-19 02:01:56 +0000
+++ addons/base/static/src/js/chrome.js	2011-08-19 10:40:02 +0000
@@ -584,13 +584,17 @@
             sc.binding = {};
             $(sc.binding).bind({
                 'add': function (e, attrs) {
-                    var $shortcut = $('<li>', {
-                            'data-id': attrs.res_id
+                    shortcuts_ds.create(attrs, function (out) {
+                        var $shortcut = $('<li>', {
+                        'data-shortcut-id':out.result,
+                        'data-id': attrs.res_id
                         }).text(attrs.name)
                         .appendTo(self.$element.find('.oe-shortcuts ul'));
-                    shortcuts_ds.create(attrs, function (out) {
-                        $shortcut.data('shortcut-id', out.result);
+                        attrs.id = out.result;
+                        sc.splice(sc.lenght,0,attrs);
+                        sc.push.apply(sc);
                     });
+                    
                 },
                 'remove-current': function () {
                     var menu_id = self.session.active_id;
@@ -599,6 +603,9 @@
                     var shortcut_id = $shortcut.data('shortcut-id');
                     $shortcut.remove();
                     shortcuts_ds.unlink([shortcut_id]);
+                    sc1 = _.reject(sc, function(shortcut){ return shortcut_id === shortcut.id});
+                    sc.splice(0, sc.length);
+                    sc.push.apply(sc ,sc1);
                 }
             });
         }
@@ -609,6 +616,7 @@
             self.$element.find('.oe-shortcuts')
                 .html(QWeb.render('Shortcuts', {'shortcuts': shortcuts}))
                 .undelegate('li', 'click')
+
                 .delegate('li', 'click', function(e) {
                     e.stopPropagation();
                     var id = $(this).data('id');

=== modified file 'addons/base/static/src/js/views.js'
--- addons/base/static/src/js/views.js	2011-08-18 22:57:21 +0000
+++ addons/base/static/src/js/views.js	2011-08-19 10:40:02 +0000
@@ -342,6 +342,7 @@
     shortcut_add_remove: function() {
         var self = this;
         var $shortcut_toggle = this.$element.find('.oe-shortcut-toggle');
+        $shortcut_toggle.unbind("click").click();
         $shortcut_toggle.click(function() {
             if ($shortcut_toggle.hasClass("oe-shortcut-remove")) {
                 $(self.session.shortcuts.binding).trigger('remove-current');

_______________________________________________
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