From: Charles du Jeu Date: Sat, 19 Sep 2009 19:30:57 +0000 (+0000) Subject: Adapt to the absence of getRolesList() service... X-Git-Tag: argeo-commons-2.1.30~1773 X-Git-Url: https://git.argeo.org/?p=lgpl%2Fargeo-commons.git;a=commitdiff_plain;h=f7c73e12f9534b0b796686e207dd4b43193977fa Adapt to the absence of getRolesList() service... git-svn-id: https://svn.argeo.org/commons/trunk@2982 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/Perspective.js b/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/Perspective.js index 138042195..289637628 100644 --- a/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/Perspective.js +++ b/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/Perspective.js @@ -49,9 +49,9 @@ qx.Class.define("org.argeo.security.ria.Perspective", { initViews : function(viewsManager) { var rolesView = viewsManager.initIViewClass(org.argeo.security.ria.RolesApplet, "roles"); - rolesView.load(); - var usersView = viewsManager.initIViewClass(org.argeo.security.ria.UsersApplet, "users"); + + rolesView.load(); usersView.load(); }, diff --git a/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/RolesApplet.js b/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/RolesApplet.js index da45d965b..676aaa3d9 100644 --- a/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/RolesApplet.js +++ b/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/RolesApplet.js @@ -263,10 +263,11 @@ qx.Class.define("org.argeo.security.ria.RolesApplet", return; } var uniqueValue = this._selectionToValues(selectionModel)[0]; - var initSelection = this.rolesUsersStub[uniqueValue]; + //var initSelection = this.rolesUsersStub[uniqueValue]; + this.usersAppletReference.applySelection(uniqueValue, "roles"); + var initSelection = this.usersAppletReference.getViewSelection().getNodes(); this.setChooserOriginalSelection(initSelection); this.setChooserSelectionModified(false); - this.usersAppletReference.applySelection(initSelection, "username"); this.saveButton.setEnabled(false); }, @@ -304,10 +305,21 @@ qx.Class.define("org.argeo.security.ria.RolesApplet", * Load a given row : the data passed must be a simple data array. * @param data {Element} The text xml description. */ - load : function(){ + load : function(){ + // WARNING, THE USERS APPLET MUST BE LOADED! + var vManager = org.argeo.ria.components.ViewsManager.getInstance(); + this.usersAppletReference = vManager.getViewPaneById("users").getContent(); + + this.usersAppletReference.addListener("changeRolesList", function(event){ + var rolesList = event.getData(); + var data = []; + rolesList.forEach(function(el){data.push([el]);}); + this.tableModel.setData(data); + }, this); + /* var data = [["ROLE_ADMIN"],["ROLE_USER"]]; this.tableModel.setData(data); - + */ var commands = this.getCommands(); this.toolBarPart.add(commands["new_role"].command.getToolbarButton()); this.toolBarPart.add(commands["delete_role"].command.getToolbarButton()); diff --git a/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/SecurityAPI.js b/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/SecurityAPI.js index e138d861b..af3fabf95 100644 --- a/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/SecurityAPI.js +++ b/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/SecurityAPI.js @@ -4,22 +4,19 @@ qx.Class.define("org.argeo.security.ria.SecurityAPI", { DEFAULT_CONTEXT : "/org.argeo.security.webapp", + CREDENTIALS_SERVICE : "getCredentials.security", + USERS_LIST_SERVICE : "getUsersList.security", USER_EXISTS_SERVICE : "userExists.security", DELETE_USER_SERVICE : "deleteUser.security", GET_USER_DETAILS_SERVICE : "getUserDetails.security", CREATE_USER_SERVICE : "createUser.security", UPDATE_USER_PASS_SERVICE : "updateUserPassword.security", + UPDATE_PASS_SERVICE : "updatePassword.security", ROLES_LIST_SERVICE : "getRolesList.security", - GET_USERS_ROLE_SERVICE : "getUsersForRole.security", CREATE_ROLE_SERVICE : "createRole.security", - DELETE_ROLE_SERVICE : "deleteRole.security", - - UPDATE_USER_ROLE_LNK_SERVICE : "updateUserRoleLink.security", - CREATE_NATURE_SERVICE : "createUserNature.security", - DELETE_NATURE_SERVICE : "deleteUserNature.security", - UPDATE_NATURE_SERVICE : "updateUserNature.security", + DELETE_ROLE_SERVICE : "deleteRole.security", /** * Standard Request getter @@ -36,7 +33,23 @@ qx.Class.define("org.argeo.security.ria.SecurityAPI", { "application/json"); }, + /** + * + * @param {qx.io.remote.Request} request + * @param {Array} argumentsArray + * @param {Integer} startIndex + */ parseOptionalArguments : function(request, argumentsArray, startIndex){ + // Attach Error listener + request.addListener("completed", function(response){ + var jSonContent = response.getContent(); + if(typeof jSonContent == "object" && jSonContent.status && jSonContent.status == "ERROR"){ + org.argeo.ria.components.Logger.getInstance().error(jSonContent.message); + } + request.setState("failed"); + }); + + // Attach ILoadStatusables & reloadEvents if(argumentsArray.length <= startIndex) return; var serviceManager = org.argeo.ria.remote.RequestManager.getInstance(); for(var i=startIndex;i