This commit is contained in:
Paula V. Quispe
2015-11-27 12:42:37 -04:00
parent 3a9c268f48
commit 2167324c07
12 changed files with 212 additions and 14 deletions

View File

@@ -897,6 +897,25 @@ class Language extends BaseLanguage
return $labels;
}
function loadByCode($langId) {
try {
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn( LanguagePeer::LAN_NAME );
$oCriteria->add(LanguagePeer::LAN_ID, $langId);
$oDataset = LanguagePeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
$aRow = $oDataset->getRow();
$aRow['LANGUAGE_NAME'] = $aRow['LAN_NAME'];
if (is_array($aRow)) {
return $aRow;
} else {
throw (new Exception("The language '$langId' doesn\'t exist!"));
}
} catch( exception $oError ) {
throw ($oError);
}
}
}
// Language

View File

@@ -174,6 +174,10 @@ class Users extends BaseUsers
$role = $roles->loadByCode($aFields['USR_ROLE']);
$aFields['USR_ROLE_NAME'] = $role['ROL_NAME'];
$translations = new Language();
$translation = $translations->loadByCode($aFields['USR_DEFAULT_LANG']);
$aFields['USR_DEFAULT_LANG_NAME'] = $translation['LANGUAGE_NAME'];
$result = $aFields;
return $result;
@@ -481,5 +485,22 @@ class Users extends BaseUsers
}
return $return;
}
public function userLanguaje ($usrUid = "")
{
try {
$oCriteria = new Criteria( 'workflow' );
$oCriteria->addSelectColumn( UsersPeer::USR_UID );
$oCriteria->addSelectColumn( UsersPeer::USR_DEFAULT_LANG );
$oCriteria->add( UsersPeer::USR_UID, $usrUid );
$rsCriteria = UsersPeer::doSelectRS( $oCriteria );
$rsCriteria->setFetchmode( ResultSet::FETCHMODE_ASSOC );
return $rsCriteria;
} catch (exception $oError) {
throw ($oError);
}
}
}

View File

@@ -139,6 +139,8 @@ class UsersMapBuilder
$tMap->addColumn('USR_TIME_ZONE', 'UsrTimeZone', 'string', CreoleTypes::VARCHAR, false, 100);
$tMap->addColumn('USR_DEFAULT_LANG', 'UsrDefaultLang', 'string', CreoleTypes::VARCHAR, true, 10);
$tMap->addValidator('USR_STATUS', 'validValues', 'propel.validator.ValidValuesValidator', 'ACTIVE|INACTIVE|VACATION|CLOSED', 'Please select a valid type.');
$tMap->addValidator('USR_STATUS', 'required', 'propel.validator.RequiredValidator', '', 'Type is required.');

View File

