Files
luos/workflow/engine/xmlform/users/users_New.xml
2011-01-20 16:01:53 +00:00

319 lines
13 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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>
<ru-RU><![CDATA[Профиль]]></ru-RU>
</TITLE3>
<USR_PHOTO type="file" group="1">
<en>Photo</en>
<ru-RU><![CDATA[Фотография]]></ru-RU>
</USR_PHOTO>
<USR_RESUME type="file" group="1">
<en>Resume</en>
<ru-RU><![CDATA[Резюме]]></ru-RU>
</USR_RESUME>
<TITLE1 type="title" group="1">
<en>Personal Information</en>
<ru-RU><![CDATA[Персональные данные]]></ru-RU>
</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>
<ru-RU><![CDATA[Имя]]></ru-RU>
</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>
<ru-RU><![CDATA[Фамилия]]></ru-RU>
</USR_LASTNAME>
<USR_USERNAME type="text" size="15" maxlength="50" validate="Email" defaultvalue="" required="1" group="1" dependentfields="" linkfield="" strto="" readonly="0" noshowingrid="0" readonlyingrid="0" totalizeable="0" onchange="">
<en>User ID (*)</en>
<ru-RU><![CDATA[Идентификатор (*)]]></ru-RU>
</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>
<ru-RU><![CDATA[Email]]></ru-RU>
</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>
<ru-RU><![CDATA[Адрес]]></ru-RU>
</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>
<ru-RU><![CDATA[Индекс]]></ru-RU>
</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>Country<option name=""/></en>
<ru-RU><![CDATA[Страна]]><option name="''"><![CDATA['']]></option></ru-RU></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>State or Region</en>
<ru-RU><![CDATA[Регион/область]]></ru-RU></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>Location</en>
<ru-RU><![CDATA[Местонахождение]]></ru-RU></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>Phone</en>
<ru-RU><![CDATA[Телефон]]></ru-RU>
</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>
<ru-RU><![CDATA[Должность]]></ru-RU>
</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>Reports to<option name=""/></en>
<ru-RU><![CDATA[В подчинении]]><option name="''"><![CDATA['']]></option></ru-RU></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>Replaced by<option name=""/></en>
<ru-RU><![CDATA[Заместитель]]><option name="''"><![CDATA['']]></option></ru-RU></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>Expiration Date</en>
<ru-RU><![CDATA[Срок]]></ru-RU>
</USR_DUE_DATE>
<USR_CALENDAR type="dropdown" sqlconnection="dbarray">
SELECT CALENDAR_UID, CALENDAR_NAME FROM availableCalendars
<en>Calendar
<option name="">- None -</option>
</en>
<ru-RU><![CDATA[Календарь]]><option name="''"><![CDATA[- None -]]></option></ru-RU></USR_CALENDAR>
<USR_STATUS type="dropdown" group="1" required="0">
<en>Status
<option name="ACTIVE">ACTIVE</option>
<option name="INACTIVE">INACTIVE</option>
<option name="VACATION">ON VACATION</option>
</en>
<ru-RU><![CDATA[Статус]]><option name="ACTIVE"><![CDATA[Действующий]]></option><option name="INACTIVE"><![CDATA[Отключенный]]></option><option name="VACATION"><![CDATA[В отпуске]]></option></ru-RU>
</USR_STATUS>
<USR_ROLE type="dropdown" defaultvalue="" 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 FIELD(ROL_CODE,'@#DEFAULT_ROLE') DESC
<en>Role</en>
<ru-RU><![CDATA[Роль]]></ru-RU></USR_ROLE>
<TITLE2 type="title" group="1">
<en>Change Password</en>
<ru-RU><![CDATA[Изменить пароль]]></ru-RU>
</TITLE2>
<USR_NEW_PASS type="password" size="30" maxlength="20" validate="5" mask="" required="1">
<en>New Password </en>
<ru-RU><![CDATA[Новый пароль]]></ru-RU>
</USR_NEW_PASS>
<USR_CNF_PASS type="password" size="30" maxlength="20" validate="5" mask="" required="1">
<en>Confirm Password </en>
<ru-RU><![CDATA[Подтверждение]]></ru-RU>
</USR_CNF_PASS>
<SUBMIT type="button" onclick="validateLocalFields(this.form);" group="1">
<en>Save</en>
<ru-RU><![CDATA[Сохранить]]></ru-RU>
</SUBMIT>
<BTN_CANCEL type="button" onclick="cancel();">
<en>Cancel</en>
<ru-RU><![CDATA[Отменить]]></ru-RU>
</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[
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';
}
]]></JS>
</dynaForm>