Update Look n Feel and Functionality of User Manager

This commit is contained in:
Enrique Ponce de Leon
2011-02-07 16:54:10 +00:00
parent 70dced295d
commit b3e55e2dcb
9 changed files with 1530 additions and 1054 deletions

View File

@@ -52,6 +52,7 @@ class Configurations // extends Configuration
{
var $aConfig = array();
private $Configuration = null;
private $UserConfig = null;
/**
* Set Configurations
@@ -254,6 +255,33 @@ class Configurations // extends Configuration
return null;
}
}
/**
* usersNameFormat
* @author Qennix
* @param string $username
* @param string $firstname
* @param string $lastname
* @return string User Name Well-Formatted
*/
function usersNameFormat($username, $firstname, $lastname){
try{
if (!isset($this->UserConfig)) $this->UserConfig = $this->getConfiguration('ENVIRONMENT_SETTINGS', '');
if (isset($this->UserConfig['format'])){
$aux = '';
$aux = str_replace('@userName', $username, $this->UserConfig['format']);
$aux = str_replace('@firstName', $firstname, $aux);
$aux = str_replace('@lastName', $lastname, $aux);
return $aux;
}else{
return $username;
}
}catch(Exception $oError){
return null;
}
}
/**
* setConfig

View File

@@ -1194,4 +1194,20 @@ class AppCacheView extends BaseAppCacheView {
return ($rowData);
}
//Added By Qennix
function getTotalCasesByAllUsers(){
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(AppCacheViewPeer::USR_UID);
$oCriteria->addAsColumn('CNT', 'COUNT(DISTINCT(APP_UID))');
$oCriteria->addGroupByColumn(AppCacheViewPeer::USR_UID);
$Dat = AppCacheViewPeer::doSelectRS ($oCriteria);
$Dat->setFetchmode (ResultSet::FETCHMODE_ASSOC);
$aRows = Array();
while ($Dat->next()){
$row = $Dat->getRow();
$aRows[$row['USR_UID']] = $row['CNT'];
}
return $aRows;
}
} // AppCacheView

View File

@@ -394,19 +394,35 @@ protected $depo_title = '';
// select departments
// this function is used to draw the hierachy tree view
function getDepartments( $DepParent ) {
function getDepartments( $DepParent ) {
try {
$result = array();
$criteria = new Criteria('workflow');
$criteria->add(DepartmentPeer::DEP_PARENT, $DepParent, Criteria::EQUAL);
$con = Propel::getConnection(DepartmentPeer::DATABASE_NAME);
$objects = DepartmentPeer::doSelect($criteria, $con);
global $RBAC;
foreach( $objects as $oDepartment ) {
$node = array();
$node['DEP_UID'] = $oDepartment->getDepUid();
$node['DEP_PARENT'] = $oDepartment->getDepParent();
$node['DEP_TITLE'] = $oDepartment->getDepTitle();
$node['DEP_STATUS'] = $oDepartment->getDepStatus();
$node['DEP_MANAGER'] = $oDepartment->getDepManager();
$node['DEP_LAST'] = 0;
$manager = $oDepartment->getDepManager();
if ($manager != ''){
$UserUID = $RBAC->load($manager);
$node['DEP_MANAGER_USERNAME'] = $UserUID['USR_USERNAME'];
$node['DEP_MANAGER_FIRSTNAME'] = $UserUID['USR_FIRSTNAME'];
$node['DEP_MANAGER_LASTNAME'] = $UserUID['USR_LASTNAME'];
}else{
$node['DEP_MANAGER_USERNAME'] = '';
$node['DEP_MANAGER_FIRSTNAME'] = '';
$node['DEP_MANAGER_LASTNAME'] = '';
}
$criteriaCount = new Criteria('workflow');
$criteriaCount->clearSelectColumns();
@@ -555,5 +571,23 @@ protected $depo_title = '';
$c->add(ContentPeer::CON_LANG, SYS_LANG );
return $c;
}
//Added by Qennix
function getAllDepartmentsByUser(){
$c = new Criteria('workflow');
$c->addSelectColumn(UsersPeer::USR_UID);
$c->addAsColumn('DEP_TITLE', ContentPeer::CON_VALUE);
$c->add(ContentPeer::CON_LANG,defined(SYS_LANG)?SYS_LANG:'en');
$c->add(ContentPeer::CON_CATEGORY,'DEPO_TITLE');
$c->addJoin(UsersPeer::DEP_UID, ContentPeer::CON_ID,Criteria::INNER_JOIN);
$Dat = UsersPeer::doSelectRS ($c);
$Dat->setFetchmode (ResultSet::FETCHMODE_ASSOC);
$aRows = Array();
while ($Dat->next()){
$row = $Dat->getRow();
$aRows[$row['USR_UID']] = $row['DEP_TITLE'];
}
return $aRows;
}
} // Department

View File

@@ -109,5 +109,35 @@ class LoginLog extends BaseLoginLog {
throw($e);
}
}
//Added by Qennix
function getLastLoginByUser($sUID){
$c = new Criteria();
$c->addSelectColumn(LoginLogPeer::LOG_INIT_DATE);
$c->add(LoginLogPeer::USR_UID,$sUID);
$c->setLimit(1);
$c->addDescendingOrderByColumn(LoginLogPeer::LOG_INIT_DATE);
$Dat = LoginLogPeer::doSelectRS ($c);
$Dat->setFetchmode ( ResultSet::FETCHMODE_ASSOC );
$Dat->next();
$aRow = $Dat->getRow();
return isset($aRow['LOG_INIT_DATE']) ? $aRow['LOG_INIT_DATE'] : '';
}
//Added by Qennix
function getLastLoginAllUsers(){
$c = new Criteria();
$c->addSelectColumn(LoginLogPeer::USR_UID);
$c->addAsColumn('LAST_LOGIN', 'MAX(LOG_INIT_DATE)');
$c->addGroupByColumn(LoginLogPeer::USR_UID);
$Dat = LoginLogPeer::doSelectRS ($c);
$Dat->setFetchmode (ResultSet::FETCHMODE_ASSOC);
$aRows = Array();
while ($Dat->next()){
$row = $Dat->getRow();
$aRows[$row['USR_UID']] = $row['LAST_LOGIN'];
}
return $aRows;
}
} // LoginLog

View File

@@ -1,6 +1,6 @@
<?php
/**
* users_List.php
* usersGroups.php
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2008 Colosa Inc.23
@@ -53,20 +53,12 @@ $G_ID_SUB_MENU_SELECTED = 'USERS';
$G_PUBLISH = new Publisher;
$oHeadPublisher =& headPublisher::getSingleton();
//$oHeadPublisher->usingExtJs('ux/Ext.ux.fileUploadField');
$oHeadPublisher->addExtJsScript('users/usersGroups', false); //adding a javascript file .js
$oHeadPublisher->addContent('users/usersGroups'); //adding a html file .html.
$labels = G::getTranslations(Array('ID_USERS','ID_ASSIGN','ID_ASSIGN_ALL_GROUPS','ID_REMOVE','ID_REMOVE_ALL_GROUPS',
'ID_BACK','ID_GROUP_NAME','ID_AVAILABLE_GROUPS','ID_ASSIGNED_GROUPS','ID_GROUPS','ID_USERS',
'ID_MSG_AJAX_FAILURE','ID_PROCESSING','ID_AUTHENTICATION','ID_CLOSE','ID_SAVE','ID_AUTHENTICATION_SOURCE',
'ID_AUTHENTICATION_DN','ID_AUTHENTICATION_FORM_TITLE','ID_SELECT_AUTH_SOURCE','ID_SAVE_CHANGES','ID_DISCARD_CHANGES',
'ID_ENTER_SEARCH_TERM'));
G::LoadClass('configuration');
$c = new Configurations();
$configEnv = $c->getConfiguration('ENVIRONMENT_SETTINGS', '');
$Config['fullNameFormat'] = isset($configEnv['format']) ? $configEnv['format'] : '@userName';
require_once 'classes/model/Users.php';
$oCriteria = new Criteria();
$oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
$oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
@@ -77,13 +69,23 @@ $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
$aRow = $oDataset->getRow();
switch($_REQUEST['type']){
case 'summary': $ctab = 0; break;
case 'group': $ctab = 1; break;
case 'auth': $ctab = 2; break;
}
$users = Array();
$users['USR_UID'] = $_GET['uUID'];
$users['USR_COMPLETENAME'] = $aRow['USR_LASTNAME'].' '.$aRow['USR_FIRSTNAME'];
$users['USR_FIRSTNAME'] = $aRow['USR_FIRSTNAME'];
$users['USR_LASTNAME'] = $aRow['USR_LASTNAME'];
$users['USR_USERNAME'] = $aRow['USR_USERNAME'];
$users['CURRENT_TAB'] = ($_REQUEST['type']=='group') ? 0 : 1;
$users['fullNameFormat'] = $Config['fullNameFormat'];
$users['CURRENT_TAB'] = $ctab;
$oHeadPublisher->assign('TRANSLATIONS', $labels);
$oHeadPublisher =& headPublisher::getSingleton();
$oHeadPublisher->addExtJsScript('users/usersGroups', false); //adding a javascript file .js
$oHeadPublisher->addContent('users/usersGroups'); //adding a html file .html.
$oHeadPublisher->assign('USERS', $users);
G::RenderPage('publish', 'extJs');

File diff suppressed because it is too large Load Diff

View File

@@ -46,6 +46,7 @@ if( $access != 1 ){
break;
}
}
$G_MAIN_MENU = 'processmaker';
$G_SUB_MENU = 'users';
$G_ID_MENU_SELECTED = 'USERS';
@@ -53,17 +54,17 @@ $G_ID_SUB_MENU_SELECTED = 'USERS';
$G_PUBLISH = new Publisher;
$oHeadPublisher =& headPublisher::getSingleton();
G::LoadClass('configuration');
$c = new Configurations();
$configPage = $c->getConfiguration('usersList', 'pageSize','',$_SESSION['USER_LOGGED']);
$configEnv = $c->getConfiguration('ENVIRONMENT_SETTINGS', '');
$Config['pageSize'] = isset($configPage['pageSize']) ? $configPage['pageSize'] : 20;
$Config['fullNameFormat'] = isset($configEnv['format']) ? $configEnv['format'] : '@userName';
$Config['dateFormat'] = isset($configEnv['dateFormat']) ? $configEnv['dateFormat'] : 'Y/m/d';
//$oHeadPublisher->usingExtJs('ux/Ext.ux.fileUploadField');
$oHeadPublisher =& headPublisher::getSingleton();
$oHeadPublisher->addExtJsScript('users/usersList', false); //adding a javascript file .js
$oHeadPublisher->addContent('users/usersList'); //adding a html file .html.
$oHeadPublisher->assign('CONFIG', $Config);
$labels = G::getTranslations(Array('ID_USERS','ID_EDIT','ID_DELETE','ID_NEW','ID_GROUPS','ID_USERS_DELETE_WITH_HISTORY',
'ID_USER_NAME','ID_PHOTO','ID_EMAIL','ID_FULL_NAME','ID_SEARCH','ID_ENTER_SEARCH_TERM',
'ID_ROLE','ID_DUE_DATE','ID_CANNOT_DELETE_ADMIN_USER','ID_CONFIRM','ID_MSG_CONFIRM_DELETE_USER',
'ID_MSG_CANNOT_DELETE_USER','ID_USERS_SUCCESS_DELETE','ID_AUTHENTICATION'));
$oHeadPublisher->assign('TRANSLATIONS', $labels);
G::RenderPage('publish', 'extJs');
G::RenderPage('publish', 'extJs');

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff