X-Git-Url: http://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=206bf1436f564a40fa2d3e27dae4eaa741934679;hb=1af54f2dad396ac71d9872d82c2981e4ac9c2281;hp=6a00e787cdcb9d2b82db3826169e907063761cc2;hpb=b9d6c8b6386de221d1a316f8e2c1ffec4b7bffce;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..206bf1436 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,7 +50,8 @@ 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(); }, command : null @@ -87,7 +88,8 @@ qx.Class.define("org.argeo.security.ria.UsersApplet", var crtUser = this.getViewSelection().getNodes()[0]; var userObject = this.getUsersList()[crtUser]; var classObj = org.argeo.security.ria.UserEditorApplet; - var iView = org.argeo.ria.components.ViewsManager.getInstance().initIViewClass(classObj, "editor", crtUser); + var initData = {USER:crtUser,ROLES_LIST:this.getRolesList()}; + var iView = org.argeo.ria.components.ViewsManager.getInstance().initIViewClass(classObj, "editor", initData); iView.load(userObject); }, selectionChange : function(viewName, data){ @@ -114,8 +116,7 @@ qx.Class.define("org.argeo.security.ria.UsersApplet", event : "changeUsersList" }, rolesList : { - check : "Array", - event : "changeRolesList" + check : "Array" }, instanceId : {init:""}, instanceLabel : {init:""} @@ -155,6 +156,7 @@ qx.Class.define("org.argeo.security.ria.UsersApplet", this.getCommands()["edit_user"].command.execute(); }, this); + this.setRolesList([]); this.setUsersList({}); this.setGuiMode("clear"); }, @@ -204,6 +206,13 @@ 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(){ @@ -223,13 +232,9 @@ qx.Class.define("org.argeo.security.ria.UsersApplet", _applyUsersList : function(usList){ var data = []; - var rolesList = []; qx.lang.Object.getValues(usList).forEach(function(usObject){ - var roles = usObject.getRoles(); - rolesList = qx.lang.Array.unique(rolesList.concat(roles)); data.push([usObject.getName(), usObject.getRoles().join(",")]); }); - this.setRolesList(rolesList); this.tableModel.setData(data); },