329 lines
13 KiB
XML
Executable File
329 lines
13 KiB
XML
Executable File
<?xml version="1.0" encoding="UTF-8"?>
|
||
<dynaForm name="myInfo" width="80%" labelWidth="350px" 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"/>
|
||
<TITLE1 type="title" group="1">
|
||
<en><![CDATA[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><![CDATA[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><![CDATA[Last Name]]></en>
|
||
</USR_LASTNAME>
|
||
<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="">
|
||
<en><![CDATA[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><![CDATA[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><![CDATA[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><![CDATA[Zip/Postal 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">
|
||
SELECT IC_UID, IC_NAME FROM ISO_COUNTRY ORDER BY IC_NAME
|
||
<en><![CDATA[Country]]><option name=""><![CDATA[]]></option></en>
|
||
</USR_COUNTRY>
|
||
<USR_CITY type="dropdown" style="width:174pt" defaultvalue="" required="0" group="1" dependentfields="USR_LOCATION" readonly="0" sqlconnection="" noshowingrid="0" readonlyingrid="0">
|
||
SELECT IS_UID, IS_NAME FROM ISO_SUBDIVISION WHERE IC_UID = "@#USR_COUNTRY" ORDER BY IS_NAME
|
||
<en><![CDATA[State or Region]]><option name=""><![CDATA[N/D]]></option></en>
|
||
</USR_CITY>
|
||
<USR_LOCATION type="dropdown" style="width:174pt" defaultvalue="" required="0" group="1" readonly="0" sqlconnection="" noshowingrid="0" readonlyingrid="0">
|
||
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><![CDATA[Location]]><option name=""><![CDATA[N/D]]></option></en>
|
||
</USR_LOCATION>
|
||
<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><![CDATA[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><![CDATA[Position]]></en>
|
||
</USR_POSITION>
|
||
<USR_REPORTS_TO type="dropdown" defaultvalue="" required="0" group="1" dependentfields="" readonly="0" sqlconnection="dbarray" noshowingrid="0" readonlyingrid="0">
|
||
SELECT * FROM aUserInfo
|
||
<en><![CDATA[Reports to]]><option name=""><![CDATA[]]></option></en>
|
||
</USR_REPORTS_TO>
|
||
<USR_REPLACED_BY type="dropdown" defaultvalue="" required="0" group="1" dependentfields="" readonly="0" sqlconnection="dbarray" noshowingrid="0" readonlyingrid="0">
|
||
SELECT * FROM aUserInfo
|
||
<en><![CDATA[Replaced by]]><option name=""><![CDATA[]]></option></en>
|
||
</USR_REPLACED_BY>
|
||
<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><![CDATA[Expiration Date]]></en>
|
||
</USR_DUE_DATE>
|
||
<USR_CALENDAR type="dropdown" sqlconnection="dbarray">
|
||
SELECT CALENDAR_UID, CALENDAR_NAME FROM availableCalendars
|
||
<en><![CDATA[Calendar]]><option name=""><![CDATA[- None -]]></option></en>
|
||
</USR_CALENDAR>
|
||
<USR_STATUS type="dropdown" group="1" required="0">
|
||
<en><![CDATA[Status]]><option name="ACTIVE"><![CDATA[ACTIVE]]></option><option name="INACTIVE"><![CDATA[INACTIVE]]></option><option name="VACATION"><![CDATA[ON VACATION]]></option></en>
|
||
</USR_STATUS>
|
||
<USR_ROLE type="dropdown" defaultvalue="PROCESSMAKER_OPERATOR" required="0" group="1" dependentfields="" readonly="0" sqlconnection="rbac" noshowingrid="0" readonlyingrid="0">
|
||
SELECT ROL_CODE AS USR_ROLE, ROL_CODE AS CODE FROM ROLES WHERE ROL_SYSTEM = '00000000000000000000000000000002' AND ROL_STATUS = 1 ORDER BY ROL_CODE
|
||
<en><![CDATA[Role]]></en>
|
||
</USR_ROLE>
|
||
<TITLE2 type="title" group="1">
|
||
<en><![CDATA[Change Password]]></en>
|
||
</TITLE2>
|
||
<USR_NEW_PASS type="password" size="30" maxlength="20" validate="5" mask="" required="1">
|
||
<en><![CDATA[New Password]]></en>
|
||
</USR_NEW_PASS>
|
||
<USR_CNF_PASS type="password" size="30" maxlength="20" validate="5" mask="" required="1">
|
||
<en><![CDATA[Confirm Password]]></en>
|
||
</USR_CNF_PASS>
|
||
<SUBMIT type="button" onclick="validateLocalFields(this.form);" group="1">
|
||
<en><![CDATA[Save]]></en>
|
||
</SUBMIT>
|
||
<TITLE3 type="title" group="1">
|
||
<en><![CDATA[Profile]]></en>
|
||
</TITLE3>
|
||
<USR_PHOTO type="file" group="1">
|
||
<en><![CDATA[Photo]]></en>
|
||
</USR_PHOTO>
|
||
<!--
|
||
<USR_RESUME type="file" group="1">
|
||
<en>Résumé</en>
|
||
</USR_RESUME>
|
||
-->
|
||
<MAX_FILES_SIZE type="edit" mode="view">
|
||
<en><![CDATA[Maximum upload file size]]></en>
|
||
</MAX_FILES_SIZE>
|
||
<BTN_CANCEL type="button" onclick="cancel();">
|
||
<en><![CDATA[Cancel]]></en>
|
||
</BTN_CANCEL>
|
||
<MESSAGE0 type="phpvariable"/>
|
||
<MESSAGE1 type="phpvariable"/>
|
||
<MESSAGE2 type="phpvariable"/>
|
||
<MESSAGE3 type="phpvariable"/>
|
||
<MESSAGE4 type="phpvariable"/>
|
||
<MESSAGE5 type="phpvariable"/>
|
||
<MESSAGE6 type="phpvariable"/>
|
||
<JS type="javascript" replacetags="1"><![CDATA[
|
||
var sUsername;
|
||
|
||
var dynaformOnload = function()
|
||
{
|
||
sUsername = document.forms[0].elements['form[USR_USERNAME]'].value;
|
||
leimnud.event.add(document.forms[0].elements['form[USR_USERNAME]'], 'blur', {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,6})+$/;
|
||
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;
|
||
var permitted = false;
|
||
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());
|
||
|
||
aExtensions = new Array ( ".ais", ".bmp", ".bw", ".cdr", ".cdt", ".cgm", ".cmx", ".cpt", ".dcx", ".dib",
|
||
".emf", ".gbr", ".gif", ".gih", ".ico", ".iff", ".ilbm", ".jfif", ".jif", ".jpe",
|
||
".jpeg", ".jpg", ".kdc", ".lbm", ".mac", ".pat", ".pcd", ".pct", ".pcx", ".pic",
|
||
".pict", ".png", ".pntg", ".pix", ".psd", ".psp", ".qti", ".qtif", ".rgb", ".rgba",
|
||
".rif", ".rle", ".sgi", ".tga", ".tif", ".tiff", ".wmf", ".xcf"
|
||
);
|
||
|
||
oUsrPhoto = oForm.elements['form[USR_PHOTO]'];
|
||
sUsrPhoto = oUsrPhoto.value;
|
||
if (sUsrPhoto != "" ) {
|
||
extension = (sUsrPhoto.substring(sUsrPhoto.lastIndexOf("."))).toLowerCase();
|
||
for (var i = 0; i < aExtensions.length; i++) {
|
||
if (aExtensions[i] == extension) {
|
||
permitted = true;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
else {
|
||
permitted = true;
|
||
}
|
||
|
||
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 (!permitted) {
|
||
sAlert = sAlert + "@#MESSAGE6" + " <br>";
|
||
bContinue = false;
|
||
}
|
||
if (!bContinue){
|
||
msgBox(sAlert, "alert");
|
||
}
|
||
else {
|
||
oForm.submit();
|
||
}
|
||
}
|
||
};
|
||
|
||
function cancel() {
|
||
window.location = 'users_List';
|
||
}
|
||
|
||
]]></JS>
|
||
</dynaForm>
|