\r
DEFAULT_CONTEXT : "/org.argeo.security.webapp",\r
\r
+ CREDENTIALS_SERVICE : "getCredentials.security",\r
+ \r
USERS_LIST_SERVICE : "getUsersList.security",\r
USER_EXISTS_SERVICE : "userExists.security", \r
DELETE_USER_SERVICE : "deleteUser.security",\r
GET_USER_DETAILS_SERVICE : "getUserDetails.security",\r
CREATE_USER_SERVICE : "createUser.security",\r
UPDATE_USER_PASS_SERVICE : "updateUserPassword.security",\r
+ UPDATE_PASS_SERVICE : "updatePassword.security",\r
\r
ROLES_LIST_SERVICE : "getRolesList.security",\r
- GET_USERS_ROLE_SERVICE : "getUsersForRole.security",\r
CREATE_ROLE_SERVICE : "createRole.security",\r
- DELETE_ROLE_SERVICE : "deleteRole.security",\r
- \r
- UPDATE_USER_ROLE_LNK_SERVICE : "updateUserRoleLink.security",\r
- CREATE_NATURE_SERVICE : "createUserNature.security",\r
- DELETE_NATURE_SERVICE : "deleteUserNature.security",\r
- UPDATE_NATURE_SERVICE : "updateUserNature.security",\r
+ DELETE_ROLE_SERVICE : "deleteRole.security", \r
\r
/**\r
* Standard Request getter\r
"application/json");\r
},\r
\r
+ /**\r
+ * \r
+ * @param {qx.io.remote.Request} request\r
+ * @param {Array} argumentsArray\r
+ * @param {Integer} startIndex\r
+ */\r
parseOptionalArguments : function(request, argumentsArray, startIndex){\r
+ // Attach Error listener\r
+ request.addListener("completed", function(response){\r
+ var jSonContent = response.getContent(); \r
+ if(typeof jSonContent == "object" && jSonContent.status && jSonContent.status == "ERROR"){\r
+ org.argeo.ria.components.Logger.getInstance().error(jSonContent.message);\r
+ }\r
+ request.setState("failed");\r
+ });\r
+\r
+ // Attach ILoadStatusables & reloadEvents\r
if(argumentsArray.length <= startIndex) return;\r
var serviceManager = org.argeo.ria.remote.RequestManager.getInstance();\r
for(var i=startIndex;i<argumentsArray.length;i++){\r
}\r
},\r
\r
+ getCredentialsService : function(){\r
+ var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.CREDENTIALS_SERVICE);\r
+ org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 0);\r
+ return req; \r
+ },\r
+ \r
/**\r
* @return {qx.io.remote.Request}\r
*/\r
- getListUsersService : function(){\r
+ getListUsersService : function(getNatures){\r
var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.USERS_LIST_SERVICE);\r
org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
+ req.setParameter("getNatures", (getNatures || false));\r
return req;\r
},\r
\r
getUserExistsService : function(userName){\r
var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.USER_EXISTS_SERVICE);\r
org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
- req.addParameter("userName", userName);\r
+ req.setParameter("username", userName);\r
return req;\r
},\r
\r
getDeleteUserService : function(userName){\r
var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.DELETE_USER_SERVICE);\r
org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
- req.addParameter("userName", userName);\r
+ req.setParameter("username", userName);\r
return req;\r
},\r
\r
getUserDetailsService : function(userName){\r
var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.GET_USER_DETAILS_SERVICE);\r
org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
- req.addParameter("userName", userName);\r
+ req.setParameter("username", userName);\r
return req;\r
},\r
\r
/**\r
* @return {qx.io.remote.Request}\r
*/\r
- getCreateUserService : function(userName){\r
+ getCreateUserService : function(userName, password){\r
var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.CREATE_USER_SERVICE);\r
- org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
- req.addParameter("userName", userName);\r
+ org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 2);\r
+ req.setParameter("username", userName);\r
+ req.setParameter("password", password);\r
return req;\r
},\r
\r
/**\r
* @return {qx.io.remote.Request}\r
*/\r
- getUpdateUserPassService : function(userName, userPassword){\r
+ getUpdatePassService : function(oldPassword, newPassword){\r
var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.UPDATE_USER_PASS_SERVICE);\r
- org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
- req.addParameter("userName", userName);\r
- req.addParameter("userPassword", userPassword);\r
+ org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 2);\r
+ req.setParameter("password", newPassword);\r
+ req.setParameter("oldpassword", oldPassword);\r
return req;\r
},\r
\r
/**\r
* @return {qx.io.remote.Request}\r
*/\r
- getListRolesService : function(){\r
- var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.ROLES_LIST_SERVICE);\r
- org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
+ getUpdateUserPassService : function(userName, userPassword){\r
+ var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.UPDATE_USER_PASS_SERVICE);\r
+ org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 2);\r
+ req.setParameter("username", userName);\r
+ req.setParameter("password", userPassword);\r
return req;\r
},\r
\r
/**\r
* @return {qx.io.remote.Request}\r
*/\r
- getUsersForRolesService : function(){\r
- var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.GET_USERS_ROLE_SERVICE);\r
- org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
+ getListRolesService : function(){\r
+ var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.ROLES_LIST_SERVICE);\r
+ org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 0);\r
return req;\r
},\r
- \r
+ \r
/**\r
* @return {qx.io.remote.Request}\r
*/\r
getCreateRoleService : function(roleName){\r
var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.CREATE_ROLE_SERVICE);\r
org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
+ req.setParameter("role", roleName);\r
return req;\r
},\r
\r
getDeleteRoleService : function(roleName){\r
var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.DELETE_ROLE_SERVICE);\r
org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
+ req.setParameter("role", roleName);\r
return req;\r
- },\r
- \r
- /**\r
- * @return {qx.io.remote.Request}\r
- */\r
- getUpdateUserRoleLinkService : function(roleName, userName){\r
- var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.UPDATE_USER_ROLE_LNK_SERVICE);\r
- org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
- req.addParameter("roleName", roleName);\r
- req.addParameter("userName", userName);\r
- return req;\r
- },\r
- \r
- /**\r
- * @return {qx.io.remote.Request}\r
- */\r
- getCreateNatureService : function(natureData){\r
- var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.CREATE_NATURE_SERVICE);\r
- org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
- req.addParameter("natureData", natureData);\r
- return req;\r
- },\r
- \r
- /**\r
- * @return {qx.io.remote.Request}\r
- */\r
- getDeleteNatureService : function(natureUuid){\r
- var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.DELETE_NATURE_SERVICE);\r
- org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
- req.addParamter("natureUuid", natureUuid);\r
- return req;\r
- },\r
- \r
- /**\r
- * @return {qx.io.remote.Request}\r
- */\r
- getUpdateNatureService : function(natureUuid, natureData){\r
- var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.UPDATE_NATURE_SERVICE);\r
- org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
- req.addParamter("natureUuid", natureUuid);\r
- req.addParameter("natureData", natureData);\r
- return req;\r
- } \r
+ } \r
}\r
});
\ No newline at end of file
*/
commands : {
init : {
+ "load_users" : {
+ label : "Reload Users",
+ icon : "org.argeo.security.ria/view-refresh.png",
+ shortcut : "Control+h",
+ enabled : true,
+ menu : "Users",
+ toolbar : "users",
+ callback : function(e){
+ this.loadUsersList();
+ },
+ command : null
+ },
"new_user" : {
label : "New User",
icon : "org.argeo.security.ria/list-add.png",
},
usersList : {
check : "Map",
+ apply : "_applyUsersList",
event : "changeUsersList"
},
+ rolesList : {
+ check : "Array",
+ event : "changeRolesList"
+ },
instanceId : {init:""},
instanceLabel : {init:""}
},
this.setView(viewPane);
this.setViewSelection(new org.argeo.ria.components.ViewSelection(viewPane.getViewId()));
- this.setUsersList({});
this.toolBar = new qx.ui.toolbar.ToolBar();
this.toolBarPart = new qx.ui.toolbar.Part();
this.toolBar.add(this.toolBarPart);
this.table.addListener("cellDblclick", function(cellEvent){
this.getCommands()["edit_user"].command.execute();
}, this);
- this.addListener("changeUsersList", function(){
- this._updateTableModel();
- }, this);
+
+ this.setUsersList({});
this.setGuiMode("clear");
},
this.toolBarPart.add(commands["delete_user"].command.getToolbarButton());
this.toolBarPart.add(commands["edit_user"].command.getToolbarButton());
this.toolBar.setShow("icon");
-
+ this.loadUsersList();
+ },
+
+ loadUsersList : function(){
var request = org.argeo.security.ria.SecurityAPI.getListUsersService();
request.addListener("completed", function(response){
var jSon = response.getContent();
}
this.setUsersList(usMap);
}, this);
- request.send();
+ request.send();
},
- _updateTableModel : function(){
- var usList = this.getUsersList();
+ _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);
},
-
- applySelection : function(selectionValues, target){
+
+ applySelection : function(selectionValue, target, ignoreCase){
var selectionModel = this.table.getSelectionModel();
selectionModel.clearSelection();
- if(!selectionValues){
+ if(!selectionValue){
return;
}
selectionModel.setBatchMode(true);
var data = this.tableModel.getData();
for(var i=0;i<this.tableModel.getRowCount();i++){
var value = this.tableModel.getRowDataAsMap(i)[target];
- if(qx.lang.Array.contains(selectionValues, value)){
+ var pattern = new RegExp(selectionValue, "g"+(ignoreCase?"i":""));
+ if(pattern.test(value)){
selectionModel.addSelectionInterval(i, i);
}
}