diff --git a/admin/inc/class.admin_categories.inc.php b/admin/inc/class.admin_categories.inc.php index 451c97ad28..255f632ed5 100644 --- a/admin/inc/class.admin_categories.inc.php +++ b/admin/inc/class.admin_categories.inc.php @@ -601,9 +601,9 @@ class admin_categories 'delete' => array( 'caption' => 'Delete', 'allowOnMultiple' => true, - 'nm_action' => 'open_popup', 'group' => ++$group, 'disableClass' => 'rowNoDelete', + 'onExecute' => 'javaScript:app.admin.delete_category' ), ); diff --git a/admin/js/app.js b/admin/js/app.js index 20f8bd392f..b6cd96589d 100644 --- a/admin/js/app.js +++ b/admin/js/app.js @@ -772,20 +772,41 @@ app.classes.admin = AppJS.extend( /** * Delete confirmation dialog * + * @param {egw action} _action */ - delete_category: function () + delete_category: function (_action) { var _buttons = [ {"button_id": "delete[cancel]","text": 'Cancel', id: 'delete[cancel]', image: 'cancel', "default":true}, {"button_id": "delete[delete]","text": 'Delete', id: 'delete[delete]', image: 'delete'}, {"button_id": "delete[subs]","text": 'Delete including sub-enteries', id: 'delete[subs]', image: 'delete'}, ]; + var action = _action; var self = this; var delDialog_callBack = function (_buttons) { if (_buttons != "delete[cancel]") { - self.et2.getInstanceManager().submit(_buttons); + if (self.et2._inst.name == "admin.categories.index") + { + var nm_widget = self.et2.getWidgetById('nm'); + if (nm_widget) + { + if (_buttons == "delete[delete]") + { + nm_action(action); + } + else + { + action.id = 'delete_sub'; + nm_action(action); + } + } + } + else + { + self.et2.getInstanceManager().submit(_buttons); + } } }; et2_dialog.show_dialog(delDialog_callBack,"Are you sure you want to delete this category ?","Delete",{},_buttons); diff --git a/admin/templates/default/categories.index.xet b/admin/templates/default/categories.index.xet index 7125b7dd89..61527b04d6 100644 --- a/admin/templates/default/categories.index.xet +++ b/admin/templates/default/categories.index.xet @@ -78,17 +78,6 @@ - - - - - -