2011-01-20 16:01:53 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<dynaForm name= "myInfo" width= "70%" labelWidth= "300px" mode= "edit" enableTemplate= "1" >
<menuUser type= "xmlmenu" xmlfile= "users/users_NewOptions" >
<en />
</menuUser>
<START_DATE type= "phpVariable" />
<DEFAULT_ROLE type= "phpVariable" />
<END_DATE type= "phpVariable" />
<TITLE3 type= "title" group= "1" >
<en > Profile</en>
</TITLE3>
<USR_PHOTO type= "file" group= "1" >
<en > Photo</en>
</USR_PHOTO>
<USR_RESUME type= "file" group= "1" >
<en > Resume</en>
</USR_RESUME>
<TITLE1 type= "title" group= "1" >
<en > Personal Information</en>
</TITLE1>
<USR_UID type= "private" />
<USR_FIRSTNAME type= "text" size= "30" maxlength= "32" defaultvalue= "" required= "1" group= "1" dependentfields= "" linkfield= "" strto= "" readonly= "0" noshowingrid= "0" readonlyingrid= "0" totalizeable= "0" sqlconnection= "" >
<en > First Name</en>
</USR_FIRSTNAME>
<USR_LASTNAME type= "text" size= "30" maxlength= "32" defaultvalue= "" required= "1" group= "1" dependentfields= "" linkfield= "" strto= "" readonly= "0" noshowingrid= "0" readonlyingrid= "0" totalizeable= "0" sqlconnection= "" >
<en > Last Name</en>
</USR_LASTNAME>
2011-01-27 15:24:56 +00:00
<USR_USERNAME type= "text" size= "15" maxlength= "50" validate= "Login" defaultvalue= "" required= "1" group= "1" dependentfields= "" linkfield= "" strto= "" readonly= "0" noshowingrid= "0" readonlyingrid= "0" totalizeable= "0" onchange= "" >
2011-01-20 16:01:53 +00:00
<en > User ID (*)</en>
</USR_USERNAME>
<USR_EMAIL type= "text" size= "35" maxlength= "100" validate= "Email" defaultvalue= "" required= "0" group= "1" dependentfields= "" linkfield= "" strto= "" readonly= "0" noshowingrid= "0" readonlyingrid= "0" totalizeable= "0" sqlconnection= "" >
<en > Email</en>
</USR_EMAIL>
<USR_ADDRESS type= "textarea" rows= "3" cols= "50" defaultvalue= "" required= "0" group= "1" dependentfields= "" linkfield= "" strto= "" readonly= "0" noshowingrid= "0" readonlyingrid= "0" totalizeable= "0" sqlconnection= "" >
<en > Address</en>
</USR_ADDRESS>
<USR_ZIP_CODE type= "text" size= "30" maxlength= "30" defaultvalue= "" required= "0" group= "1" dependentfields= "" linkfield= "" strto= "" readonly= "0" noshowingrid= "0" readonlyingrid= "0" totalizeable= "0" sqlconnection= "" >
<en > Zip Code</en>
</USR_ZIP_CODE>
<USR_COUNTRY type= "dropdown" style= "width:174pt" defaultvalue= "" required= "0" group= "1" dependentfields= "USR_CITY" readonly= "0" sqlconnection= "" noshowingrid= "0" readonlyingrid= "0" >
2010-12-02 23:34:41 +00:00
SELECT IC_UID, IC_NAME FROM ISO_COUNTRY ORDER BY IC_NAME
2011-01-20 16:01:53 +00:00
<en > Country<option name= "" /> </en>
2011-01-27 15:24:56 +00:00
</USR_COUNTRY>
2011-01-20 16:01:53 +00:00
<USR_CITY type= "dropdown" style= "width:174pt" defaultvalue= "" required= "0" group= "1" dependentfields= "USR_LOCATION" readonly= "0" sqlconnection= "" noshowingrid= "0" readonlyingrid= "0" >
2010-12-02 23:34:41 +00:00
SELECT IS_UID, IS_NAME FROM ISO_SUBDIVISION WHERE IC_UID = "@#USR_COUNTRY" ORDER BY IS_NAME
<en > State or Region</en>
2011-01-27 15:24:56 +00:00
</USR_CITY>
2011-01-20 16:01:53 +00:00
<USR_LOCATION type= "dropdown" style= "width:174pt" defaultvalue= "" required= "0" group= "1" readonly= "0" sqlconnection= "" noshowingrid= "0" readonlyingrid= "0" >
2010-12-02 23:34:41 +00:00
SELECT IL_UID, IL_NAME FROM ISO_LOCATION WHERE IC_UID = "@#USR_COUNTRY" AND IS_UID = "@#USR_CITY" AND IS_UID NOT IN ("") ORDER BY IL_NAME
<en > Location</en>
2011-01-27 15:24:56 +00:00
</USR_LOCATION>
2011-01-20 16:01:53 +00:00
<USR_PHONE type= "text" size= "15" maxlength= "16" defaultvalue= "" required= "0" group= "1" dependentfields= "" linkfield= "" strto= "" readonly= "0" noshowingrid= "0" readonlyingrid= "0" totalizeable= "0" sqlconnection= "" >
<en > Phone</en>
</USR_PHONE>
<USR_POSITION type= "text" size= "35" maxlength= "35" defaultvalue= "" required= "0" group= "1" dependentfields= "" linkfield= "" strto= "" readonly= "0" noshowingrid= "0" readonlyingrid= "0" totalizeable= "0" sqlconnection= "" >
<en > Position</en>
</USR_POSITION>
<USR_REPORTS_TO type= "dropdown" defaultvalue= "" required= "0" group= "1" dependentfields= "" readonly= "0" sqlconnection= "dbarray" noshowingrid= "0" readonlyingrid= "0" >
2010-12-02 23:34:41 +00:00
SELECT * FROM aUserInfo
2011-01-20 16:01:53 +00:00
<en > Reports to<option name= "" /> </en>
2011-01-27 15:24:56 +00:00
</USR_REPORTS_TO>
2011-01-20 16:01:53 +00:00
<USR_REPLACED_BY type= "dropdown" defaultvalue= "" required= "0" group= "1" dependentfields= "" readonly= "0" sqlconnection= "dbarray" noshowingrid= "0" readonlyingrid= "0" >
2010-12-02 23:34:41 +00:00
SELECT * FROM aUserInfo
2011-01-20 16:01:53 +00:00
<en > Replaced by<option name= "" /> </en>
2011-01-27 15:24:56 +00:00
</USR_REPLACED_BY>
2011-01-20 16:01:53 +00:00
<USR_DUE_DATE type= "date" mask= "Y-m-d" startDate= "@#START_DATE" endDate= "@#END_DATE" defaultvalue= "" required= "1" group= "1" readonly= "0" noshowingrid= "0" readonlyingrid= "0" >
<en > Expiration Date</en>
</USR_DUE_DATE>
<USR_CALENDAR type= "dropdown" sqlconnection= "dbarray" >
2010-12-02 23:34:41 +00:00
SELECT CALENDAR_UID, CALENDAR_NAME FROM availableCalendars
<en > Calendar
<option name= "" > - None -</option>
</en>
2011-01-27 15:24:56 +00:00
</USR_CALENDAR>
2011-01-20 16:01:53 +00:00
<USR_STATUS type= "dropdown" group= "1" required= "0" >
<en > Status
2011-01-27 15:24:56 +00:00
<option name= "ACTIVE" > ACTIVE</option>
<option name= "INACTIVE" > INACTIVE</option>
<option name= "VACATION" > ON VACATION</option>
</en>
2011-01-20 16:01:53 +00:00
</USR_STATUS>
<USR_ROLE type= "dropdown" defaultvalue= "" required= "0" group= "1" dependentfields= "" readonly= "0" sqlconnection= "rbac" noshowingrid= "0" readonlyingrid= "0" >
2011-01-13 20:20:49 +00:00
SELECT ROL_CODE AS USR_ROLE, ROL_CODE AS CODE FROM ROLES WHERE ROL_SYSTEM = '00000000000000000000000000000002' AND ROL_STATUS = 1 ORDER BY FIELD(ROL_CODE,'@#DEFAULT_ROLE') DESC
2010-12-02 23:34:41 +00:00
<en > Role</en>
2011-01-27 15:24:56 +00:00
</USR_ROLE>
2011-01-20 16:01:53 +00:00
<TITLE2 type= "title" group= "1" >
<en > Change Password</en>
</TITLE2>
<USR_NEW_PASS type= "password" size= "30" maxlength= "20" validate= "5" mask= "" required= "1" >
<en > New Password </en>
</USR_NEW_PASS>
<USR_CNF_PASS type= "password" size= "30" maxlength= "20" validate= "5" mask= "" required= "1" >
<en > Confirm Password </en>
</USR_CNF_PASS>
<SUBMIT type= "button" onclick= "validateLocalFields(this.form);" group= "1" >
<en > Save</en>
</SUBMIT>
<BTN_CANCEL type= "button" onclick= "cancel();" >
<en > Cancel</en>
</BTN_CANCEL>
<MESSAGE0 type= "phpvariable" />
<MESSAGE1 type= "phpvariable" />
<MESSAGE2 type= "phpvariable" />
<MESSAGE3 type= "phpvariable" />
<MESSAGE4 type= "phpvariable" />
<MESSAGE5 type= "phpvariable" />
<JS type= "javascript" replacetags= "1" > < ![CDATA[
2010-12-02 23:34:41 +00:00
var sUsername;
var dynaformOnload = function()
{
sUsername = document.forms[0].elements['form[USR_USERNAME]'].value;
leimnud.event.add(document.forms[0].elements['form[USR_USERNAME]'], 'change', {method:verifyUsername, instance:document.forms[0].elements['form[USR_USERNAME]'], event:true});
leimnud.event.add(document.forms[0].elements['form[USR_CITY]'], 'change', {method:existsElements, instance:document.forms[0].elements['form[USR_CITY]'], event:true});
leimnud.event.add(document.forms[0].elements['form[USR_LOCATION]'], 'change', {method:existsElements, instance:document.forms[0].elements['form[USR_LOCATION]'], event:true});
if (document.forms[0].elements['form[USR_CITY]'].options.length == 0) {
hideRow(document.forms[0].elements['form[USR_CITY]']);
}
if (document.forms[0].elements['form[USR_LOCATION]'].options.length == 0) {
hideRow(document.forms[0].elements['form[USR_LOCATION]']);
}
};
var verifyUsername = function()
{
document.forms[0].elements['form[USR_USERNAME]'].disabled = true;
document.forms[0].elements['form[SUBMIT]'].disabled = true;
var oRPC = new leimnud.module.rpc.xmlhttp({
url :'users_Ajax',
async : false,
method :'POST',
args :'function=verifyUsername& sOriginalUsername=' + sUsername + '& sUsername=' + encodeURIComponent(this.value)});
oRPC.make();
var sResponse = oRPC.xmlhttp.responseText;
document.forms[0].elements['form[USR_USERNAME]'].disabled = false;
if (sResponse == 1)
{
new leimnud.module.app.alert().make({
label: "@#MESSAGE0"
});
document.forms[0].elements['form[USR_USERNAME]'].focus();
}
else
{
document.forms[0].elements['form[SUBMIT]'].disabled = false;
}
};
var verifyUserInformation = function(oForm)
{
var oAux1, oAux2;
var bContinue = true;
oAux1 = oForm.elements['form[USR_FIRSTNAME]'];
if (oAux1.value == '')
{
new leimnud.module.app.alert().make({
label: "@#MESSAGE4"
});
oAux1.focus();
bContinue = false;
return false;
}
oAux1 = oForm.elements['form[USR_LASTNAME]'];
if (oAux1.value == '')
{
new leimnud.module.app.alert().make({
label: "@#MESSAGE5"
});
oAux1.focus();
bContinue = false;
return false;
}
oAux1 = oForm.elements['form[USR_USERNAME]'];
if (oAux1.value == '')
{
new leimnud.module.app.alert().make({
label: "@#MESSAGE1"
});
oAux1.focus();
bContinue = false;
return false;
}
oAux1 = oForm.elements['form[USR_DUE_DATE]'];
if (oAux1.value == '')
{
new leimnud.module.app.alert().make({
label: "@#MESSAGE2"
});
oAux1.focus();
bContinue = false;
return false;
}
oAux1 = oForm.elements['form[USR_NEW_PASS]'];
if (oAux1.value != '')
{
oAux2 = oForm.elements['form[USR_CNF_PASS]'];
if (oAux1.value != oAux2.value)
{
new leimnud.module.app.alert().make({
label: "@#MESSAGE3"
});
oAux1.focus();
bContinue = false;
return false;
}
}
if (bContinue)
{
oForm.submit();
}
};
var existsElements = function () {
if (this.options.length > 0) {
showRow(this);
}
else {
hideRow(this);
}
};
/*
* function validateLocalEmail
* @author gustavo cruz gustavo-at-colosa-dot-com
* @param sEmail email form field.
* @return true / false
* @desc function using regular expressions ir order to validate
* an email adress.
*/
var validateLocalEmail = function(sEmail){
var sFilter = /^[a-zA-Z]+([_\.-]?[a-zA-Z0-9]+)*@[a-zA-Z0-9]+([\.-]?[a-zA-Z0-9]+)*(\.[a-zA-Z]{2,4})+$/;
if (!sFilter.test(sEmail.value)) {
return false;
} else {
return true;
}
}
/*
* function validatePasswordFields
* @author gustavo cruz gustavo-at-colosa-dot-com
* @param sPassword email form field.
* @param sPasswordCnf email form field.
* @return true/false
* @desc function that compares the values of two password fields
*/
var validatePasswordsFields = function(sPassword,sPasswordCnf){
if (sPassword.value==sPasswordCnf.value){
return true;
} else {
return false;
}
}
/*
* function validateLocalData
* @author gustavo cruz gustavo-at-colosa-dot-com
* @param oForm form that is validated.
* @return void.
* @desc function that validates local data for email and passwords.
*/
var validateLocalFields = function(oForm)
{
var sEmail = document.getElementById('form[USR_EMAIL]');
var sPassword = document.getElementById('form[USR_NEW_PASS]');
var sPasswordRep = document.getElementById('form[USR_CNF_PASS]');
var sAlert = "";
var bContinue = true;
bContinue = validateForm("[{\"name\":\"USR_FIRSTNAME\",\"type\":\"text\",\"label\":\"First Name\"},{\"name\":\"USR_LASTNAME\",\"type\":\"text\",\"label\":\"Last Name\"},{\"name\":\"USR_USERNAME\",\"type\":\"text\",\"label\":\"User ID (*)\"},{\"name\":\"USR_DUE_DATE\",\"type\":\"date\",\"label\":\"Expiration Date\"},{\"name\":\"USR_NEW_PASS\",\"type\":\"password\",\"label\":\"New Password\"},{\"name\":\"USR_CNF_PASS\",\"type\":\"password\",\"label\":\"Confirm Password\"}]".parseJSON());
if (bContinue){
if (!validateLocalEmail(sEmail)){
sAlert = sAlert+"Please provide a valid email address. <br > ";
bContinue = false;
}
if (!validatePasswordsFields(sPassword,sPasswordRep)){
sAlert = sAlert+"The password fields don't match. <br > ";
bContinue = false;
}
if (!bContinue){
msgBox(sAlert, "alert");
} else {
oForm.submit();
}
}
};
function cancel() {
window.location = 'users_List';
}
2011-01-20 16:01:53 +00:00
]]></JS>
2010-12-02 23:34:41 +00:00
</dynaForm>