[ADD] delete menu
bzr revid: fme@openerp.com-20131030105803-yq7r5lt9vtnd21p0
This commit is contained in:
parent
0dab848b12
commit
fcdef0faaf
|
@ -419,11 +419,17 @@ class website_menu(osv.osv):
|
|||
menu['id'] = new_id
|
||||
if menu['parent_id'] == old_id:
|
||||
menu['parent_id'] = new_id
|
||||
to_delete = []
|
||||
for menu in data:
|
||||
old_id = menu['id']
|
||||
if isinstance(old_id, str):
|
||||
mid = menu['id']
|
||||
if 'to_delete' in menu:
|
||||
to_delete.append(mid)
|
||||
data.remove(menu)
|
||||
elif isinstance(mid, str):
|
||||
new_id = self.create(cr, uid, {'name': menu['name']}, context=context)
|
||||
replace_id(old_id, new_id)
|
||||
replace_id(mid, new_id)
|
||||
if to_delete:
|
||||
self.unlink(cr, uid, to_delete)
|
||||
for menu in data:
|
||||
self.write(cr, uid, [menu['id']], menu, context=context)
|
||||
return True
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
template: 'website.menu.dialog.edit',
|
||||
events: _.extend({}, website.editor.Dialog.prototype.events, {
|
||||
'click button.add-menu': 'add_menu',
|
||||
'click button.delete-menu': 'delete_menu',
|
||||
}),
|
||||
init: function (menu) {
|
||||
this.menu = menu;
|
||||
|
@ -64,6 +65,19 @@
|
|||
});
|
||||
dialog.appendTo(document.body);
|
||||
},
|
||||
delete_menu: function (ev) {
|
||||
var self = this;
|
||||
var $menu = $(ev.currentTarget).parents('[data-menu-id]').first();
|
||||
$menu.find('[data-menu-id]').add($menu).each(function() {
|
||||
var mid = $(this).attr('data-menu-id');
|
||||
if (~mid.indexOf('new-')) {
|
||||
delete(self.flat[mid]);
|
||||
} else {
|
||||
self.flat[mid].to_delete = true;
|
||||
}
|
||||
});
|
||||
$menu.hide();
|
||||
},
|
||||
save: function () {
|
||||
var self = this;
|
||||
var new_menu = this.$('.oe_menu_editor').nestedSortable('toArray', {startDepthCount: 0});
|
||||
|
|
Loading…
Reference in New Issue