- var userService = user.getSaveService();
- userService.send();
- userService.addListener("completed", function(e){
+ if(user.isCreate()){
+ if(!this.passPane.validate()){
+ this.error("Warning, passwords differ!");
+ return;
+ }
+ user.setPassword(this.passPane.getData());
+ var create = true;
+ 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;
+ }
+ }else{
+ var pass = this.passPane.getData();
+ if(pass != null && !this.passPane.validate()){
+ this.error("Warning, passwords differ!");
+ return;
+ }
+ }
+ this.passPane.clear();
+ var saveCompletedCallback = qx.lang.Function.bind(function(){
+ if(create){
+ this.setInstanceLabel("User " + user.getName());
+ this.setInstanceId(user.getName());
+ }
+ this._setGuiInCreateMode(false);