X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=security%2Fruntime%2Forg.argeo.security.ria%2Fsrc%2Fargeo-ria-lib%2Fsecurity%2Fclass%2Forg%2Fargeo%2Fsecurity%2Fria%2FUsersApplet.js;h=b107a3ee4a6dc82b368cebd138bff9c1f24b45b0;hb=b9f0dc6d3192adcbd4e9de8053b087e36759820e;hp=6a00e787cdcb9d2b82db3826169e907063761cc2;hpb=f7c73e12f9534b0b796686e207dd4b43193977fa;p=lgpl%2Fargeo-commons.git diff --git a/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/UsersApplet.js b/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/UsersApplet.js index 6a00e787c..b107a3ee4 100644 --- a/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/UsersApplet.js +++ b/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/UsersApplet.js @@ -50,8 +50,12 @@ qx.Class.define("org.argeo.security.ria.UsersApplet", callback : function(e){ // Call service to delete var classObj = org.argeo.security.ria.UserEditorApplet; - var iView = org.argeo.ria.components.ViewsManager.getInstance().initIViewClass(classObj, "editor"); + var initData = {USER:null,ROLES_LIST:this.getRolesList()}; + var iView = org.argeo.ria.components.ViewsManager.getInstance().initIViewClass(classObj, "editor", initData); iView.load(); + iView.addListener("savedUser", function(e){ + this.refreshUserEntry(e.getData()); + }, this); }, command : null }, @@ -64,14 +68,44 @@ qx.Class.define("org.argeo.security.ria.UsersApplet", toolbar : null, callback : function(e){ // Call service to delete - var crtUsers = this.getViewSelection().getNodes(); - for(var i=0;i1)); }, command : null }, @@ -84,11 +118,14 @@ qx.Class.define("org.argeo.security.ria.UsersApplet", toolbar : null, callback : function(e){ // Call service to delete - var crtUser = this.getViewSelection().getNodes()[0]; - var userObject = this.getUsersList()[crtUser]; + var crtUser = this.getViewSelection().getNodes()[0]; var classObj = org.argeo.security.ria.UserEditorApplet; - var iView = org.argeo.ria.components.ViewsManager.getInstance().initIViewClass(classObj, "editor", crtUser); - iView.load(userObject); + var initData = {USER:crtUser,ROLES_LIST:this.getRolesList()}; + var iView = org.argeo.ria.components.ViewsManager.getInstance().initIViewClass(classObj, "editor", initData); + iView.load(crtUser); + iView.addListener("savedUser", function(e){ + this.refreshUserEntry(e.getData()); + }, this); }, selectionChange : function(viewName, data){ if(viewName != "users") return; @@ -114,8 +151,7 @@ qx.Class.define("org.argeo.security.ria.UsersApplet", event : "changeUsersList" }, rolesList : { - check : "Array", - event : "changeRolesList" + check : "Array" }, instanceId : {init:""}, instanceLabel : {init:""} @@ -155,6 +191,7 @@ qx.Class.define("org.argeo.security.ria.UsersApplet", this.getCommands()["edit_user"].command.execute(); }, this); + this.setRolesList([]); this.setUsersList({}); this.setGuiMode("clear"); }, @@ -204,9 +241,18 @@ qx.Class.define("org.argeo.security.ria.UsersApplet", this.toolBarPart.add(commands["edit_user"].command.getToolbarButton()); this.toolBar.setShow("icon"); this.loadUsersList(); + + var rolesApplet = org.argeo.ria.components.ViewsManager.getInstance().getViewPaneById("roles").getContent(); + rolesApplet.addListener("changeRolesList", function(e){ + this.setRolesList(e.getData()); + this.loadUsersList(); + }, this); + }, loadUsersList : function(){ + var selectionModel = this.table.getSelectionModel(); + selectionModel.clearSelection(); var request = org.argeo.security.ria.SecurityAPI.getListUsersService(); request.addListener("completed", function(response){ var jSon = response.getContent(); @@ -221,15 +267,34 @@ qx.Class.define("org.argeo.security.ria.UsersApplet", request.send(); }, + /** + * + * @param {org.argeo.security.ria.model.User} userObject + */ + refreshUserEntry : function(userObject){ + var userName = userObject.getName(); + var data = this.tableModel.getDataAsMapArray(); + var index = 0; + var found = false; + for(index=0;index