- // GO TO AND RETURN FROM SERVER
- user.setNatures([
- {
- "email" : "",
- "firstName" : "",
- "lastName" : "",
- "type" : "org.argeo.security.nature.SimpleUserNature"
- }]
- );
- this.partialRefreshUser(user, ["details","natures"]);
- this.setModified(false);
+ // GO TO AND RETURN FROM SERVER
+ if(user.isCreate()){
+ var userExists = false;
+ var req = org.argeo.security.ria.SecurityAPI.getUserExistsService(user.getName());
+ req.addListener("completed", function(response){
+ userExists = response.getContent().value;
+ }, this);
+ req.setAsynchronous(false);
+ req.send();
+ if(userExists){
+ this.error("User already exists, choose another name!");
+ return;
+ }
+ }
+ var userService = user.getSaveService();
+ userService.send();
+ userService.addListener("completed", function(response){
+ if(response.getContent().status && response.getContent().status == "ERROR"){
+ return;
+ }
+ this._setGuiInCreateMode(false);
+ user.load(response.getContent(), "json");
+ this.partialRefreshUser(user, ["details","natures"]);
+ this.setModified(false);
+ this.getViewSelection().triggerEvent();
+ this.fireDataEvent("savedUser", user);
+ }, this);