@@ -249,6 +249,12 @@ abstract class BaseUsers extends BaseObject implements Persistent
*/
protected $usr_time_zone = '';
/**
* The value for the usr_default_lang field.
* @var string
*/
protected $usr_default_lang = '';
/**
* Flag to prevent endless save loop, if this object is referenced
* by another object which falls in this transaction.
@@ -754,6 +760,17 @@ abstract class BaseUsers extends BaseObject implements Persistent
return $this->usr_time_zone;
}
/**
* Get the [usr_default_lang] column value.
*
* @return string
*/
public function getUsrDefaultLang()
{
return $this->usr_default_lang;
}
/**
* Set the value of [usr_uid] column.
*
@@ -1590,6 +1607,28 @@ abstract class BaseUsers extends BaseObject implements Persistent
} // setUsrTimeZone()
/**
* Set the value of [usr_default_lang] column.
*
* @param string $v new value
* @return void
*/
public function setUsrDefaultLang($v)
{
// Since the native PHP type for this column is string,
// we will cast the input to a string (if it is not).
if ($v !== null && !is_string($v)) {
$v = (string) $v;
}
if ($this->usr_default_lang !== $v || $v === '') {
$this->usr_default_lang = $v;
$this->modifiedColumns[] = UsersPeer::USR_DEFAULT_LANG;
}
} // setUsrDefaultLang()
/**
* Hydrates (populates) the object variables with values from the database resultset.
*
@@ -1681,12 +1720,14 @@ abstract class BaseUsers extends BaseObject implements Persistent
$this->usr_time_zone = $rs->getString($startcol + 36);
$this->usr_default_lang = $rs->getString($startcol + 37);
$this->resetModified();
$this->setNew(false);
// FIXME - using NUM_COLUMNS may be clearer.
return $startcol + 37; // 37 = UsersPeer::NUM_COLUMNS - UsersPeer::NUM_LAZY_LOAD_COLUMNS).
return $startcol + 38; // 38 = UsersPeer::NUM_COLUMNS - UsersPeer::NUM_LAZY_LOAD_COLUMNS).
} catch (Exception $e) {
throw new PropelException("Error populating Users object", $e);
@@ -2001,6 +2042,9 @@ abstract class BaseUsers extends BaseObject implements Persistent
case 36:
return $this->getUsrTimeZone();
break;
case 37:
return $this->getUsrDefaultLang();
break;
default:
return null;
break;
@@ -2058,6 +2102,7 @@ abstract class BaseUsers extends BaseObject implements Persistent
$keys[34] => $this->getUsrUnitCost(),
$keys[35] => $this->getUsrBookmarkStartCases(),
$keys[36] => $this->getUsrTimeZone(),
$keys[37] => $this->getUsrDefaultLang(),
);
return $result;
}
@@ -2200,6 +2245,9 @@ abstract class BaseUsers extends BaseObject implements Persistent
case 36:
$this->setUsrTimeZone($value);
break;
case 37:
$this->setUsrDefaultLang($value);
break;
} // switch()
}
@@ -2371,6 +2419,10 @@ abstract class BaseUsers extends BaseObject implements Persistent
$this->setUsrTimeZone($arr[$keys[36]]);
}
if (array_key_exists($keys[37], $arr)) {
$this->setUsrDefaultLang($arr[$keys[37]]);
}
}
/**
@@ -2530,6 +2582,10 @@ abstract class BaseUsers extends BaseObject implements Persistent
$criteria->add(UsersPeer::USR_TIME_ZONE, $this->usr_time_zone);
}
if ($this->isColumnModified(UsersPeer::USR_DEFAULT_LANG)) {
$criteria->add(UsersPeer::USR_DEFAULT_LANG, $this->usr_default_lang);
}
return $criteria;
}
@@ -2656,6 +2712,8 @@ abstract class BaseUsers extends BaseObject implements Persistent
$copyObj->setUsrTimeZone($this->usr_time_zone);
$copyObj->setUsrDefaultLang($this->usr_default_lang);
$copyObj->setNew(true);

View File

@@ -142,6 +142,9 @@ abstract class BaseUsersPeer
/** the column name for the USR_TIME_ZONE field */
const USR_TIME_ZONE = 'USERS.USR_TIME_ZONE';
/** the column name for the USR_DEFAULT_LANG field */
const USR_DEFAULT_LANG = 'USERS.USR_DEFAULT_LANG';
/** The PHP to DB Name Mapping */
private static $phpNameMap = null;
@@ -153,10 +156,10 @@ abstract class BaseUsersPeer
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
private static $fieldNames = array (
BasePeer::TYPE_PHPNAME => array ('UsrUid', 'UsrUsername', 'UsrPassword', 'UsrFirstname', 'UsrLastname', 'UsrEmail', 'UsrDueDate', 'UsrCreateDate', 'UsrUpdateDate', 'UsrStatus', 'UsrCountry', 'UsrCity', 'UsrLocation', 'UsrAddress', 'UsrPhone', 'UsrFax', 'UsrCellular', 'UsrZipCode', 'DepUid', 'UsrPosition', 'UsrResume', 'UsrBirthday', 'UsrRole', 'UsrReportsTo', 'UsrReplacedBy', 'UsrUx', 'UsrTotalInbox', 'UsrTotalDraft', 'UsrTotalCancelled', 'UsrTotalParticipated', 'UsrTotalPaused', 'UsrTotalCompleted', 'UsrTotalUnassigned', 'UsrCostByHour', 'UsrUnitCost', 'UsrBookmarkStartCases', 'UsrTimeZone', ),
BasePeer::TYPE_COLNAME => array (UsersPeer::USR_UID, UsersPeer::USR_USERNAME, UsersPeer::USR_PASSWORD, UsersPeer::USR_FIRSTNAME, UsersPeer::USR_LASTNAME, UsersPeer::USR_EMAIL, UsersPeer::USR_DUE_DATE, UsersPeer::USR_CREATE_DATE, UsersPeer::USR_UPDATE_DATE, UsersPeer::USR_STATUS, UsersPeer::USR_COUNTRY, UsersPeer::USR_CITY, UsersPeer::USR_LOCATION, UsersPeer::USR_ADDRESS, UsersPeer::USR_PHONE, UsersPeer::USR_FAX, UsersPeer::USR_CELLULAR, UsersPeer::USR_ZIP_CODE, UsersPeer::DEP_UID, UsersPeer::USR_POSITION, UsersPeer::USR_RESUME, UsersPeer::USR_BIRTHDAY, UsersPeer::USR_ROLE, UsersPeer::USR_REPORTS_TO, UsersPeer::USR_REPLACED_BY, UsersPeer::USR_UX, UsersPeer::USR_TOTAL_INBOX, UsersPeer::USR_TOTAL_DRAFT, UsersPeer::USR_TOTAL_CANCELLED, UsersPeer::USR_TOTAL_PARTICIPATED, UsersPeer::USR_TOTAL_PAUSED, UsersPeer::USR_TOTAL_COMPLETED, UsersPeer::USR_TOTAL_UNASSIGNED, UsersPeer::USR_COST_BY_HOUR, UsersPeer::USR_UNIT_COST, UsersPeer::USR_BOOKMARK_START_CASES, UsersPeer::USR_TIME_ZONE, ),
BasePeer::TYPE_FIELDNAME => array ('USR_UID', 'USR_USERNAME', 'USR_PASSWORD', 'USR_FIRSTNAME', 'USR_LASTNAME', 'USR_EMAIL', 'USR_DUE_DATE', 'USR_CREATE_DATE', 'USR_UPDATE_DATE', 'USR_STATUS', 'USR_COUNTRY', 'USR_CITY', 'USR_LOCATION', 'USR_ADDRESS', 'USR_PHONE', 'USR_FAX', 'USR_CELLULAR', 'USR_ZIP_CODE', 'DEP_UID', 'USR_POSITION', 'USR_RESUME', 'USR_BIRTHDAY', 'USR_ROLE', 'USR_REPORTS_TO', 'USR_REPLACED_BY', 'USR_UX', 'USR_TOTAL_INBOX', 'USR_TOTAL_DRAFT', 'USR_TOTAL_CANCELLED', 'USR_TOTAL_PARTICIPATED', 'USR_TOTAL_PAUSED', 'USR_TOTAL_COMPLETED', 'USR_TOTAL_UNASSIGNED', 'USR_COST_BY_HOUR', 'USR_UNIT_COST', 'USR_BOOKMARK_START_CASES', 'USR_TIME_ZONE', ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, )
BasePeer::TYPE_PHPNAME => array ('UsrUid', 'UsrUsername', 'UsrPassword', 'UsrFirstname', 'UsrLastname', 'UsrEmail', 'UsrDueDate', 'UsrCreateDate', 'UsrUpdateDate', 'UsrStatus', 'UsrCountry', 'UsrCity', 'UsrLocation', 'UsrAddress', 'UsrPhone', 'UsrFax', 'UsrCellular', 'UsrZipCode', 'DepUid', 'UsrPosition', 'UsrResume', 'UsrBirthday', 'UsrRole', 'UsrReportsTo', 'UsrReplacedBy', 'UsrUx', 'UsrTotalInbox', 'UsrTotalDraft', 'UsrTotalCancelled', 'UsrTotalParticipated', 'UsrTotalPaused', 'UsrTotalCompleted', 'UsrTotalUnassigned', 'UsrCostByHour', 'UsrUnitCost', 'UsrBookmarkStartCases', 'UsrTimeZone', 'UsrDefaultLang', ),
BasePeer::TYPE_COLNAME => array (UsersPeer::USR_UID, UsersPeer::USR_USERNAME, UsersPeer::USR_PASSWORD, UsersPeer::USR_FIRSTNAME, UsersPeer::USR_LASTNAME, UsersPeer::USR_EMAIL, UsersPeer::USR_DUE_DATE, UsersPeer::USR_CREATE_DATE, UsersPeer::USR_UPDATE_DATE, UsersPeer::USR_STATUS, UsersPeer::USR_COUNTRY, UsersPeer::USR_CITY, UsersPeer::USR_LOCATION, UsersPeer::USR_ADDRESS, UsersPeer::USR_PHONE, UsersPeer::USR_FAX, UsersPeer::USR_CELLULAR, UsersPeer::USR_ZIP_CODE, UsersPeer::DEP_UID, UsersPeer::USR_POSITION, UsersPeer::USR_RESUME, UsersPeer::USR_BIRTHDAY, UsersPeer::USR_ROLE, UsersPeer::USR_REPORTS_TO, UsersPeer::USR_REPLACED_BY, UsersPeer::USR_UX, UsersPeer::USR_TOTAL_INBOX, UsersPeer::USR_TOTAL_DRAFT, UsersPeer::USR_TOTAL_CANCELLED, UsersPeer::USR_TOTAL_PARTICIPATED, UsersPeer::USR_TOTAL_PAUSED, UsersPeer::USR_TOTAL_COMPLETED, UsersPeer::USR_TOTAL_UNASSIGNED, UsersPeer::USR_COST_BY_HOUR, UsersPeer::USR_UNIT_COST, UsersPeer::USR_BOOKMARK_START_CASES, UsersPeer::USR_TIME_ZONE, UsersPeer::USR_DEFAULT_LANG, ),
BasePeer::TYPE_FIELDNAME => array ('USR_UID', 'USR_USERNAME', 'USR_PASSWORD', 'USR_FIRSTNAME', 'USR_LASTNAME', 'USR_EMAIL', 'USR_DUE_DATE', 'USR_CREATE_DATE', 'USR_UPDATE_DATE', 'USR_STATUS', 'USR_COUNTRY', 'USR_CITY', 'USR_LOCATION', 'USR_ADDRESS', 'USR_PHONE', 'USR_FAX', 'USR_CELLULAR', 'USR_ZIP_CODE', 'DEP_UID', 'USR_POSITION', 'USR_RESUME', 'USR_BIRTHDAY', 'USR_ROLE', 'USR_REPORTS_TO', 'USR_REPLACED_BY', 'USR_UX', 'USR_TOTAL_INBOX', 'USR_TOTAL_DRAFT', 'USR_TOTAL_CANCELLED', 'USR_TOTAL_PARTICIPATED', 'USR_TOTAL_PAUSED', 'USR_TOTAL_COMPLETED', 'USR_TOTAL_UNASSIGNED', 'USR_COST_BY_HOUR', 'USR_UNIT_COST', 'USR_BOOKMARK_START_CASES', 'USR_TIME_ZONE', 'USR_DEFAULT_LANG', ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, )
);
/**
@@ -166,10 +169,10 @@ abstract class BaseUsersPeer
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
*/
private static $fieldKeys = array (
BasePeer::TYPE_PHPNAME => array ('UsrUid' => 0, 'UsrUsername' => 1, 'UsrPassword' => 2, 'UsrFirstname' => 3, 'UsrLastname' => 4, 'UsrEmail' => 5, 'UsrDueDate' => 6, 'UsrCreateDate' => 7, 'UsrUpdateDate' => 8, 'UsrStatus' => 9, 'UsrCountry' => 10, 'UsrCity' => 11, 'UsrLocation' => 12, 'UsrAddress' => 13, 'UsrPhone' => 14, 'UsrFax' => 15, 'UsrCellular' => 16, 'UsrZipCode' => 17, 'DepUid' => 18, 'UsrPosition' => 19, 'UsrResume' => 20, 'UsrBirthday' => 21, 'UsrRole' => 22, 'UsrReportsTo' => 23, 'UsrReplacedBy' => 24, 'UsrUx' => 25, 'UsrTotalInbox' => 26, 'UsrTotalDraft' => 27, 'UsrTotalCancelled' => 28, 'UsrTotalParticipated' => 29, 'UsrTotalPaused' => 30, 'UsrTotalCompleted' => 31, 'UsrTotalUnassigned' => 32, 'UsrCostByHour' => 33, 'UsrUnitCost' => 34, 'UsrBookmarkStartCases' => 35, 'UsrTimeZone' => 36, ),
BasePeer::TYPE_COLNAME => array (UsersPeer::USR_UID => 0, UsersPeer::USR_USERNAME => 1, UsersPeer::USR_PASSWORD => 2, UsersPeer::USR_FIRSTNAME => 3, UsersPeer::USR_LASTNAME => 4, UsersPeer::USR_EMAIL => 5, UsersPeer::USR_DUE_DATE => 6, UsersPeer::USR_CREATE_DATE => 7, UsersPeer::USR_UPDATE_DATE => 8, UsersPeer::USR_STATUS => 9, UsersPeer::USR_COUNTRY => 10, UsersPeer::USR_CITY => 11, UsersPeer::USR_LOCATION => 12, UsersPeer::USR_ADDRESS => 13, UsersPeer::USR_PHONE => 14, UsersPeer::USR_FAX => 15, UsersPeer::USR_CELLULAR => 16, UsersPeer::USR_ZIP_CODE => 17, UsersPeer::DEP_UID => 18, UsersPeer::USR_POSITION => 19, UsersPeer::USR_RESUME => 20, UsersPeer::USR_BIRTHDAY => 21, UsersPeer::USR_ROLE => 22, UsersPeer::USR_REPORTS_TO => 23, UsersPeer::USR_REPLACED_BY => 24, UsersPeer::USR_UX => 25, UsersPeer::USR_TOTAL_INBOX => 26, UsersPeer::USR_TOTAL_DRAFT => 27, UsersPeer::USR_TOTAL_CANCELLED => 28, UsersPeer::USR_TOTAL_PARTICIPATED => 29, UsersPeer::USR_TOTAL_PAUSED => 30, UsersPeer::USR_TOTAL_COMPLETED => 31, UsersPeer::USR_TOTAL_UNASSIGNED => 32, UsersPeer::USR_COST_BY_HOUR => 33, UsersPeer::USR_UNIT_COST => 34, UsersPeer::USR_BOOKMARK_START_CASES => 35, UsersPeer::USR_TIME_ZONE => 36, ),
BasePeer::TYPE_FIELDNAME => array ('USR_UID' => 0, 'USR_USERNAME' => 1, 'USR_PASSWORD' => 2, 'USR_FIRSTNAME' => 3, 'USR_LASTNAME' => 4, 'USR_EMAIL' => 5, 'USR_DUE_DATE' => 6, 'USR_CREATE_DATE' => 7, 'USR_UPDATE_DATE' => 8, 'USR_STATUS' => 9, 'USR_COUNTRY' => 10, 'USR_CITY' => 11, 'USR_LOCATION' => 12, 'USR_ADDRESS' => 13, 'USR_PHONE' => 14, 'USR_FAX' => 15, 'USR_CELLULAR' => 16, 'USR_ZIP_CODE' => 17, 'DEP_UID' => 18, 'USR_POSITION' => 19, 'USR_RESUME' => 20, 'USR_BIRTHDAY' => 21, 'USR_ROLE' => 22, 'USR_REPORTS_TO' => 23, 'USR_REPLACED_BY' => 24, 'USR_UX' => 25, 'USR_TOTAL_INBOX' => 26, 'USR_TOTAL_DRAFT' => 27, 'USR_TOTAL_CANCELLED' => 28, 'USR_TOTAL_PARTICIPATED' => 29, 'USR_TOTAL_PAUSED' => 30, 'USR_TOTAL_COMPLETED' => 31, 'USR_TOTAL_UNASSIGNED' => 32, 'USR_COST_BY_HOUR' => 33, 'USR_UNIT_COST' => 34, 'USR_BOOKMARK_START_CASES' => 35, 'USR_TIME_ZONE' => 36, ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, )
BasePeer::TYPE_PHPNAME => array ('UsrUid' => 0, 'UsrUsername' => 1, 'UsrPassword' => 2, 'UsrFirstname' => 3, 'UsrLastname' => 4, 'UsrEmail' => 5, 'UsrDueDate' => 6, 'UsrCreateDate' => 7, 'UsrUpdateDate' => 8, 'UsrStatus' => 9, 'UsrCountry' => 10, 'UsrCity' => 11, 'UsrLocation' => 12, 'UsrAddress' => 13, 'UsrPhone' => 14, 'UsrFax' => 15, 'UsrCellular' => 16, 'UsrZipCode' => 17, 'DepUid' => 18, 'UsrPosition' => 19, 'UsrResume' => 20, 'UsrBirthday' => 21, 'UsrRole' => 22, 'UsrReportsTo' => 23, 'UsrReplacedBy' => 24, 'UsrUx' => 25, 'UsrTotalInbox' => 26, 'UsrTotalDraft' => 27, 'UsrTotalCancelled' => 28, 'UsrTotalParticipated' => 29, 'UsrTotalPaused' => 30, 'UsrTotalCompleted' => 31, 'UsrTotalUnassigned' => 32, 'UsrCostByHour' => 33, 'UsrUnitCost' => 34, 'UsrBookmarkStartCases' => 35, 'UsrTimeZone' => 36, 'UsrDefaultLang' => 37, ),
BasePeer::TYPE_COLNAME => array (UsersPeer::USR_UID => 0, UsersPeer::USR_USERNAME => 1, UsersPeer::USR_PASSWORD => 2, UsersPeer::USR_FIRSTNAME => 3, UsersPeer::USR_LASTNAME => 4, UsersPeer::USR_EMAIL => 5, UsersPeer::USR_DUE_DATE => 6, UsersPeer::USR_CREATE_DATE => 7, UsersPeer::USR_UPDATE_DATE => 8, UsersPeer::USR_STATUS => 9, UsersPeer::USR_COUNTRY => 10, UsersPeer::USR_CITY => 11, UsersPeer::USR_LOCATION => 12, UsersPeer::USR_ADDRESS => 13, UsersPeer::USR_PHONE => 14, UsersPeer::USR_FAX => 15, UsersPeer::USR_CELLULAR => 16, UsersPeer::USR_ZIP_CODE => 17, UsersPeer::DEP_UID => 18, UsersPeer::USR_POSITION => 19, UsersPeer::USR_RESUME => 20, UsersPeer::USR_BIRTHDAY => 21, UsersPeer::USR_ROLE => 22, UsersPeer::USR_REPORTS_TO => 23, UsersPeer::USR_REPLACED_BY => 24, UsersPeer::USR_UX => 25, UsersPeer::USR_TOTAL_INBOX => 26, UsersPeer::USR_TOTAL_DRAFT => 27, UsersPeer::USR_TOTAL_CANCELLED => 28, UsersPeer::USR_TOTAL_PARTICIPATED => 29, UsersPeer::USR_TOTAL_PAUSED => 30, UsersPeer::USR_TOTAL_COMPLETED => 31, UsersPeer::USR_TOTAL_UNASSIGNED => 32, UsersPeer::USR_COST_BY_HOUR => 33, UsersPeer::USR_UNIT_COST => 34, UsersPeer::USR_BOOKMARK_START_CASES => 35, UsersPeer::USR_TIME_ZONE => 36, UsersPeer::USR_DEFAULT_LANG => 37, ),
BasePeer::TYPE_FIELDNAME => array ('USR_UID' => 0, 'USR_USERNAME' => 1, 'USR_PASSWORD' => 2, 'USR_FIRSTNAME' => 3, 'USR_LASTNAME' => 4, 'USR_EMAIL' => 5, 'USR_DUE_DATE' => 6, 'USR_CREATE_DATE' => 7, 'USR_UPDATE_DATE' => 8, 'USR_STATUS' => 9, 'USR_COUNTRY' => 10, 'USR_CITY' => 11, 'USR_LOCATION' => 12, 'USR_ADDRESS' => 13, 'USR_PHONE' => 14, 'USR_FAX' => 15, 'USR_CELLULAR' => 16, 'USR_ZIP_CODE' => 17, 'DEP_UID' => 18, 'USR_POSITION' => 19, 'USR_RESUME' => 20, 'USR_BIRTHDAY' => 21, 'USR_ROLE' => 22, 'USR_REPORTS_TO' => 23, 'USR_REPLACED_BY' => 24, 'USR_UX' => 25, 'USR_TOTAL_INBOX' => 26, 'USR_TOTAL_DRAFT' => 27, 'USR_TOTAL_CANCELLED' => 28, 'USR_TOTAL_PARTICIPATED' => 29, 'USR_TOTAL_PAUSED' => 30, 'USR_TOTAL_COMPLETED' => 31, 'USR_TOTAL_UNASSIGNED' => 32, 'USR_COST_BY_HOUR' => 33, 'USR_UNIT_COST' => 34, 'USR_BOOKMARK_START_CASES' => 35, 'USR_TIME_ZONE' => 36, 'USR_DEFAULT_LANG' => 37, ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, )
);
/**
@@ -344,6 +347,8 @@ abstract class BaseUsersPeer
$criteria->addSelectColumn(UsersPeer::USR_TIME_ZONE);
$criteria->addSelectColumn(UsersPeer::USR_DEFAULT_LANG);
}
const COUNT = 'COUNT(USERS.USR_UID)';

View File

@@ -1494,6 +1494,7 @@
</vendor>
</column>
<column name="USR_TIME_ZONE" type="VARCHAR" size="100" default="" />
<column name="USR_DEFAULT_LANG" type="VARCHAR" size="10" default=""/>
<validator column="USR_STATUS">
<rule name="validValues" value="ACTIVE|INACTIVE|VACATION|CLOSED" message="Please select a valid type."/>
<rule name="required" message="Type is required."/>

View File

@@ -718,6 +718,7 @@ CREATE TABLE `USERS`
`USR_UNIT_COST` VARCHAR(50) default '',
`USR_BOOKMARK_START_CASES` MEDIUMTEXT,
`USR_TIME_ZONE` VARCHAR(100) default '',
`USR_DEFAULT_LANG` VARCHAR(10) default '',
PRIMARY KEY (`USR_UID`)
)ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Users';
#-----------------------------------------------------------------------------

View File

@@ -224,8 +224,26 @@ try {
if (isset($frm['USER_LANG'])) {
if ($frm['USER_LANG'] != '') {
if($frm['USER_LANG'] == "default"){
//Check the USR_DEFAULT_LANG
require_once 'classes/model/Users.php';
$user = new Users();
$rsUser = $user->userLanguaje($_SESSION['USER_LOGGED']);
$rsUser->next();
$rowUser = $rsUser->getRow();
if( isset($rowUser["USR_DEFAULT_LANG"]) && $rowUser["USR_DEFAULT_LANG"]!=''){
$lang = $rowUser["USR_DEFAULT_LANG"];
} else {
$oConf = new Configurations();
$oConf->loadConfig($obj, 'ENVIRONMENT_SETTINGS', '');
if (isset($oConf->aConfig["login_defaultLanguage"]) && $oConf->aConfig["login_defaultLanguage"] != "") {
$lang = $oConf->aConfig["login_defaultLanguage"];
}
}
} else {
$lang = $frm['USER_LANG'];
}
}
} else {
if (defined("SYS_LANG") && SYS_LANG != "") {
$lang = SYS_LANG;

View File

@@ -191,6 +191,7 @@ $translationsTable = $Translations->getTranslationEnvironments();
$availableLangArray = array ();
$availableLangArray [] = array ('LANG_ID' => 'char', 'LANG_NAME' => 'char' );
$availableLangArray [] = array ('LANG_ID' => 'default', 'LANG_NAME' => G::LoadTranslation("ID_DEFAULT_LANGUAGE") );
foreach ($translationsTable as $locale) {
$row['LANG_ID'] = $locale['LOCALE'];
@@ -214,6 +215,7 @@ $oConf->loadConfig($obj, 'ENVIRONMENT_SETTINGS', '');
if (isset($oConf->aConfig["login_defaultLanguage"]) && $oConf->aConfig["login_defaultLanguage"] != "") {
$aFields["USER_LANG"] = $oConf->aConfig["login_defaultLanguage"];
$aFields["USER_LANG"] = "default";
} else {
$myUrl = explode("/", $_SERVER["REQUEST_URI"]);

View File

@@ -121,6 +121,7 @@ $translationsTable = $Translations->getTranslationEnvironments();
$availableLangArray = array ();
$availableLangArray [] = array ('LANG_ID' => 'char', 'LANG_NAME' => 'char');
$availableLangArray [] = array ('LANG_ID' => 'default', 'LANG_NAME' => G::LoadTranslation("ID_DEFAULT_LANGUAGE") );
foreach ($translationsTable as $locale) {
$aFields['LANG_ID'] = $locale['LOCALE'];
@@ -149,6 +150,7 @@ $_SESSION ['_DBArray'] = $_DBArray;
$aField ['LOGIN_VERIFY_MSG'] = G::loadTranslation ('LOGIN_VERIFY_MSG');
$aField['USER_LANG'] = SYS_LANG;
$aField['USER_LANG'] = "default";
$G_PUBLISH = new Publisher ();
if (!defined('WS_IN_LOGIN')) {

View File

@@ -125,6 +125,16 @@ switch ($_POST['action']) {
'USR_ROLE' => $aUserLog['USR_ROLE']
)));
break;
case 'languagesList':
$Translations = new Translation();
$langs = $Translations->getTranslationEnvironments();
$oData[] = array('LAN_ID' => '', 'LAN_NAME' => '- ' . G::LoadTranslation('ID_NONE') . ' -');
foreach ($langs as $lang) {
$oData[] = array ('LAN_ID' => $lang['LOCALE'],'LAN_NAME' => $lang['LANGUAGE']
);
}
print (G::json_encode($oData));
break;
case 'saveUser':
try {
$form = $_POST;
@@ -167,6 +177,7 @@ switch ($_POST['action']) {
$zipCode = $form['USR_ZIP_CODE'] ? " - Zip Code: ". $form['USR_ZIP_CODE'] : "";
$position = $form['USR_POSITION'] ? " - Position: ". $form['USR_POSITION'] : "";
$role = $form['USR_ROLE'] ? " - Role: ". $form['USR_ROLE'] : "";
$languageDef = $form['USR_DEFAULT_LANG'] ? " - Default Language: ". $form['USR_DEFAULT_LANG'] : "";
/*----------------------------------********---------------------------------*/
$costByHour = $form['USR_COST_BY_HOUR'] ? $form['USR_COST_BY_HOUR'] : "";
$unit = $form['USR_UNIT_COST'] ? $form['USR_UNIT_COST'] : "";
@@ -211,6 +222,7 @@ switch ($_POST['action']) {
$aData['USR_POSITION'] = $form['USR_POSITION'];
// $aData['USR_RESUME'] = $form['USR_RESUME'];
$aData['USR_ROLE'] = $form['USR_ROLE'];
$aData['USR_DEFAULT_LANG'] = $form['USR_DEFAULT_LANG'];
/*----------------------------------********---------------------------------*/
$aData['USR_COST_BY_HOUR'] = $form['USR_COST_BY_HOUR'];
$aData['USR_UNIT_COST'] = $form['USR_UNIT_COST'];
@@ -221,7 +233,7 @@ switch ($_POST['action']) {
require_once 'classes/model/Users.php';
$oUser = new Users();
$oUser->create($aData);
G::auditLog('CreateUser', 'User Name: ' . $aData['USR_USERNAME'] . ' - User ID: (' . $aData['USR_UID'] . ') ' . $firstName . $lastName . $email . $dueDate . $status . $address . $phone . $zipCode . $position . $role . $timeZone);
G::auditLog('CreateUser', 'User Name: ' . $aData['USR_USERNAME'] . ' - User ID: (' . $aData['USR_UID'] . ') ' . $firstName . $lastName . $email . $dueDate . $status . $address . $phone . $zipCode . $position . $role . $timeZone . $languageDef);
if ($_FILES['USR_PHOTO']['error'] != 1) {
//print (PATH_IMAGES_ENVIRONMENT_USERS);
@@ -387,6 +399,9 @@ switch ($_POST['action']) {
if (isset($form['USR_ROLE'])) {
$aData['USR_ROLE'] = $form['USR_ROLE'];
}
if (isset($form['USR_DEFAULT_LANG'])) {
$aData['USR_DEFAULT_LANG'] = $form['USR_DEFAULT_LANG'];
}
/*----------------------------------********---------------------------------*/
if (isset($form['USR_COST_BY_HOUR'])) {
$aData['USR_COST_BY_HOUR'] = $form['USR_COST_BY_HOUR'];
@@ -409,7 +424,7 @@ switch ($_POST['action']) {
require_once 'classes/model/Users.php';
$oUser = new Users();
$oUser->update($aData);
G::auditLog('UpdateUser', 'User Name: ' . $aData['USR_USERNAME'] . ' - User ID: (' . $aData['USR_UID'] . ') ' . $firstName . $lastName . $email . $dueDate . $status . $address . $phone . $zipCode . $position . $role . $timeZone);
G::auditLog('UpdateUser', 'User Name: ' . $aData['USR_USERNAME'] . ' - User ID: (' . $aData['USR_UID'] . ') ' . $firstName . $lastName . $email . $dueDate . $status . $address . $phone . $zipCode . $position . $role . $timeZone . $languageDef);
if ($_FILES['USR_PHOTO']['error'] != 1) {
if ($_FILES['USR_PHOTO']['tmp_name'] != '') {
$aAux = explode('.', $_FILES['USR_PHOTO']['name']);

View File

@@ -4,6 +4,7 @@ var storeLocation;
var storeReplacedBy;
var storeCalendar;
var storeRole;
var storeLanguage;
var storeDefaultMainMenuOption;
var storeDefaultCasesMenuOption;
@@ -15,6 +16,7 @@ var comboReplacedBy;
var comboCalendar;
var comboRole;
var cboTimeZone;
var comboLanguage;
var comboDefaultMainMenuOption;
var comboDefaultCasesMenuOption;
@@ -425,6 +427,39 @@ Ext.onReady(function () {
hidden: !(__SYSTEM_UTC_TIME_ZONE__ == 1)
});
storeLanguage = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({
url: "usersAjax",
method: "POST"
}),
baseParams: {"action" : "languagesList"},
reader: new Ext.data.JsonReader({
fields: [
{name: "LAN_ID"},
{name: "LAN_NAME"}
]
})
});
comboLanguage = new Ext.form.ComboBox({
fieldLabel : _('ID_DEFAULT_LANGUAGE'),
hiddenName : 'USR_DEFAULT_LANG',
id : 'USR_DEFAULT_LANG',
readOnly : readMode,
store : storeLanguage,
valueField : 'LAN_ID',
displayField : 'LAN_NAME',
emptyText : TRANSLATIONS.ID_SELECT,
width : 260,
selectOnFocus : true,
editable : false,
allowBlank : false,
triggerAction : 'all',
mode : 'local'
});
var informationFields = new Ext.form.FieldSet({
title : _('ID_PERSONAL_INFORMATION'),
items : [
@@ -535,7 +570,8 @@ Ext.onReady(function () {
comboCalendar,
comboStatus,
comboRole,
cboTimeZone
cboTimeZone,
comboLanguage
]
});
/*----------------------------------********---------------------------------*/
@@ -958,6 +994,12 @@ Ext.onReady(function () {
width: 260,
hidden: !(__SYSTEM_UTC_TIME_ZONE__ == 1)
},
{
id : 'USR_DEFAULT_LANG2',
fieldLabel : _('ID_DEFAULT_LANGUAGE'),
xtype : 'label',
width : 260
}
]
});
@@ -1355,6 +1397,11 @@ function loadData()
});
comboRole.store.load();
comboLanguage.store.on("load", function (store) {
comboLanguage.setValue(store.getAt(1).get("LAN_ID"));
});
comboLanguage.store.load();
comboDefaultMainMenuOption.store.on("load", function (store) {
comboDefaultMainMenuOption.setValue(store.getAt(0).get("id"));
});
@@ -1418,6 +1465,7 @@ function loadUserData()
Ext.getCmp("USR_STATUS2").setText(_('ID_' + data.user.USR_STATUS));
Ext.getCmp("USR_ROLE2").setText(data.user.USR_ROLE_NAME);
Ext.getCmp("USR_TIME_ZONE2").setText((data.user.USR_TIME_ZONE != "")? data.user.USR_TIME_ZONE : SYSTEM_TIME_ZONE);
Ext.getCmp("USR_DEFAULT_LANG2").setText(data.user.USR_DEFAULT_LANG_NAME);
/*----------------------------------********---------------------------------*/
Ext.getCmp("USR_COST_BY_HOUR2").setText(data.user.USR_COST_BY_HOUR);
Ext.getCmp("USR_UNIT_COST2").setText(data.user.USR_UNIT_COST);
@@ -1462,6 +1510,10 @@ function loadUserData()
cboTimeZone.setValue((data.user.USR_TIME_ZONE != "")? data.user.USR_TIME_ZONE : SYSTEM_TIME_ZONE);
comboLanguage.store.on("load", function (store) {
comboLanguage.setValue(data.user.USR_DEFAULT_LANG);
});
if (infoMode) {
comboDefaultMainMenuOption.store.on("load", function (store) {
comboDefaultMainMenuOption.setValue(data.user.PREF_DEFAULT_MENUSELECTED);
@@ -1509,6 +1561,8 @@ function loadUserData()
storeRole.load();
storeLanguage.load();
storeDefaultMainMenuOption.load();
//storeDefaultCasesMenuOption.load();