diff --git a/src/sunstone/public/app/tabs/users-tab/actions.js b/src/sunstone/public/app/tabs/users-tab/actions.js index bef13f06fa..2758f8a937 100644 --- a/src/sunstone/public/app/tabs/users-tab/actions.js +++ b/src/sunstone/public/app/tabs/users-tab/actions.js @@ -4,60 +4,29 @@ define(function(require) { var Locale = require('utils/locale'); var DataTable = require('./datatable'); var OpenNebulaResource = require('opennebula/user'); + var CommonActions = require('utils/common-actions'); - var RESOURCE = "User"; - var XML_ROOT = "USER"; var TAB_ID = require('./tabId'); var CREATE_DIALOG_ID = require('./form-panels/create/formPanelId'); var PASSWORD_DIALOG_ID = require('./dialogs/password/dialogId'); var AUTH_DRIVER_DIALOG_ID = require('./dialogs/auth-driver/dialogId'); var QUOTAS_DIALOG_ID = require('./dialogs/quotas/dialogId'); + var RESOURCE = "User"; + var XML_ROOT = "USER"; + + var _commonActions = new CommonActions(OpenNebulaResource, RESOURCE, TAB_ID, XML_ROOT); + var _actions = { - "User.create" : { - type: "create", - call: OpenNebulaResource.create, - callback : function(request, response) { - Sunstone.resetFormPanel(TAB_ID, CREATE_DIALOG_ID); - Sunstone.hideFormPanel(TAB_ID); - Sunstone.getDataTable(TAB_ID).addElement(request, response); - }, - error: function(request, response) { - Sunstone.hideFormPanelLoading(TAB_ID); - Notifier.onError(request, response); - }, - notify: true - }, - - "User.create_dialog" : { - type: "custom", - call: function() { - Sunstone.showFormPanel(TAB_ID, CREATE_DIALOG_ID, "create"); - } - }, - - "User.list" : { - type: "list", - call: OpenNebulaResource.list, - callback: function(request, response) { - Sunstone.getDataTable(TAB_ID).updateView(request, response); - }, - error: Notifier.onError - }, - - "User.refresh" : { - type: "custom", - call: function() { - var tab = $('#' + TAB_ID); - if (Sunstone.rightInfoVisible(tab)) { - Sunstone.runAction(RESOURCE+".show", Sunstone.rightInfoResourceId(tab)); - } else { - Sunstone.getDataTable(TAB_ID).waitingNodes(); - Sunstone.runAction(RESOURCE+".list", {force: true}); - } - }, - error: Notifier.onError - }, + "User.create" : _commonActions.create(CREATE_DIALOG_ID), + "User.create_dialog" : _commonActions.showCreate(CREATE_DIALOG_ID), + "User.list" : _commonActions.list(), + "User.show" : _commonActions.show(), + "User.refresh" : _commonActions.refresh(), + "User.delete" : _commonActions.del(), + "User.chgrp": _commonActions.multipleAction('chgrp'), + "User.addgroup": _commonActions.multipleAction('addgroup'), + "User.delgroup": _commonActions.multipleAction('delgroup'), "User.update_password" : { type: "custom", @@ -75,41 +44,6 @@ define(function(require) { error: Notifier.onError }, - "User.chgrp" : { - type: "multiple", - call: OpenNebulaResource.chgrp, - callback : function(req){ - Sunstone.runAction(RESOURCE+".refresh"); - }, - elements: function() { - return Sunstone.getDataTable(TAB_ID).elements(); - }, - error: Notifier.onError, - }, - - "User.addgroup" : { - type: "multiple", - call: OpenNebulaResource.addgroup, - callback : function(req){ - Sunstone.runAction(RESOURCE+".refresh"); - }, - elements: function() { - return Sunstone.getDataTable(TAB_ID).elements(); - }, - error: Notifier.onError, - }, - - "User.delgroup" : { - type: "multiple", - call: OpenNebulaResource.delgroup, - callback : function(req){ - Sunstone.runAction(RESOURCE+".show",req.request.data[0][0]); - }, - elements: function() { - return Sunstone.getDataTable(TAB_ID).elements(); - }, - error: Notifier.onError, - }, "User.change_authentication" : { type: "custom", @@ -124,30 +58,6 @@ define(function(require) { error: Notifier.onError, }, - "User.show" : { - type: "single", - call: OpenNebulaResource.show, - callback: function(request, response) { - Sunstone.getDataTable(TAB_ID).updateElement(request, response); - if (Sunstone.rightInfoVisible($('#'+TAB_ID))) { - Sunstone.insertPanels(TAB_ID, response); - } - }, - error: Notifier.onError - }, - - "User.delete" : { - type: "multiple", - call : OpenNebulaResource.del, - callback : function(request, response) { - Sunstone.getDataTable(TAB_ID).deleteElement(request, response); - }, - elements: function() { - return Sunstone.getDataTable(TAB_ID).elements(); - }, - error: Notifier.onError, - }, - "User.update_template" : { type: "single", call: OpenNebulaResource.update,