From f7c73e12f9534b0b796686e207dd4b43193977fa Mon Sep 17 00:00:00 2001 From: Charles du Jeu Date: Sat, 19 Sep 2009 19:30:57 +0000 Subject: [PATCH] Adapt to the absence of getRolesList() service... git-svn-id: https://svn.argeo.org/commons/trunk@2982 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../org/argeo/security/ria/Perspective.js | 4 +- .../org/argeo/security/ria/RolesApplet.js | 20 ++- .../org/argeo/security/ria/SecurityAPI.js | 119 ++++++++---------- .../org/argeo/security/ria/UsersApplet.js | 46 +++++-- .../org.argeo.security.ria/view-refresh.png | Bin 0 -> 934 bytes 5 files changed, 103 insertions(+), 86 deletions(-) create mode 100644 security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/resource/org.argeo.security.ria/view-refresh.png 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{=lkBi-SyhBlR7C)T-v5-)li@~idq_w zBBg*Ts4y39fJDV#021QFsaz{KA}&arxS$A2AQUPPC{+9q0o*Eu(jE+NHFg;M?#?T4C}8B`%5 z9Qu0Z?Ae*Qsi%~%1@0#k8C0&kQjADKBl`MB}}9~2N; ztrqHyI*17q4^AL6m;nHsI$l<%Cdx2r3IT#e6*@6;VDQrMBPUg>-GWIBmVQ~npKCYa z7=?_T!Qv0!VyINandvha$`1hyNR|*JU=iV!QsJP}(>?Tb57(|=!#~ZtoOM+cMDdj{ zjg2SN`L=G^3x6%p?8#ZU?1CbKB!cC5YK{$PtG$Je-$DJ(ZFrvQclzODT;*F-p(&E| z3_nWrz~TMqT3z&a`tY}XPztt`Bg)#uNPHj7f18j-pclno?$+hG&aljj%)n3%$!3Uk ze-+)$F1VK>(dG-vzN{j%BNZ$lc4DZQ5JhIe%%|t~Y{LamP>{sLCIy=m9P_8#6`?ji zB1oW>hAA5GQNVHKELG^lo(9JR(MNV!7OiO#_8}P$z~C7^cg_pDC@bxA@}=aES(EuUe&pzA#aEcx=0Pe^LQxZswIrWjSeL6l#Q%o zqiA`syOIS6ye~}xO4fCp)Pg8lj=SdX{vXLg|ATm4aFuWLb^Nxstzy?w$k-OLj)LV8 za0C=iCKQdND(l(Da*q9Q!S*J@TKbmWNX7wRce9sU8^KqDt8O?bGH{gwWeJ`A8rx%i zv`00%BO&sZb1b+XoeSF0GJtRX2XK`cz_az0&YO+Jou1qjDFp=EwIB-uswaWp!N1No zbp57(8H^Y2WkC12^I-t50(epinq~&2%ryYt0eGLQe0#6|KSQi=IDDePAOHXW07*qo IM6N<$g3chO)c^nh literal 0 HcmV?d00001 -- 2.30.2