]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/SecurityAPI.js
User self edition case
[lgpl/argeo-commons.git] / security / runtime / org.argeo.security.ria / src / argeo-ria-lib / security / class / org / argeo / security / ria / SecurityAPI.js
index 962f402d25d24376d2a1967c9ba71971b12aed59..55b9053b49be4cf082c32f2d08b8f120ff6ecf0d 100644 (file)
@@ -10,6 +10,7 @@ qx.Class.define("org.argeo.security.ria.SecurityAPI", {
                USER_EXISTS_SERVICE : "userExists.security",            \r
                DELETE_USER_SERVICE : "deleteUser.security",\r
                UPDATE_USER_SERVICE : "updateUser.security",\r
+               UPDATE_USER_SELF_SERVICE : "updateUserSelf.security",\r
                GET_USER_DETAILS_SERVICE : "getUserDetails.security",\r
                CREATE_USER_SERVICE : "createUser.security",\r
                UPDATE_USER_PASS_SERVICE : "updateUserPassword.security",\r
@@ -46,8 +47,8 @@ qx.Class.define("org.argeo.security.ria.SecurityAPI", {
                                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
+                                       response.getTarget().abort();\r
+                               }                               \r
                        });\r
 \r
                        // Attach ILoadStatusables & reloadEvents\r
@@ -55,7 +56,7 @@ qx.Class.define("org.argeo.security.ria.SecurityAPI", {
                        var serviceManager = org.argeo.ria.remote.RequestManager.getInstance();\r
                        for(var i=startIndex;i<argumentsArray.length;i++){\r
                                var argument = argumentsArray[i];\r
-                               if(qx.lang.Array.isArray(argument)){\r
+                               if(qx.lang.Type.isArray(argument)){\r
                                        serviceManager.attachILoadStatusables(request, argument);\r
                                }else if(typeof argument == "string"){\r
                                        serviceManager.attachReloadEventType(request, argument);\r
@@ -102,8 +103,9 @@ qx.Class.define("org.argeo.security.ria.SecurityAPI", {
                /**\r
                 * @return  {qx.io.remote.Request}\r
                 */\r
-               getUpdateUserService : function(userObject){\r
-                       var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.UPDATE_USER_SERVICE);\r
+               getUpdateUserService : function(userObject, self){\r
+                       var service = (self?org.argeo.security.ria.SecurityAPI.UPDATE_USER_SELF_SERVICE:org.argeo.security.ria.SecurityAPI.UPDATE_USER_SERVICE);\r
+                       var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(service);\r
                        req.setMethod("POST");\r
                        org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
                        var jsonString = qx.util.Json.stringify(userObject);\r
@@ -124,11 +126,12 @@ qx.Class.define("org.argeo.security.ria.SecurityAPI", {
                /**\r
                 * @return  {qx.io.remote.Request}\r
                 */\r
-               getCreateUserService : function(userName, password){\r
+               getCreateUserService : function(userObject){\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, 2);\r
-                       req.setParameter("username", userName);\r
-                       req.setParameter("password", password);\r
+                       req.setMethod("POST");\r
+                       org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 1);\r
+                       var jsonString = qx.util.Json.stringify(userObject);\r
+                       req.setData(jsonString);\r
                        return req;\r
                },\r
                \r
@@ -136,10 +139,10 @@ qx.Class.define("org.argeo.security.ria.SecurityAPI", {
                 * @return  {qx.io.remote.Request}\r
                 */\r
                getUpdatePassService : function(oldPassword, newPassword){\r
-                       var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.UPDATE_USER_PASS_SERVICE);\r
+                       var req = org.argeo.security.ria.SecurityAPI.getServiceRequest(org.argeo.security.ria.SecurityAPI.UPDATE_PASS_SERVICE);\r
                        org.argeo.security.ria.SecurityAPI.parseOptionalArguments(req, arguments, 2);\r
                        req.setParameter("password", newPassword);\r
-                       req.setParameter("oldpassword", oldPassword);\r
+                       req.setParameter("oldPassword", oldPassword);\r
                        return req;\r
                },\r
                \r