users & groups assignment to tasks was added (first part)

This commit is contained in:
Erik Amaru Ortiz
2011-02-11 23:29:12 +00:00
parent 8579b46de3
commit 3b449dace1
5 changed files with 501 additions and 72 deletions

View File

@@ -489,12 +489,16 @@ class Configurations // extends Configuration
return $dateTime;
}
function getEnvSetting($key=null)
function getEnvSetting($key=null, $data=null)
{
$this->loadConfig($obj, 'ENVIRONMENT_SETTINGS','');
if( isset($key) ) {
if( isset($this->aConfig[$key]) ) {
if( isset($key) ) {
if( isset($this->aConfig[$key]) ) {
if( isset($data) && is_array($data) )
foreach($data as $k=>$v)
$this->aConfig[$key] = str_replace('@'.$k, $v, $this->aConfig[$key]);
return $this->aConfig[$key];
} else
return '';

View File

@@ -260,5 +260,50 @@ class Groupwf extends BaseGroupwf {
$c->add(ContentPeer::CON_LANG, SYS_LANG );
return $c;
}
function getAll($start=null, $limit=null, $search=null)
{
$totalCount = 0;
$criteria = new Criteria('workflow');
$criteria->addSelectColumn(GroupwfPeer::GRP_UID);
$criteria->addSelectColumn(GroupwfPeer::GRP_STATUS);
$criteria->addSelectColumn(ContentPeer::CON_VALUE);
$criteria->addJoin(GroupwfPeer::GRP_UID, ContentPeer::CON_ID, Criteria::LEFT_JOIN);
$criteria->add(GroupwfPeer::GRP_STATUS, 'ACTIVE');
$criteria->add(ContentPeer::CON_CATEGORY,'GRP_TITLE');
$criteria->add(ContentPeer::CON_LANG,SYS_LANG);
$criteria->addAscendingOrderByColumn(ContentPeer::CON_VALUE);
if ( $search ){
$criteria->add(ContentPeer::CON_VALUE,'%'.$search.'%',Criteria::LIKE);
}
$c = clone $criteria;
$c->clearSelectColumns();
$c->addSelectColumn('COUNT(*)');
$dataset = GroupwfPeer::doSelectRS($c);
$dataset->next();
$rowCount = $dataset->getRow();
if( is_array($rowCount) )
$totalCount = $rowCount[0];
if( $start )
$criteria->setOffset($start);
if( $limit )
$criteria->setLimit($limit);
$rs = GroupwfPeer::doSelectRS($criteria);
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rows = Array();
while( $rs->next() )
$rows[] = $rs->getRow();
$result->data = $rows;
$result->totalCount = $totalCount;
return $result;
}
} // Groupwf

View File

@@ -243,6 +243,7 @@ public function userExists($UsrUid)
throw $oException;
}
}
function getAvailableUsersCriteria($sGroupUID = '')
{
try {
@@ -259,6 +260,70 @@ public function userExists($UsrUid)
throw ($oError);
}
}
/**
* Get all Active users
*
* @return array of all active users
*/
function getAll($start=null, $limit=null, $search=null)
{
$totalCount = 0;
$criteria = new Criteria('workflow');
$criteria->addSelectColumn(UsersPeer::USR_UID);
$criteria->addSelectColumn(UsersPeer::USR_USERNAME);
$criteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
$criteria->addSelectColumn(UsersPeer::USR_LASTNAME);
$criteria->add(UsersPeer::USR_STATUS, 'ACTIVE');
$criteria->addAscendingOrderByColumn ( UsersPeer::USR_LASTNAME );
if( $search ) {
$criteria->add(
$criteria->getNewCriterion(
UsersPeer::USR_USERNAME,
"%$search%", Criteria::LIKE
)->addOr(
$criteria->getNewCriterion(
UsersPeer::USR_FIRSTNAME,
"%$search%", Criteria::LIKE
)
)->addOr(
$criteria->getNewCriterion(
UsersPeer::USR_LASTNAME,
"%$search%", Criteria::LIKE
)
)
);
}
$c = clone $criteria;
$c->clearSelectColumns();
$c->addSelectColumn('COUNT(*)');
$dataset = UsersPeer::doSelectRS($c);
$dataset->next();
$rowCount = $dataset->getRow();
if( is_array($rowCount) )
$totalCount = $rowCount[0];
if( $start )
$criteria->setOffset($start);
if( $limit )
$criteria->setLimit($limit);
$rs = UsersPeer::doSelectRS($criteria);
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rows = Array();
while( $rs->next() )
$rows[] = $rs->getRow();
$result->data = $rows;
$result->totalCount = $totalCount;
return $result;
}
} // Users
?>

View File

@@ -29,8 +29,10 @@
*/
$action = $_REQUEST['action'];
unset($_REQUEST['action']);
$ajax = new Ajax();
$ajax->$action();
$ajax->$action($_REQUEST);
class Ajax
{
@@ -143,6 +145,40 @@ class Ajax
$oProcess->changeDebugMode($id);
}
}
function getUsers($params)
{
require_once 'classes/model/Users.php';
G::LoadClass('configuration');
$search = isset($params['search']) ? $params['search']: null;
$users = Users::getAll($params['start'], $params['limit'], $search);
$conf = new Configurations;
foreach($users->data as $i=>$user){
$users->data[$i]['USER'] = $conf->getEnvSetting(
'format',
Array(
'userName'=>$user['USR_USERNAME'],
'firstName'=>$user['USR_FIRSTNAME'],
'lastName'=>$user['USR_LASTNAME']
)
);
}
print G::json_encode($users);
}
function getGroups($params)
{
require_once 'classes/model/Groupwf.php';
$search = isset($params['search']) ? $params['search']: null;
$groups = Groupwf::getAll($params['start'], $params['limit'], $search);
print G::json_encode($groups);
}
}

File diff suppressed because it is too large Load Diff