valid : {\r
init : false\r
},\r
+ selfEdition : {\r
+ init : false\r
+ },\r
encoderCallback : {\r
init : function(string){\r
var encoderShort = org.argeo.ria.util.Encoder;\r
}\r
},\r
\r
- construct : function(){\r
+ construct : function(selfEdition){\r
this.base(arguments);\r
+ if(selfEdition){\r
+ this.setSelfEdition(selfEdition);\r
+ }\r
this.setLayout(new qx.ui.layout.HBox(5, "center"));\r
- this.add(new qx.ui.basic.Label("Password"), {flex:1});\r
+ this.getLayout().setAlignY("middle");\r
+ if(this.getSelfEdition()){\r
+ this.oldPass = new qx.ui.form.PasswordField();\r
+ this.add(new qx.ui.basic.Label("Old"), {flex:1});\r
+ this.add(this.oldPass, {flex:2});\r
+ this.oldPass.addListener("changeValue", function(){this.fireEvent("modified");}, this);\r
+ }\r
+ this.add(new qx.ui.basic.Label((selfEdition?"New":"Password")), {flex:1});\r
this.pass1 = new qx.ui.form.PasswordField();\r
this.add(this.pass1, {flex:2});\r
- this.add(new qx.ui.basic.Label("Confirm Password"), {flex:1});\r
+ this.add(new qx.ui.basic.Label((selfEdition?"Confirm":"Confirm Password")), {flex:1});\r
this.pass2 = new qx.ui.form.PasswordField();\r
this.add(this.pass2, {flex:2});\r
this.pass1.addListener("changeValue", function(){this.fireEvent("modified");}, this);\r
return this;\r
},\r
getData : function(format){\r
- var encoded = null;\r
+ var encoder = this.getEncoderCallback();\r
+ var encoded = null; \r
if(this.pass1.getValue() != null && this.pass1.getValue() != ""){\r
- var encoder = this.getEncoderCallback();\r
encoded = encoder(this.pass1.getValue()); \r
}\r
+ if(this.getSelfEdition() && encoded && this.oldPass.getValue()!=""){\r
+ return {oldPass:encoder(this.oldPass.getValue()), newPass:encoded};\r
+ }\r
return encoded;\r
},\r
clear : function(){\r
this.pass1.setValue("");\r
- this.pass2.setValue(""); \r
+ this.pass2.setValue(""); \r
+ if(this.getSelfEdition()){\r
+ this.oldPass.setValue("");\r
+ }\r
},\r
validate : function(){\r
if(this.pass1.getValue() != this.pass2.getValue()){\r
this.pass1.setValid(false);\r
- this.pass2.setValid(false); \r
- this.setValid(false);\r
+ this.pass2.setValid(false);\r
+ this.setValid(false); \r
}else{\r
this.pass1.setValid(true);\r
this.pass2.setValid(true); \r