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%2Fmodel%2FUser.js;h=c3f46970d5f07dfe2571726a46fa8996f2d76d67;hb=81ad0fe524583322157b193ed1115c319f356bcd;hp=4595fbcb5b103829aa9487fff848afbe0253eb10;hpb=1af54f2dad396ac71d9872d82c2981e4ac9c2281;p=lgpl%2Fargeo-commons.git diff --git a/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/model/User.js b/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/model/User.js index 4595fbcb5..c3f46970d 100644 --- a/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/model/User.js +++ b/security/runtime/org.argeo.security.ria/src/argeo-ria-lib/security/class/org/argeo/security/ria/model/User.js @@ -5,6 +5,10 @@ qx.Class.define("org.argeo.security.ria.model.User", { init : "", check : "String" }, + password : { + nullable : true, + check : "String" + }, roles : { check : "Array" }, @@ -13,33 +17,44 @@ qx.Class.define("org.argeo.security.ria.model.User", { }, rawData : { + }, + create : { + check : "Boolean", + init : true } }, construct : function(){ this.base(arguments); this.setRoles([]); this.setNatures([]); + this.setRawData({password:null}); }, members : { load : function(data, format){ + this.setCreate(false); this.setName(data.username); this.setRoles(data.roles); this.setNatures(data.userNatures); this.setRawData(data); }, getSaveService : function(){ - var userService = org.argeo.security.ria.SecurityAPI.getUpdateUserService(this.toJSON()); + if(this.isCreate()){ + var userService = org.argeo.security.ria.SecurityAPI.getCreateUserService(this.toJSON(true)); + }else{ + var userService = org.argeo.security.ria.SecurityAPI.getUpdateUserService(this.toJSON()); + } userService.addListener("completed", function(response){ if(!response || !response.username) return; this.load(response.getContent(), "json"); }, this); return userService; }, - toJSON : function(){ + toJSON : function(create){ var rawData = this.getRawData(); rawData.username = this.getName(); rawData.roles = this.getRoles(); rawData.userNatures = this.getNatures(); + if(create) rawData.password = this.getPassword(); return rawData; }, _getNatureByType : function(natureType){