BUG 0000 BUG 0000 User Inbox Simplified (4th commit)
This commit is contained in:
@@ -1,56 +0,0 @@
|
||||
(function($){
|
||||
|
||||
$.confirm = function(params){
|
||||
|
||||
if($('#confirmOverlay').length){
|
||||
// A confirm is already shown on the page:
|
||||
return false;
|
||||
}
|
||||
|
||||
var buttonHTML = '';
|
||||
$.each(params.buttons,function(name,obj){
|
||||
|
||||
// Generating the markup for the buttons:
|
||||
|
||||
buttonHTML += '<a href="#" class="button '+obj['class']+'">'+name+'<span></span></a>';
|
||||
|
||||
if(!obj.action){
|
||||
obj.action = function(){};
|
||||
}
|
||||
});
|
||||
|
||||
var markup = [
|
||||
'<div id="confirmOverlay">',
|
||||
'<div id="confirmBox">',
|
||||
'<h1>',params.title,'</h1>',
|
||||
'<p>',params.message,'</p>',
|
||||
'<div id="confirmButtons">',
|
||||
buttonHTML,
|
||||
'</div></div></div>'
|
||||
].join('');
|
||||
|
||||
$(markup).hide().appendTo('body').fadeIn();
|
||||
|
||||
var buttons = $('#confirmBox .button'),
|
||||
i = 0;
|
||||
|
||||
$.each(params.buttons,function(name,obj){
|
||||
buttons.eq(i++).click(function(){
|
||||
|
||||
// Calling the action attribute when a
|
||||
// click occurs, and hiding the confirm.
|
||||
|
||||
obj.action();
|
||||
$.confirm.hide();
|
||||
return false;
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
$.confirm.hide = function(){
|
||||
$('#confirmOverlay').fadeOut(function(){
|
||||
$(this).remove();
|
||||
});
|
||||
}
|
||||
|
||||
})(jQuery);
|
||||
645
workflow/engine/classes/class.applications.php
Normal file
645
workflow/engine/classes/class.applications.php
Normal file
@@ -0,0 +1,645 @@
|
||||
<?php
|
||||
|
||||
class Applications
|
||||
{
|
||||
|
||||
public function getAll($start=null, $limit=null, $action=null, $filter=null, $search=null, $process=null, $user=null, $status=null, $type=null, $dateFrom=null, $dateTo=null, $callback=null, $dir=null, $sort='APP_CACHE_VIEW.APP_NUMBER')
|
||||
{
|
||||
$callback = isset($callback) ? $callback : 'stcCallback1001';
|
||||
$dir = isset($dir) ? $dir : 'DESC';
|
||||
$sort = isset($sort) ? $sort : '';
|
||||
$start = isset($start) ? $start : '0';
|
||||
$limit = isset($limit) ? $limit : '25';
|
||||
$filter = isset($filter) ? $filter : '';
|
||||
$search = isset($search) ? $search : '';
|
||||
$process = isset($process)? $process : '';
|
||||
$user = isset($user) ? $user : '';
|
||||
$status = isset($status) ? strtoupper($status) : '';
|
||||
$action = isset($action) ? $action : 'todo';
|
||||
$type = isset($type) ? $type: 'extjs';
|
||||
$dateFrom = isset($dateFrom)? $dateFrom : '';
|
||||
$dateTo = isset($dateTo) ? $dateTo : '';
|
||||
|
||||
G::LoadClass("BasePeer" );
|
||||
G::LoadClass ( 'configuration' );
|
||||
require_once ( "classes/model/AppCacheView.php" );
|
||||
require_once ( "classes/model/AppDelegation.php" );
|
||||
require_once ( "classes/model/AdditionalTables.php" );
|
||||
require_once ( "classes/model/AppDelay.php" );
|
||||
require_once ( "classes/model/Fields.php" );
|
||||
|
||||
$userUid = ( isset($_SESSION['USER_LOGGED'] ) && $_SESSION['USER_LOGGED'] != '' ) ? $_SESSION['USER_LOGGED'] : null;
|
||||
$oAppCache = new AppCacheView();
|
||||
|
||||
//get data configuration
|
||||
$conf = new Configurations();
|
||||
$confCasesList = $conf->getConfiguration('casesList',($action=='search'||$action=='simple_search')?'sent':$action );
|
||||
// var_dump($confCasesList);
|
||||
$oAppCache->confCasesList = $confCasesList;
|
||||
|
||||
// get the action based list
|
||||
switch ( $action ) {
|
||||
case 'draft' :
|
||||
$Criteria = $oAppCache->getDraftListCriteria($userUid);
|
||||
$CriteriaCount = $oAppCache->getDraftCountCriteria($userUid);
|
||||
break;
|
||||
case 'sent' :
|
||||
$Criteria = $oAppCache->getSentListCriteria($userUid);
|
||||
$CriteriaCount = $oAppCache->getSentCountCriteria($userUid);
|
||||
// var_dump($Criteria);
|
||||
break;
|
||||
case 'selfservice' :
|
||||
case 'unassigned':
|
||||
$Criteria = $oAppCache->getUnassignedListCriteria($userUid);
|
||||
$CriteriaCount = $oAppCache->getUnassignedCountCriteria($userUid);
|
||||
break;
|
||||
case 'paused' :
|
||||
$Criteria = $oAppCache->getPausedListCriteria($userUid);
|
||||
$CriteriaCount = $oAppCache->getPausedCountCriteria($userUid);
|
||||
break;
|
||||
case 'completed' :
|
||||
$Criteria = $oAppCache->getCompletedListCriteria($userUid);
|
||||
$CriteriaCount = $oAppCache->getCompletedCountCriteria($userUid);
|
||||
break;
|
||||
case 'cancelled' :
|
||||
$Criteria = $oAppCache->getCancelledListCriteria($userUid);
|
||||
$CriteriaCount = $oAppCache->getCancelledCountCriteria($userUid);
|
||||
break;
|
||||
case 'search' :
|
||||
$Criteria = $oAppCache->getSearchListCriteria();
|
||||
$CriteriaCount = $oAppCache->getSearchCountCriteria();
|
||||
break;
|
||||
case 'simple_search' :
|
||||
$Criteria = $oAppCache->getSimpleSearchListCriteria();
|
||||
$CriteriaCount = $oAppCache->getSimpleSearchCountCriteria();
|
||||
break;
|
||||
case 'to_revise' :
|
||||
$Criteria = $oAppCache->getToReviseListCriteria($userUid);
|
||||
$CriteriaCount = $oAppCache->getToReviseCountCriteria($userUid);
|
||||
break;
|
||||
case 'to_reassign' :
|
||||
$Criteria = $oAppCache->getToReassignListCriteria();
|
||||
$CriteriaCount = $oAppCache->getToReassignCountCriteria();
|
||||
break;
|
||||
case 'all' :
|
||||
$Criteria = $oAppCache->getAllCasesListCriteria($userUid);
|
||||
$CriteriaCount = $oAppCache->getAllCasesCountCriteria($userUid);
|
||||
break;
|
||||
// general criteria probably will be deprecated
|
||||
case 'gral' :
|
||||
$Criteria = $oAppCache->getGeneralListCriteria();
|
||||
$CriteriaCount = $oAppCache->getGeneralCountCriteria();
|
||||
break;
|
||||
case 'todo' :
|
||||
default:
|
||||
$Criteria = $oAppCache->getToDoListCriteria($userUid);
|
||||
$CriteriaCount = $oAppCache->getToDoCountCriteria($userUid);
|
||||
break;
|
||||
}
|
||||
|
||||
if ( !is_array($confCasesList) ) {
|
||||
$rows = $this->getDefaultFields( $action );
|
||||
$result = $this->genericJsonResponse( '', array(), $rows , 20, '' );
|
||||
//$conf->saveObject($result,'casesList',$action,'','','');
|
||||
}
|
||||
|
||||
// add the process filter
|
||||
if ( $process != '' ) {
|
||||
$Criteria->add (AppCacheViewPeer::PRO_UID, $process, Criteria::EQUAL );
|
||||
$CriteriaCount->add (AppCacheViewPeer::PRO_UID, $process, Criteria::EQUAL );
|
||||
}
|
||||
|
||||
// add the user filter
|
||||
if ( $user != '' ) {
|
||||
$Criteria->add (AppCacheViewPeer::USR_UID, $user, Criteria::EQUAL );
|
||||
$CriteriaCount->add (AppCacheViewPeer::USR_UID, $user, Criteria::EQUAL );
|
||||
}
|
||||
|
||||
if ( $status != '' ) {
|
||||
$Criteria->add (AppCacheViewPeer::APP_STATUS, $status, Criteria::EQUAL );
|
||||
$CriteriaCount->add (AppCacheViewPeer::APP_STATUS, $status, Criteria::EQUAL );
|
||||
}
|
||||
|
||||
if ( $dateFrom != '' ) {
|
||||
if( $dateTo != '' ){
|
||||
$Criteria->add(
|
||||
$Criteria->getNewCriterion(
|
||||
AppCacheViewPeer::DEL_DELEGATE_DATE,
|
||||
$dateFrom, Criteria::GREATER_EQUAL
|
||||
)->addAnd($Criteria->getNewCriterion(
|
||||
AppCacheViewPeer::DEL_DELEGATE_DATE,
|
||||
$dateTo, Criteria::LESS_EQUAL
|
||||
))
|
||||
);
|
||||
$CriteriaCount->add(
|
||||
$CriteriaCount->getNewCriterion(
|
||||
AppCacheViewPeer::DEL_DELEGATE_DATE,
|
||||
$dateFrom, Criteria::GREATER_EQUAL
|
||||
)->addAnd($Criteria->getNewCriterion(
|
||||
AppCacheViewPeer::DEL_DELEGATE_DATE,
|
||||
$dateTo, Criteria::LESS_EQUAL
|
||||
))
|
||||
);
|
||||
} else {
|
||||
$Criteria->add (AppCacheViewPeer::DEL_DELEGATE_DATE, $dateFrom, Criteria::GREATER_EQUAL );
|
||||
$CriteriaCount->add (AppCacheViewPeer::DEL_DELEGATE_DATE, $dateFrom, Criteria::GREATER_EQUAL );
|
||||
}
|
||||
} else if ( $dateTo != '' ) {
|
||||
$Criteria->add (AppCacheViewPeer::DEL_DELEGATE_DATE, $dateTo, Criteria::LESS_EQUAL );
|
||||
$CriteriaCount->add (AppCacheViewPeer::DEL_DELEGATE_DATE, $dateTo, Criteria::LESS_EQUAL );
|
||||
}
|
||||
|
||||
//add the filter
|
||||
if ( $filter != '' ) {
|
||||
switch ( $filter ) {
|
||||
case 'read' :
|
||||
$Criteria->add (AppCacheViewPeer::DEL_INIT_DATE, null, Criteria::ISNOTNULL);
|
||||
$CriteriaCount->add (AppCacheViewPeer::DEL_INIT_DATE, null, Criteria::ISNOTNULL);
|
||||
break;
|
||||
case 'unread' :
|
||||
$Criteria->add (AppCacheViewPeer::DEL_INIT_DATE, null, Criteria::ISNULL);
|
||||
$CriteriaCount->add (AppCacheViewPeer::DEL_INIT_DATE, null, Criteria::ISNULL);
|
||||
break;
|
||||
case 'started' :
|
||||
$Criteria->add (AppCacheViewPeer::DEL_INDEX, 1, Criteria::EQUAL);
|
||||
$CriteriaCount->add (AppCacheViewPeer::DEL_INDEX, 1, Criteria::EQUAL);
|
||||
break;
|
||||
case 'completed' :
|
||||
$Criteria->add (AppCacheViewPeer::APP_STATUS, 'COMPLETED', Criteria::EQUAL);
|
||||
$CriteriaCount->add (AppCacheViewPeer::APP_STATUS, 'COMPLETED', Criteria::EQUAL);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//add the search filter
|
||||
if ( $search != '' ) {
|
||||
|
||||
$defaultFields = $oAppCache->getDefaultFields();
|
||||
$oTmpCriteria = '';
|
||||
// if there is PMTABLE for this case list:
|
||||
if ( !empty($oAppCache->confCasesList) && isset($oAppCache->confCasesList['PMTable']) && trim($oAppCache->confCasesList['PMTable'])!='' ) {
|
||||
// getting the table name
|
||||
$oAdditionalTables = AdditionalTablesPeer::retrieveByPK($oAppCache->confCasesList['PMTable']);
|
||||
$tableName = $oAdditionalTables->getAddTabName();
|
||||
$oNewCriteria = new Criteria( 'workflow' );
|
||||
$counter = 0;
|
||||
foreach($oAppCache->confCasesList['second']['data'] as $fieldData){
|
||||
if ( !in_array($fieldData['name'],$defaultFields) ){
|
||||
$fieldName = $tableName.'.'.$fieldData['name'];
|
||||
if ( $counter == 0 ) {
|
||||
$oTmpCriteria = $oNewCriteria->getNewCriterion ( $fieldName, '%' . $search . '%', Criteria::LIKE );
|
||||
} else {
|
||||
$oTmpCriteria = $oNewCriteria->getNewCriterion ( $fieldName, '%' . $search . '%', Criteria::LIKE )->addOr($oTmpCriteria);
|
||||
}
|
||||
$counter++;
|
||||
}
|
||||
}
|
||||
//add the default and hidden DEL_INIT_DATE
|
||||
}
|
||||
|
||||
// the criteria adds new fields if there are defined PM Table Fields in the cases list
|
||||
if ($oTmpCriteria!='') {
|
||||
$Criteria->add(
|
||||
$Criteria->getNewCriterion(
|
||||
AppCacheViewPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE
|
||||
)->addOr($Criteria->getNewCriterion(
|
||||
AppCacheViewPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE
|
||||
)->addOr($Criteria->getNewCriterion(
|
||||
AppCacheViewPeer::APP_NUMBER, $search, Criteria::LIKE
|
||||
)->addOr($oTmpCriteria))
|
||||
));
|
||||
} else {
|
||||
$Criteria->add(
|
||||
$Criteria->getNewCriterion(
|
||||
AppCacheViewPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE
|
||||
)->addOr($Criteria->getNewCriterion(
|
||||
AppCacheViewPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE
|
||||
)->addOr($Criteria->getNewCriterion(
|
||||
AppCacheViewPeer::APP_NUMBER, $search, Criteria::LIKE
|
||||
))
|
||||
));
|
||||
}
|
||||
|
||||
// the count query needs to be the normal criteria query if there are defined PM Table Fields in the cases list
|
||||
if ($oTmpCriteria!='') {
|
||||
$CriteriaCount = $Criteria;
|
||||
} else {
|
||||
$CriteriaCount->add(
|
||||
$CriteriaCount->getNewCriterion(
|
||||
AppCacheViewPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE
|
||||
)->addOr($CriteriaCount->getNewCriterion(
|
||||
AppCacheViewPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE
|
||||
)->addOr($CriteriaCount->getNewCriterion(
|
||||
AppCacheViewPeer::APP_NUMBER, $search, Criteria::LIKE
|
||||
))
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
//here we count how many records exists for this criteria.
|
||||
//BUT there are some special cases, and if we dont optimize them the server will crash.
|
||||
$doCountAlreadyExecuted = false;
|
||||
//case 1. when the SEARCH action is selected and none filter, search criteria is defined,
|
||||
//we need to count using the table APPLICATION, because APP_CACHE_VIEW takes 3 seconds
|
||||
|
||||
if ( $action == 'search' && $filter == '' && $search == '' && $process == '' && $status == '' && $dateFrom == '' && $dateTo == '') {
|
||||
$totalCount = $oAppCache->getSearchAllCount();
|
||||
$doCountAlreadyExecuted = true;
|
||||
}
|
||||
|
||||
if ( $doCountAlreadyExecuted == false ) {
|
||||
// in the case of reassign the distinct attribute shows a diferent count result comparing to the
|
||||
// original list
|
||||
if ($action == 'to_reassign' || $action == 'todo'){
|
||||
$distinct = false;
|
||||
} else{
|
||||
$distinct = true;
|
||||
}
|
||||
// first check if there is a PMTable defined within the list,
|
||||
// the issue that brokes the normal criteria query seems to be fixed
|
||||
if (isset($oAppCache->confCasesList['PMTable']) && !empty($oAppCache->confCasesList['PMTable'])) {
|
||||
// then
|
||||
$oAdditionalTables = AdditionalTablesPeer::retrieveByPK($oAppCache->confCasesList['PMTable']);
|
||||
$tableName = $oAdditionalTables->getAddTabName();
|
||||
$tableName = strtolower($tableName);
|
||||
$tableNameArray = explode('_',$tableName);
|
||||
foreach ($tableNameArray as $item){
|
||||
$newTableName[] = ucfirst($item);
|
||||
}
|
||||
$tableName = implode('',$newTableName);
|
||||
// so the pm table class can be invoqued from the pm table model clases
|
||||
if (!class_exists($tableName)){
|
||||
require_once(PATH_DB.SYS_SYS.PATH_SEP."classes".PATH_SEP.$tableName.".php");
|
||||
}
|
||||
}
|
||||
$totalCount = AppCacheViewPeer::doCount( $CriteriaCount, $distinct );
|
||||
|
||||
}
|
||||
|
||||
//add sortable options
|
||||
if ( $sort != '' ) {
|
||||
if ( $dir == 'DESC' )
|
||||
$Criteria->addDescendingOrderByColumn( $sort );
|
||||
else
|
||||
$Criteria->addAscendingOrderByColumn( $sort );
|
||||
}
|
||||
|
||||
//limit the results according the interface
|
||||
$Criteria->setLimit( $limit );
|
||||
$Criteria->setOffset( $start );
|
||||
|
||||
|
||||
/*
|
||||
// this is the optimal way or query to render the cases search list
|
||||
// fixing the bug related to the wrong data displayed in the list
|
||||
if ( $action == 'search' ) {
|
||||
$oDatasetIndex = AppCacheViewPeer::doSelectRS( $Criteria );
|
||||
$oDatasetIndex->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$oDatasetIndex->next();
|
||||
// a list of MAX_DEL_INDEXES is required in order to validate the right row
|
||||
while($aRow = $oDatasetIndex->getRow()){
|
||||
$maxDelIndexList[] = $aRow['MAX_DEL_INDEX'];
|
||||
$oDatasetIndex->next();
|
||||
}
|
||||
// adding the validation condition in order to get the right row using the group by sentence
|
||||
$Criteria->add(AppCacheViewPeer::DEL_INDEX, $maxDelIndexList, Criteria::IN );
|
||||
//
|
||||
$params = array ( $maxDelIndexList );
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
//execute the query
|
||||
$oDataset = AppCacheViewPeer::doSelectRS($Criteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
|
||||
$result = array();
|
||||
$result['totalCount'] = $totalCount;
|
||||
$rows = array();
|
||||
$aPriorities = array('1'=>'VL', '2'=>'L', '3'=>'N', '4'=>'H', '5'=>'VH');
|
||||
$index = $start;
|
||||
while($aRow = $oDataset->getRow()){
|
||||
//$aRow = $oAppCache->replaceRowUserData($aRow);
|
||||
|
||||
/* For participated cases, we want the last step in the case, not only
|
||||
* the last step this user participated. To do that we get every case
|
||||
* information again for the last step. (This could be solved by a subquery,
|
||||
* but Propel might not support it and subqueries can be slower for larger
|
||||
* datasets).
|
||||
*/
|
||||
if ($action == 'sent' || $action == 'search') {
|
||||
$maxCriteria = new Criteria('workflow');
|
||||
$maxCriteria->add(AppCacheViewPeer::APP_UID, $aRow['APP_UID'], Criteria::EQUAL);
|
||||
$maxCriteria->addDescendingOrderByColumn(AppCacheViewPeer::DEL_INDEX);
|
||||
$maxCriteria->setLimit(1);
|
||||
|
||||
$maxDataset = AppCacheViewPeer::doSelectRS( $maxCriteria );
|
||||
$maxDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$maxDataset->next();
|
||||
|
||||
$newData = $maxDataset->getRow();
|
||||
foreach ($aRow as $col => $value) {
|
||||
if (array_key_exists($col, $newData))
|
||||
$aRow[$col] = $newData[$col];
|
||||
}
|
||||
|
||||
$maxDataset->close();
|
||||
}
|
||||
|
||||
if (!isset($aRow['APP_CURRENT_USER']))
|
||||
$aRow['APP_CURRENT_USER'] = "[Unassigned]";
|
||||
|
||||
|
||||
// replacing the status data with their respective translation
|
||||
if( isset($aRow['APP_STATUS']) ){
|
||||
$aRow['APP_STATUS'] = G::LoadTranslation("ID_{$aRow['APP_STATUS']}");
|
||||
}
|
||||
// replacing the priority data with their respective translation
|
||||
if( isset($aRow['DEL_PRIORITY']) ){
|
||||
$aRow['DEL_PRIORITY'] = G::LoadTranslation("ID_PRIORITY_{$aPriorities[$aRow['DEL_PRIORITY']]}");
|
||||
}
|
||||
|
||||
$rows[] = $aRow;
|
||||
$oDataset->next();
|
||||
}
|
||||
|
||||
$result['data'] = $rows;
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
//TODO: Encapsulates these and another default generation functions inside a class
|
||||
/**
|
||||
* generate all the default fields
|
||||
* @return Array $fields
|
||||
*/
|
||||
function setDefaultFields() {
|
||||
$fields = array();
|
||||
$fields['APP_NUMBER'] = array( 'name' => 'APP_NUMBER' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_NUMBER') , 'width' => 40, 'align' => 'left');
|
||||
$fields['APP_UID'] = array( 'name' => 'APP_UID' , 'fieldType' => 'key', 'label' => G::loadTranslation('ID_CASESLIST_APP_UID'), 'width' => 80, 'align' => 'left');
|
||||
$fields['DEL_INDEX'] = array( 'name' => 'DEL_INDEX' , 'fieldType' => 'key' , 'label' => G::loadTranslation('ID_CASESLIST_DEL_INDEX') , 'width' => 50, 'align' => 'left');
|
||||
$fields['TAS_UID'] = array( 'name' => 'TAS_UID' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_TAS_UID') , 'width' => 80, 'align' => 'left');
|
||||
$fields['USR_UID'] = array( 'name' => 'USR_UID' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_USR_UID') , 'width' => 80, 'align' => 'left', 'hidden' => true);
|
||||
$fields['PREVIOUS_USR_UID'] = array( 'name' => 'PREVIOUS_USR_UID' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_PREVIOUS_USR_UID') , 'width' => 80, 'align' => 'left', 'hidden' => true);
|
||||
$fields['APP_TITLE'] = array( 'name' => 'APP_TITLE' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_TITLE') , 'width' => 140, 'align' => 'left');
|
||||
$fields['APP_PRO_TITLE'] = array( 'name' => 'APP_PRO_TITLE' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_PRO_TITLE') , 'width' => 140, 'align' => 'left');
|
||||
$fields['APP_TAS_TITLE'] = array( 'name' => 'APP_TAS_TITLE' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_TAS_TITLE') , 'width' => 140, 'align' => 'left');
|
||||
$fields['APP_DEL_PREVIOUS_USER'] = array( 'name' => 'APP_DEL_PREVIOUS_USER' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_DEL_PREVIOUS_USER') , 'width' => 120, 'align' => 'left');
|
||||
$fields['APP_CURRENT_USER'] = array( 'name' => 'APP_CURRENT_USER' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_CURRENT_USER') , 'width' => 120, 'align' => 'left');
|
||||
$fields['DEL_TASK_DUE_DATE'] = array( 'name' => 'DEL_TASK_DUE_DATE' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_DEL_TASK_DUE_DATE') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_UPDATE_DATE'] = array( 'name' => 'APP_UPDATE_DATE' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_UPDATE_DATE') , 'width' => 100, 'align' => 'left');
|
||||
$fields['DEL_PRIORITY'] = array( 'name' => 'DEL_PRIORITY' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_DEL_PRIORITY') , 'width' => 80, 'align' => 'left');
|
||||
$fields['APP_STATUS'] = array( 'name' => 'APP_STATUS' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_STATUS') , 'width' => 80, 'align' => 'left');
|
||||
$fields['APP_FINISH_DATE'] = array( 'name' => 'APP_FINISH_DATE' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_FINISH_DATE') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_DELAY_UID'] = array( 'name' => 'APP_DELAY_UID' , 'fieldType' => 'delay field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_DELAY_UID') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_THREAD_INDEX'] = array( 'name' => 'APP_THREAD_INDEX' , 'fieldType' => 'delay field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_THREAD_INDEX') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_DEL_INDEX'] = array( 'name' => 'APP_DEL_INDEX' , 'fieldType' => 'delay field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_DEL_INDEX') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_TYPE'] = array( 'name' => 'APP_TYPE' , 'fieldType' => 'delay field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_TYPE') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_DELEGATION_USER'] = array( 'name' => 'APP_DELEGATION_USER' , 'fieldType' => 'delay field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_DELEGATION_USER') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_ENABLE_ACTION_USER'] = array( 'name' => 'APP_ENABLE_ACTION_USER' , 'fieldType' => 'delay field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_ENABLE_ACTION_USER') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_ENABLE_ACTION_DATE'] = array( 'name' => 'APP_ENABLE_ACTION_DATE' , 'fieldType' => 'delay field' , 'label' => G::loadTranslation('ID_CASESLIST_AAPP_ENABLE_ACTION_DATE') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_DISABLE_ACTION_USER'] = array( 'name' => 'APP_DISABLE_ACTION_USER', 'fieldType' => 'delay field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_DISABLE_ACTION_USER') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_DISABLE_ACTION_DATE'] = array( 'name' => 'APP_DISABLE_ACTION_DATE', 'fieldType' => 'delay field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_DISABLE_ACTION_DATE') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_AUTOMATIC_DISABLED_DATE'] = array( 'name' => 'APP_AUTOMATIC_DISABLED_DATE' , 'fieldType' => 'delay field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_AUTOMATIC_DISABLED_DATE') , 'width' => 100, 'align' => 'left');
|
||||
return $fields;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* this function return the default fields for a default case list
|
||||
* @param $action
|
||||
* @return an array with the default fields for an specific case list (action)
|
||||
*/
|
||||
function getDefaultFields ( $action ) {
|
||||
$rows = array();
|
||||
switch ( $action ) {
|
||||
case 'todo' : // #, Case, task, process, sent by, due date, Last Modify, Priority
|
||||
$fields = $this->setDefaultFields();
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['APP_DEL_PREVIOUS_USER'];
|
||||
$rows[] = $fields['DEL_TASK_DUE_DATE'];
|
||||
$rows[] = $fields['APP_UPDATE_DATE'];
|
||||
$rows[] = $fields['DEL_PRIORITY'];
|
||||
break;
|
||||
|
||||
case 'draft' : //#, Case, task, process, due date, Last Modify, Priority },
|
||||
$fields = $this->setDefaultFields();
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['DEL_TASK_DUE_DATE'];
|
||||
$rows[] = $fields['APP_UPDATE_DATE'];
|
||||
$rows[] = $fields['DEL_PRIORITY'];
|
||||
break;
|
||||
case 'sent' : // #, Case, task, process, current user, sent by, Last Modify, Status
|
||||
$fields = $this->setDefaultFields();
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['APP_DEL_PREVIOUS_USER'];
|
||||
$rows[] = $fields['APP_CURRENT_USER'];
|
||||
$rows[] = $fields['APP_UPDATE_DATE'];
|
||||
$rows[] = $fields['APP_STATUS'];
|
||||
break;
|
||||
case 'unassigned' : //#, Case, task, process, completed by user, finish date
|
||||
$fields = $this->setDefaultFields();
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['APP_DEL_PREVIOUS_USER'];
|
||||
$rows[] = $fields['APP_UPDATE_DATE'];
|
||||
break;
|
||||
case 'paused' : //#, Case, task, process, sent by
|
||||
$fields = $this->setDefaultFields();
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['APP_DEL_PREVIOUS_USER'];
|
||||
$rows[] = $fields['APP_UPDATE_DATE'];
|
||||
$rows[] = $fields['APP_THREAD_INDEX'];
|
||||
$rows[] = $fields['APP_DEL_INDEX'];
|
||||
break;
|
||||
case 'completed' : //#, Case, task, process, completed by user, finish date
|
||||
$fields = $this->setDefaultFields();
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['APP_DEL_PREVIOUS_USER'];
|
||||
$rows[] = $fields['APP_UPDATE_DATE'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
break;
|
||||
|
||||
case 'cancelled' : //#, Case, task, process, due date, Last Modify
|
||||
$fields = $this->setDefaultFields();
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['APP_DEL_PREVIOUS_USER'];
|
||||
$rows[] = $fields['APP_UPDATE_DATE'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
break;
|
||||
|
||||
case 'to_revise' : //#, Case, task, process, due date, Last Modify
|
||||
$fields = $this->setDefaultFields();
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['APP_DEL_PREVIOUS_USER'];
|
||||
$rows[] = $fields['APP_CURRENT_USER'];
|
||||
$rows[] = $fields['DEL_PRIORITY'];
|
||||
$rows[] = $fields['APP_STATUS'];
|
||||
break;
|
||||
|
||||
case 'to_reassign' : //#, Case, task, process, due date, Last Modify
|
||||
$fields = $this->setDefaultFields();
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['TAS_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['APP_CURRENT_USER'];
|
||||
$rows[] = $fields['APP_UPDATE_DATE'];
|
||||
$rows[] = $fields['APP_STATUS'];
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case 'all' : //#, Case, task, process, due date, Last Modify
|
||||
$fields = $this->setDefaultFields();
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['APP_CURRENT_USER'];
|
||||
$rows[] = $fields['APP_DEL_PREVIOUS_USER'];
|
||||
$rows[] = $fields['APP_UPDATE_DATE'];
|
||||
$rows[] = $fields['APP_STATUS'];
|
||||
break;
|
||||
|
||||
case 'gral' : //#, Case, task, process, due date, Last Modify
|
||||
$fields = $this->setDefaultFields();
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['APP_CURRENT_USER'];
|
||||
$rows[] = $fields['APP_DEL_PREVIOUS_USER'];
|
||||
$rows[] = $fields['APP_UPDATE_DATE'];
|
||||
$rows[] = $fields['APP_STATUS'];
|
||||
break;
|
||||
}
|
||||
return $rows;
|
||||
}
|
||||
|
||||
/**
|
||||
* set the generic Json Response, using two array for the grid stores and a string for the pmtable name
|
||||
* @param string $pmtable
|
||||
* @param array $first
|
||||
* @param array $second
|
||||
* @return $response a json string
|
||||
*/
|
||||
function genericJsonResponse($pmtable, $first, $second, $rowsperpage, $dateFormat ) {
|
||||
$firstGrid['totalCount'] = count($first);
|
||||
$firstGrid['data'] = $first;
|
||||
$secondGrid['totalCount'] = count($second);
|
||||
$secondGrid['data'] = $second;
|
||||
$result = array();
|
||||
$result['first'] = $firstGrid;
|
||||
$result['second'] = $secondGrid;
|
||||
$result['PMTable'] = isset($pmtable) ? $pmtable : '';
|
||||
$result['rowsperpage'] = isset($rowsperpage) ? $rowsperpage : 20;
|
||||
$result['dateformat'] = isset($dateFormat) && $dateFormat != '' ? $dateFormat : 'M d, Y';
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param String $itemKey
|
||||
* @param array $fields
|
||||
* @return Boolean
|
||||
*/
|
||||
function removeItem($itemKey,$fields) {
|
||||
$removedField = false;
|
||||
for ($i=0;$i<count($fields);$i++){
|
||||
if ($fields[$i]['name']==$itemKey){
|
||||
unset($fields[$i]);
|
||||
$removedField = true;
|
||||
}
|
||||
}
|
||||
$fields = array_values($fields);
|
||||
//$fields = $this->calculateGridIndex( $fields );
|
||||
return ( $fields );
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param Array $fields
|
||||
* @return Array
|
||||
*
|
||||
*/
|
||||
function calculateGridIndex( $fields ) {
|
||||
for ( $i=0;$i<count( $fields );$i++ ) {
|
||||
$fields[$i]['gridIndex']=$i+1;
|
||||
}
|
||||
return ( $fields );
|
||||
}
|
||||
|
||||
}
|
||||
@@ -123,22 +123,23 @@ class GroupUser extends BaseGroupUser {
|
||||
function getAllUserGroups($usrUid)
|
||||
{
|
||||
$oCriteria = new Criteria('workflow');
|
||||
// $oCriteria->addSelectColumn(GroupUserPeer::GRP_UID);
|
||||
// $oCriteria->addSelectColumn('COUNT(*) AS CNT');
|
||||
// $oCriteria->addJoin(GroupUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::INNER_JOIN);
|
||||
$oCriteria->add(GroupUserPeer::USR_UID, $usrUid);
|
||||
//$oCriteria->add(UsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL);
|
||||
|
||||
//$oCriteria->addGroupByColumn(GroupUserPeer::GRP_UID);
|
||||
$oDataset = GroupUserPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode (ResultSet::FETCHMODE_ASSOC);
|
||||
$g = new Groupwf();
|
||||
|
||||
$rows = Array();
|
||||
while ($oDataset->next()) {
|
||||
$row = $oDataset->getRow();
|
||||
$grpRow = $g->load($row['GRP_UID']);
|
||||
$row = array_merge($row, $grpRow);
|
||||
$rows[] = $row;
|
||||
$g = new Groupwf();
|
||||
try {
|
||||
$grpRow = $g->load($row['GRP_UID']);
|
||||
$row = array_merge($row, $grpRow);
|
||||
$rows[] = $row;
|
||||
}
|
||||
catch (Exception $e){
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
return $rows;
|
||||
|
||||
@@ -15,6 +15,9 @@ class Home extends Controller
|
||||
private $userRolName;
|
||||
private $userUxType;
|
||||
|
||||
private $appListStart = 0;
|
||||
private $appListLimit = 15;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
// setting as using simplified.
|
||||
@@ -64,6 +67,66 @@ class Home extends Controller
|
||||
}
|
||||
|
||||
public function appList($httpData)
|
||||
{
|
||||
$httpData->t = isset($httpData->t)? $httpData->t : 'in';
|
||||
$title = $httpData->t != 'draft' ? 'My Inbox' : 'My Drafts';
|
||||
$action = $httpData->t != 'draft' ? 'todo' : 'draft';
|
||||
//$cases = self::getAppList($httpData->t, $this->appListStart, $this->appListLimit);
|
||||
|
||||
G::LoadClass('applications');
|
||||
$apps = new Applications();
|
||||
$cases = $apps->getAll($this->appListStart, $this->appListLimit, $action);
|
||||
|
||||
// settings html template
|
||||
$this->setView('home/appList');
|
||||
|
||||
// settings vars and rendering
|
||||
$this->setVar('cases', $cases['data']);
|
||||
$this->setVar('cases_count', $cases['totalCount']);
|
||||
$this->setVar('title', $title);
|
||||
$this->setVar('appListStart', $this->appListLimit);
|
||||
$this->setVar('appListLimit', 5);
|
||||
|
||||
G::RenderPage('publish', 'mvc');
|
||||
}
|
||||
|
||||
public function getApps($httpData)
|
||||
{
|
||||
G::LoadClass('applications');
|
||||
$apps = new Applications();
|
||||
$cases = $apps->getAll($httpData->start, $httpData->limit);
|
||||
|
||||
$this->setView('home/applications');
|
||||
|
||||
// settings vars and rendering
|
||||
$this->setVar('cases', $cases['data']);
|
||||
|
||||
G::RenderPage('publish', 'mvc');
|
||||
}
|
||||
|
||||
public function startCase($httpData)
|
||||
{
|
||||
G::LoadClass('case');
|
||||
$case = new Cases();
|
||||
$aData = $case->startCase($httpData->id, $_SESSION['USER_LOGGED']);
|
||||
|
||||
$_SESSION['APPLICATION'] = $aData['APPLICATION'];
|
||||
$_SESSION['INDEX'] = $aData['INDEX'];
|
||||
$_SESSION['PROCESS'] = $aData['PROCESS'];
|
||||
$_SESSION['TASK'] = $httpData->id;
|
||||
$_SESSION['STEP_POSITION'] = 0;
|
||||
$_SESSION['CASES_REFRESH'] = true;
|
||||
|
||||
$oCase = new Cases();
|
||||
$aNextStep = $oCase->getNextStep($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION']);
|
||||
//../cases/cases_Open?APP_UID={$APP.APP_UID}&DEL_INDEX={$APP.DEL_INDEX}&action=todo
|
||||
$aNextStep['PAGE'] = '../cases/cases_Open?APP_UID='.$aData['APPLICATION'].'&DEL_INDEX='.$aData['INDEX'].'&action=draft';
|
||||
$_SESSION ['BREAKSTEP'] ['NEXT_STEP'] = $aNextStep;
|
||||
|
||||
G::header('Location: ' . $aNextStep['PAGE']);
|
||||
}
|
||||
|
||||
private function getAppList($type, $start=null, $limit=null)
|
||||
{
|
||||
require_once ( "classes/model/AppCacheView.php" );
|
||||
require_once ( "classes/model/Application.php" );
|
||||
@@ -72,36 +135,30 @@ class Home extends Controller
|
||||
$appCache = new AppCacheView();
|
||||
$appNotes = new AppNotes();
|
||||
|
||||
$start = 0;
|
||||
$limit = 100;
|
||||
|
||||
$notesStart = 0;
|
||||
$notesLimit = 4;
|
||||
|
||||
$httpData->t = isset($httpData->t)? $httpData->t : 'in';
|
||||
|
||||
/**
|
||||
* Getting the user's applications list
|
||||
*/
|
||||
|
||||
//TODO validate user id
|
||||
|
||||
// getting user's cases on inbox
|
||||
switch ($httpData->t) {
|
||||
case 'in':
|
||||
switch ($type) {
|
||||
case 'inbox': case 'in':
|
||||
$criteria = $appCache->getToDoListCriteria($this->userID);
|
||||
$title = 'My Inbox';
|
||||
break;
|
||||
|
||||
case 'draft':
|
||||
default:
|
||||
$criteria = $appCache->getDraftListCriteria($this->userID); //fast enough
|
||||
$title = 'My Drafts';
|
||||
break;
|
||||
}
|
||||
|
||||
//$criteriac = $oAppCache->getToDoCountCriteria($this->userID);
|
||||
//$criteria->setLimit($limit);
|
||||
//$criteria->setOffset($start);
|
||||
$distinct = $type == 'draft' ? true : false;
|
||||
$criteriac = $appCache->getToDoCountCriteria($this->userID);
|
||||
$totalCount = AppCacheViewPeer::doCount( $criteriac, $distinct );
|
||||
|
||||
if (isset($start))
|
||||
$criteria->setOffset($start);
|
||||
|
||||
if (isset($limit))
|
||||
$criteria->setLimit($limit);
|
||||
|
||||
$criteria->addDescendingOrderByColumn(AppCacheViewPeer::APP_NUMBER);
|
||||
$dataset = AppCacheViewPeer::doSelectRS($criteria);
|
||||
@@ -137,38 +194,8 @@ class Home extends Controller
|
||||
$row['NOTES_LIST'] = $notes['notes'];
|
||||
|
||||
$cases[] = $row;
|
||||
|
||||
}
|
||||
|
||||
// settings html template
|
||||
$this->setView('home/appList');
|
||||
|
||||
// settings vars and rendering
|
||||
$this->setVar('cases', $cases);
|
||||
$this->setVar('title', $title);
|
||||
|
||||
G::RenderPage('publish', 'mvc');
|
||||
}
|
||||
|
||||
public function startCase($httpData)
|
||||
{
|
||||
G::LoadClass('case');
|
||||
$case = new Cases();
|
||||
$aData = $case->startCase($httpData->id, $_SESSION['USER_LOGGED']);
|
||||
|
||||
$_SESSION['APPLICATION'] = $aData['APPLICATION'];
|
||||
$_SESSION['INDEX'] = $aData['INDEX'];
|
||||
$_SESSION['PROCESS'] = $aData['PROCESS'];
|
||||
$_SESSION['TASK'] = $httpData->id;
|
||||
$_SESSION['STEP_POSITION'] = 0;
|
||||
$_SESSION['CASES_REFRESH'] = true;
|
||||
|
||||
$oCase = new Cases();
|
||||
$aNextStep = $oCase->getNextStep($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION']);
|
||||
//../cases/cases_Open?APP_UID={$APP.APP_UID}&DEL_INDEX={$APP.DEL_INDEX}&action=todo
|
||||
$aNextStep['PAGE'] = '../cases/cases_Open?APP_UID='.$aData['APPLICATION'].'&DEL_INDEX='.$aData['INDEX'].'&action=draft';
|
||||
$_SESSION ['BREAKSTEP'] ['NEXT_STEP'] = $aNextStep;
|
||||
|
||||
G::header('Location: ' . $aNextStep['PAGE']);
|
||||
return array('data' => $cases, 'totalCount' => $totalCount);
|
||||
}
|
||||
}
|
||||
@@ -18,630 +18,14 @@
|
||||
$dateTo = isset($_POST['dateTo']) ? substr($_POST['dateTo'],0,10) : '';
|
||||
|
||||
try {
|
||||
|
||||
G::LoadClass("BasePeer" );
|
||||
G::LoadClass ( 'configuration' );
|
||||
require_once ( "classes/model/AppCacheView.php" );
|
||||
require_once ( "classes/model/AppDelegation.php" );
|
||||
require_once ( "classes/model/AdditionalTables.php" );
|
||||
require_once ( "classes/model/AppDelay.php" );
|
||||
require_once ( "classes/model/Fields.php" );
|
||||
|
||||
$userUid = ( isset($_SESSION['USER_LOGGED'] ) && $_SESSION['USER_LOGGED'] != '' ) ? $_SESSION['USER_LOGGED'] : null;
|
||||
$oAppCache = new AppCacheView();
|
||||
|
||||
//get data configuration
|
||||
$conf = new Configurations();
|
||||
$confCasesList = $conf->getConfiguration('casesList',($action=='search'||$action=='simple_search')?'sent':$action );
|
||||
// var_dump($confCasesList);
|
||||
$oAppCache->confCasesList = $confCasesList;
|
||||
|
||||
// get the action based list
|
||||
switch ( $action ) {
|
||||
case 'draft' :
|
||||
$Criteria = $oAppCache->getDraftListCriteria($userUid);
|
||||
$CriteriaCount = $oAppCache->getDraftCountCriteria($userUid);
|
||||
break;
|
||||
case 'sent' :
|
||||
$Criteria = $oAppCache->getSentListCriteria($userUid);
|
||||
$CriteriaCount = $oAppCache->getSentCountCriteria($userUid);
|
||||
// var_dump($Criteria);
|
||||
break;
|
||||
case 'selfservice' :
|
||||
case 'unassigned':
|
||||
$Criteria = $oAppCache->getUnassignedListCriteria($userUid);
|
||||
$CriteriaCount = $oAppCache->getUnassignedCountCriteria($userUid);
|
||||
break;
|
||||
case 'paused' :
|
||||
$Criteria = $oAppCache->getPausedListCriteria($userUid);
|
||||
$CriteriaCount = $oAppCache->getPausedCountCriteria($userUid);
|
||||
break;
|
||||
case 'completed' :
|
||||
$Criteria = $oAppCache->getCompletedListCriteria($userUid);
|
||||
$CriteriaCount = $oAppCache->getCompletedCountCriteria($userUid);
|
||||
break;
|
||||
case 'cancelled' :
|
||||
$Criteria = $oAppCache->getCancelledListCriteria($userUid);
|
||||
$CriteriaCount = $oAppCache->getCancelledCountCriteria($userUid);
|
||||
break;
|
||||
case 'search' :
|
||||
$Criteria = $oAppCache->getSearchListCriteria();
|
||||
$CriteriaCount = $oAppCache->getSearchCountCriteria();
|
||||
break;
|
||||
case 'simple_search' :
|
||||
$Criteria = $oAppCache->getSimpleSearchListCriteria();
|
||||
$CriteriaCount = $oAppCache->getSimpleSearchCountCriteria();
|
||||
break;
|
||||
case 'to_revise' :
|
||||
$Criteria = $oAppCache->getToReviseListCriteria($userUid);
|
||||
$CriteriaCount = $oAppCache->getToReviseCountCriteria($userUid);
|
||||
break;
|
||||
case 'to_reassign' :
|
||||
$Criteria = $oAppCache->getToReassignListCriteria();
|
||||
$CriteriaCount = $oAppCache->getToReassignCountCriteria();
|
||||
break;
|
||||
case 'all' :
|
||||
$Criteria = $oAppCache->getAllCasesListCriteria($userUid);
|
||||
$CriteriaCount = $oAppCache->getAllCasesCountCriteria($userUid);
|
||||
break;
|
||||
// general criteria probably will be deprecated
|
||||
case 'gral' :
|
||||
$Criteria = $oAppCache->getGeneralListCriteria();
|
||||
$CriteriaCount = $oAppCache->getGeneralCountCriteria();
|
||||
break;
|
||||
case 'todo' :
|
||||
default:
|
||||
$Criteria = $oAppCache->getToDoListCriteria($userUid);
|
||||
$CriteriaCount = $oAppCache->getToDoCountCriteria($userUid);
|
||||
break;
|
||||
}
|
||||
|
||||
if ( !is_array($confCasesList) ) {
|
||||
$rows = getDefaultFields( $action );
|
||||
$result = genericJsonResponse( '', array(), $rows , 20, '' );
|
||||
//$conf->saveObject($result,'casesList',$action,'','','');
|
||||
}
|
||||
|
||||
// add the process filter
|
||||
if ( $process != '' ) {
|
||||
$Criteria->add (AppCacheViewPeer::PRO_UID, $process, Criteria::EQUAL );
|
||||
$CriteriaCount->add (AppCacheViewPeer::PRO_UID, $process, Criteria::EQUAL );
|
||||
}
|
||||
|
||||
// add the user filter
|
||||
if ( $user != '' ) {
|
||||
$Criteria->add (AppCacheViewPeer::USR_UID, $user, Criteria::EQUAL );
|
||||
$CriteriaCount->add (AppCacheViewPeer::USR_UID, $user, Criteria::EQUAL );
|
||||
}
|
||||
|
||||
if ( $status != '' ) {
|
||||
$Criteria->add (AppCacheViewPeer::APP_STATUS, $status, Criteria::EQUAL );
|
||||
$CriteriaCount->add (AppCacheViewPeer::APP_STATUS, $status, Criteria::EQUAL );
|
||||
}
|
||||
|
||||
if ( $dateFrom != '' ) {
|
||||
if( $dateTo != '' ){
|
||||
$Criteria->add(
|
||||
$Criteria->getNewCriterion(
|
||||
AppCacheViewPeer::DEL_DELEGATE_DATE,
|
||||
$dateFrom, Criteria::GREATER_EQUAL
|
||||
)->addAnd($Criteria->getNewCriterion(
|
||||
AppCacheViewPeer::DEL_DELEGATE_DATE,
|
||||
$dateTo, Criteria::LESS_EQUAL
|
||||
))
|
||||
);
|
||||
$CriteriaCount->add(
|
||||
$CriteriaCount->getNewCriterion(
|
||||
AppCacheViewPeer::DEL_DELEGATE_DATE,
|
||||
$dateFrom, Criteria::GREATER_EQUAL
|
||||
)->addAnd($Criteria->getNewCriterion(
|
||||
AppCacheViewPeer::DEL_DELEGATE_DATE,
|
||||
$dateTo, Criteria::LESS_EQUAL
|
||||
))
|
||||
);
|
||||
} else {
|
||||
$Criteria->add (AppCacheViewPeer::DEL_DELEGATE_DATE, $dateFrom, Criteria::GREATER_EQUAL );
|
||||
$CriteriaCount->add (AppCacheViewPeer::DEL_DELEGATE_DATE, $dateFrom, Criteria::GREATER_EQUAL );
|
||||
}
|
||||
} else if ( $dateTo != '' ) {
|
||||
$Criteria->add (AppCacheViewPeer::DEL_DELEGATE_DATE, $dateTo, Criteria::LESS_EQUAL );
|
||||
$CriteriaCount->add (AppCacheViewPeer::DEL_DELEGATE_DATE, $dateTo, Criteria::LESS_EQUAL );
|
||||
}
|
||||
|
||||
//add the filter
|
||||
if ( $filter != '' ) {
|
||||
switch ( $filter ) {
|
||||
case 'read' :
|
||||
$Criteria->add (AppCacheViewPeer::DEL_INIT_DATE, null, Criteria::ISNOTNULL);
|
||||
$CriteriaCount->add (AppCacheViewPeer::DEL_INIT_DATE, null, Criteria::ISNOTNULL);
|
||||
break;
|
||||
case 'unread' :
|
||||
$Criteria->add (AppCacheViewPeer::DEL_INIT_DATE, null, Criteria::ISNULL);
|
||||
$CriteriaCount->add (AppCacheViewPeer::DEL_INIT_DATE, null, Criteria::ISNULL);
|
||||
break;
|
||||
case 'started' :
|
||||
$Criteria->add (AppCacheViewPeer::DEL_INDEX, 1, Criteria::EQUAL);
|
||||
$CriteriaCount->add (AppCacheViewPeer::DEL_INDEX, 1, Criteria::EQUAL);
|
||||
break;
|
||||
case 'completed' :
|
||||
$Criteria->add (AppCacheViewPeer::APP_STATUS, 'COMPLETED', Criteria::EQUAL);
|
||||
$CriteriaCount->add (AppCacheViewPeer::APP_STATUS, 'COMPLETED', Criteria::EQUAL);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//add the search filter
|
||||
if ( $search != '' ) {
|
||||
|
||||
$defaultFields = $oAppCache->getDefaultFields();
|
||||
$oTmpCriteria = '';
|
||||
// if there is PMTABLE for this case list:
|
||||
if ( !empty($oAppCache->confCasesList) && isset($oAppCache->confCasesList['PMTable']) && trim($oAppCache->confCasesList['PMTable'])!='' ) {
|
||||
// getting the table name
|
||||
$oAdditionalTables = AdditionalTablesPeer::retrieveByPK($oAppCache->confCasesList['PMTable']);
|
||||
$tableName = $oAdditionalTables->getAddTabName();
|
||||
$oNewCriteria = new Criteria( 'workflow' );
|
||||
$counter = 0;
|
||||
foreach($oAppCache->confCasesList['second']['data'] as $fieldData){
|
||||
if ( !in_array($fieldData['name'],$defaultFields) ){
|
||||
$fieldName = $tableName.'.'.$fieldData['name'];
|
||||
if ( $counter == 0 ) {
|
||||
$oTmpCriteria = $oNewCriteria->getNewCriterion ( $fieldName, '%' . $search . '%', Criteria::LIKE );
|
||||
} else {
|
||||
$oTmpCriteria = $oNewCriteria->getNewCriterion ( $fieldName, '%' . $search . '%', Criteria::LIKE )->addOr($oTmpCriteria);
|
||||
}
|
||||
$counter++;
|
||||
}
|
||||
}
|
||||
//add the default and hidden DEL_INIT_DATE
|
||||
}
|
||||
|
||||
// the criteria adds new fields if there are defined PM Table Fields in the cases list
|
||||
if ($oTmpCriteria!='') {
|
||||
$Criteria->add(
|
||||
$Criteria->getNewCriterion(
|
||||
AppCacheViewPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE
|
||||
)->addOr($Criteria->getNewCriterion(
|
||||
AppCacheViewPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE
|
||||
)->addOr($Criteria->getNewCriterion(
|
||||
AppCacheViewPeer::APP_NUMBER, $search, Criteria::LIKE
|
||||
)->addOr($oTmpCriteria))
|
||||
));
|
||||
} else {
|
||||
$Criteria->add(
|
||||
$Criteria->getNewCriterion(
|
||||
AppCacheViewPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE
|
||||
)->addOr($Criteria->getNewCriterion(
|
||||
AppCacheViewPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE
|
||||
)->addOr($Criteria->getNewCriterion(
|
||||
AppCacheViewPeer::APP_NUMBER, $search, Criteria::LIKE
|
||||
))
|
||||
));
|
||||
}
|
||||
|
||||
// the count query needs to be the normal criteria query if there are defined PM Table Fields in the cases list
|
||||
if ($oTmpCriteria!='') {
|
||||
$CriteriaCount = $Criteria;
|
||||
} else {
|
||||
$CriteriaCount->add(
|
||||
$CriteriaCount->getNewCriterion(
|
||||
AppCacheViewPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE
|
||||
)->addOr($CriteriaCount->getNewCriterion(
|
||||
AppCacheViewPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE
|
||||
)->addOr($CriteriaCount->getNewCriterion(
|
||||
AppCacheViewPeer::APP_NUMBER, $search, Criteria::LIKE
|
||||
))
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
//here we count how many records exists for this criteria.
|
||||
//BUT there are some special cases, and if we dont optimize them the server will crash.
|
||||
$doCountAlreadyExecuted = false;
|
||||
//case 1. when the SEARCH action is selected and none filter, search criteria is defined,
|
||||
//we need to count using the table APPLICATION, because APP_CACHE_VIEW takes 3 seconds
|
||||
|
||||
if ( $action == 'search' && $filter == '' && $search == '' && $process == '' && $status == '' && $dateFrom == '' && $dateTo == '') {
|
||||
$totalCount = $oAppCache->getSearchAllCount();
|
||||
$doCountAlreadyExecuted = true;
|
||||
}
|
||||
|
||||
if ( $doCountAlreadyExecuted == false ) {
|
||||
// in the case of reassign the distinct attribute shows a diferent count result comparing to the
|
||||
// original list
|
||||
if ($action == 'to_reassign' || $action == 'todo'){
|
||||
$distinct = false;
|
||||
} else{
|
||||
$distinct = true;
|
||||
}
|
||||
// first check if there is a PMTable defined within the list,
|
||||
// the issue that brokes the normal criteria query seems to be fixed
|
||||
if (isset($oAppCache->confCasesList['PMTable']) && !empty($oAppCache->confCasesList['PMTable'])) {
|
||||
// then
|
||||
$oAdditionalTables = AdditionalTablesPeer::retrieveByPK($oAppCache->confCasesList['PMTable']);
|
||||
$tableName = $oAdditionalTables->getAddTabName();
|
||||
$tableName = strtolower($tableName);
|
||||
$tableNameArray = explode('_',$tableName);
|
||||
foreach ($tableNameArray as $item){
|
||||
$newTableName[] = ucfirst($item);
|
||||
}
|
||||
$tableName = implode('',$newTableName);
|
||||
// so the pm table class can be invoqued from the pm table model clases
|
||||
if (!class_exists($tableName)){
|
||||
require_once(PATH_DB.SYS_SYS.PATH_SEP."classes".PATH_SEP.$tableName.".php");
|
||||
}
|
||||
}
|
||||
$totalCount = AppCacheViewPeer::doCount( $CriteriaCount, $distinct );
|
||||
|
||||
}
|
||||
|
||||
//add sortable options
|
||||
if ( $sort != '' ) {
|
||||
if ( $dir == 'DESC' )
|
||||
$Criteria->addDescendingOrderByColumn( $sort );
|
||||
else
|
||||
$Criteria->addAscendingOrderByColumn( $sort );
|
||||
}
|
||||
|
||||
//limit the results according the interface
|
||||
$Criteria->setLimit( $limit );
|
||||
$Criteria->setOffset( $start );
|
||||
|
||||
|
||||
/*
|
||||
// this is the optimal way or query to render the cases search list
|
||||
// fixing the bug related to the wrong data displayed in the list
|
||||
if ( $action == 'search' ) {
|
||||
$oDatasetIndex = AppCacheViewPeer::doSelectRS( $Criteria );
|
||||
$oDatasetIndex->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$oDatasetIndex->next();
|
||||
// a list of MAX_DEL_INDEXES is required in order to validate the right row
|
||||
while($aRow = $oDatasetIndex->getRow()){
|
||||
$maxDelIndexList[] = $aRow['MAX_DEL_INDEX'];
|
||||
$oDatasetIndex->next();
|
||||
}
|
||||
// adding the validation condition in order to get the right row using the group by sentence
|
||||
$Criteria->add(AppCacheViewPeer::DEL_INDEX, $maxDelIndexList, Criteria::IN );
|
||||
//
|
||||
$params = array ( $maxDelIndexList );
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
//execute the query
|
||||
$oDataset = AppCacheViewPeer::doSelectRS($Criteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
|
||||
$result = array();
|
||||
$result['totalCount'] = $totalCount;
|
||||
$rows = array();
|
||||
$aPriorities = array('1'=>'VL', '2'=>'L', '3'=>'N', '4'=>'H', '5'=>'VH');
|
||||
$index = $start;
|
||||
while($aRow = $oDataset->getRow()){
|
||||
//$aRow = $oAppCache->replaceRowUserData($aRow);
|
||||
|
||||
/* For participated cases, we want the last step in the case, not only
|
||||
* the last step this user participated. To do that we get every case
|
||||
* information again for the last step. (This could be solved by a subquery,
|
||||
* but Propel might not support it and subqueries can be slower for larger
|
||||
* datasets).
|
||||
*/
|
||||
if ($action == 'sent' || $action == 'search') {
|
||||
$maxCriteria = new Criteria('workflow');
|
||||
$maxCriteria->add(AppCacheViewPeer::APP_UID, $aRow['APP_UID'], Criteria::EQUAL);
|
||||
$maxCriteria->addDescendingOrderByColumn(AppCacheViewPeer::DEL_INDEX);
|
||||
$maxCriteria->setLimit(1);
|
||||
|
||||
$maxDataset = AppCacheViewPeer::doSelectRS( $maxCriteria );
|
||||
$maxDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$maxDataset->next();
|
||||
|
||||
$newData = $maxDataset->getRow();
|
||||
foreach ($aRow as $col => $value) {
|
||||
if (array_key_exists($col, $newData))
|
||||
$aRow[$col] = $newData[$col];
|
||||
}
|
||||
|
||||
$maxDataset->close();
|
||||
}
|
||||
|
||||
if (!isset($aRow['APP_CURRENT_USER']))
|
||||
$aRow['APP_CURRENT_USER'] = "[Unassigned]";
|
||||
|
||||
|
||||
// replacing the status data with their respective translation
|
||||
if( isset($aRow['APP_STATUS']) ){
|
||||
$aRow['APP_STATUS'] = G::LoadTranslation("ID_{$aRow['APP_STATUS']}");
|
||||
}
|
||||
// replacing the priority data with their respective translation
|
||||
if( isset($aRow['DEL_PRIORITY']) ){
|
||||
$aRow['DEL_PRIORITY'] = G::LoadTranslation("ID_PRIORITY_{$aPriorities[$aRow['DEL_PRIORITY']]}");
|
||||
}
|
||||
|
||||
$rows[] = $aRow;
|
||||
$oDataset->next();
|
||||
}
|
||||
$result['data'] = $rows;
|
||||
//print the result in json format
|
||||
print G::json_encode( $result ) ;
|
||||
G::LoadClass('applications');
|
||||
$apps = new Applications();
|
||||
$data = $apps->getAll($start, $limit, $action, $filter, $search, $process, $user, $status, $type, $dateFrom, $dateTo, $callback, $dir, $sort);
|
||||
|
||||
echo G::json_encode($data);
|
||||
}
|
||||
catch ( Exception $e ) {
|
||||
$msg = array ( 'error' => $e->getMessage() );
|
||||
$msg = array ( 'error' => $e->getMessage() );
|
||||
print G::json_encode( $msg ) ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//TODO: Encapsulates these and another default generation functions inside a class
|
||||
/**
|
||||
* generate all the default fields
|
||||
* @return Array $fields
|
||||
*/
|
||||
function setDefaultFields() {
|
||||
$fields = array();
|
||||
$fields['APP_NUMBER'] = array( 'name' => 'APP_NUMBER' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_NUMBER') , 'width' => 40, 'align' => 'left');
|
||||
$fields['APP_UID'] = array( 'name' => 'APP_UID' , 'fieldType' => 'key', 'label' => G::loadTranslation('ID_CASESLIST_APP_UID'), 'width' => 80, 'align' => 'left');
|
||||
$fields['DEL_INDEX'] = array( 'name' => 'DEL_INDEX' , 'fieldType' => 'key' , 'label' => G::loadTranslation('ID_CASESLIST_DEL_INDEX') , 'width' => 50, 'align' => 'left');
|
||||
$fields['TAS_UID'] = array( 'name' => 'TAS_UID' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_TAS_UID') , 'width' => 80, 'align' => 'left');
|
||||
$fields['USR_UID'] = array( 'name' => 'USR_UID' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_USR_UID') , 'width' => 80, 'align' => 'left', 'hidden' => true);
|
||||
$fields['PREVIOUS_USR_UID'] = array( 'name' => 'PREVIOUS_USR_UID' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_PREVIOUS_USR_UID') , 'width' => 80, 'align' => 'left', 'hidden' => true);
|
||||
$fields['APP_TITLE'] = array( 'name' => 'APP_TITLE' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_TITLE') , 'width' => 140, 'align' => 'left');
|
||||
$fields['APP_PRO_TITLE'] = array( 'name' => 'APP_PRO_TITLE' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_PRO_TITLE') , 'width' => 140, 'align' => 'left');
|
||||
$fields['APP_TAS_TITLE'] = array( 'name' => 'APP_TAS_TITLE' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_TAS_TITLE') , 'width' => 140, 'align' => 'left');
|
||||
$fields['APP_DEL_PREVIOUS_USER'] = array( 'name' => 'APP_DEL_PREVIOUS_USER' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_DEL_PREVIOUS_USER') , 'width' => 120, 'align' => 'left');
|
||||
$fields['APP_CURRENT_USER'] = array( 'name' => 'APP_CURRENT_USER' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_CURRENT_USER') , 'width' => 120, 'align' => 'left');
|
||||
$fields['DEL_TASK_DUE_DATE'] = array( 'name' => 'DEL_TASK_DUE_DATE' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_DEL_TASK_DUE_DATE') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_UPDATE_DATE'] = array( 'name' => 'APP_UPDATE_DATE' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_UPDATE_DATE') , 'width' => 100, 'align' => 'left');
|
||||
$fields['DEL_PRIORITY'] = array( 'name' => 'DEL_PRIORITY' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_DEL_PRIORITY') , 'width' => 80, 'align' => 'left');
|
||||
$fields['APP_STATUS'] = array( 'name' => 'APP_STATUS' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_STATUS') , 'width' => 80, 'align' => 'left');
|
||||
$fields['APP_FINISH_DATE'] = array( 'name' => 'APP_FINISH_DATE' , 'fieldType' => 'case field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_FINISH_DATE') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_DELAY_UID'] = array( 'name' => 'APP_DELAY_UID' , 'fieldType' => 'delay field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_DELAY_UID') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_THREAD_INDEX'] = array( 'name' => 'APP_THREAD_INDEX' , 'fieldType' => 'delay field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_THREAD_INDEX') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_DEL_INDEX'] = array( 'name' => 'APP_DEL_INDEX' , 'fieldType' => 'delay field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_DEL_INDEX') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_TYPE'] = array( 'name' => 'APP_TYPE' , 'fieldType' => 'delay field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_TYPE') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_DELEGATION_USER'] = array( 'name' => 'APP_DELEGATION_USER' , 'fieldType' => 'delay field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_DELEGATION_USER') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_ENABLE_ACTION_USER'] = array( 'name' => 'APP_ENABLE_ACTION_USER' , 'fieldType' => 'delay field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_ENABLE_ACTION_USER') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_ENABLE_ACTION_DATE'] = array( 'name' => 'APP_ENABLE_ACTION_DATE' , 'fieldType' => 'delay field' , 'label' => G::loadTranslation('ID_CASESLIST_AAPP_ENABLE_ACTION_DATE') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_DISABLE_ACTION_USER'] = array( 'name' => 'APP_DISABLE_ACTION_USER', 'fieldType' => 'delay field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_DISABLE_ACTION_USER') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_DISABLE_ACTION_DATE'] = array( 'name' => 'APP_DISABLE_ACTION_DATE', 'fieldType' => 'delay field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_DISABLE_ACTION_DATE') , 'width' => 100, 'align' => 'left');
|
||||
$fields['APP_AUTOMATIC_DISABLED_DATE'] = array( 'name' => 'APP_AUTOMATIC_DISABLED_DATE' , 'fieldType' => 'delay field' , 'label' => G::loadTranslation('ID_CASESLIST_APP_AUTOMATIC_DISABLED_DATE') , 'width' => 100, 'align' => 'left');
|
||||
return $fields;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* this function return the default fields for a default case list
|
||||
* @param $action
|
||||
* @return an array with the default fields for an specific case list (action)
|
||||
*/
|
||||
function getDefaultFields ( $action ) {
|
||||
$rows = array();
|
||||
switch ( $action ) {
|
||||
case 'todo' : // #, Case, task, process, sent by, due date, Last Modify, Priority
|
||||
$fields = setDefaultFields();
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['APP_DEL_PREVIOUS_USER'];
|
||||
$rows[] = $fields['DEL_TASK_DUE_DATE'];
|
||||
$rows[] = $fields['APP_UPDATE_DATE'];
|
||||
$rows[] = $fields['DEL_PRIORITY'];
|
||||
break;
|
||||
|
||||
case 'draft' : //#, Case, task, process, due date, Last Modify, Priority },
|
||||
$fields = setDefaultFields();
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['DEL_TASK_DUE_DATE'];
|
||||
$rows[] = $fields['APP_UPDATE_DATE'];
|
||||
$rows[] = $fields['DEL_PRIORITY'];
|
||||
break;
|
||||
case 'sent' : // #, Case, task, process, current user, sent by, Last Modify, Status
|
||||
$fields = setDefaultFields();
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['APP_DEL_PREVIOUS_USER'];
|
||||
$rows[] = $fields['APP_CURRENT_USER'];
|
||||
$rows[] = $fields['APP_UPDATE_DATE'];
|
||||
$rows[] = $fields['APP_STATUS'];
|
||||
break;
|
||||
case 'unassigned' : //#, Case, task, process, completed by user, finish date
|
||||
$fields = setDefaultFields();
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['APP_DEL_PREVIOUS_USER'];
|
||||
$rows[] = $fields['APP_UPDATE_DATE'];
|
||||
break;
|
||||
case 'paused' : //#, Case, task, process, sent by
|
||||
$fields = setDefaultFields();
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['APP_DEL_PREVIOUS_USER'];
|
||||
$rows[] = $fields['APP_UPDATE_DATE'];
|
||||
$rows[] = $fields['APP_THREAD_INDEX'];
|
||||
$rows[] = $fields['APP_DEL_INDEX'];
|
||||
break;
|
||||
case 'completed' : //#, Case, task, process, completed by user, finish date
|
||||
$fields = setDefaultFields();
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['APP_DEL_PREVIOUS_USER'];
|
||||
$rows[] = $fields['APP_UPDATE_DATE'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
break;
|
||||
|
||||
case 'cancelled' : //#, Case, task, process, due date, Last Modify
|
||||
$fields = setDefaultFields();
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['APP_DEL_PREVIOUS_USER'];
|
||||
$rows[] = $fields['APP_UPDATE_DATE'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
break;
|
||||
|
||||
case 'to_revise' : //#, Case, task, process, due date, Last Modify
|
||||
$fields = setDefaultFields();
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['APP_DEL_PREVIOUS_USER'];
|
||||
$rows[] = $fields['APP_CURRENT_USER'];
|
||||
$rows[] = $fields['DEL_PRIORITY'];
|
||||
$rows[] = $fields['APP_STATUS'];
|
||||
break;
|
||||
|
||||
case 'to_reassign' : //#, Case, task, process, due date, Last Modify
|
||||
$fields = setDefaultFields();
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['TAS_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['APP_CURRENT_USER'];
|
||||
$rows[] = $fields['APP_UPDATE_DATE'];
|
||||
$rows[] = $fields['APP_STATUS'];
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case 'all' : //#, Case, task, process, due date, Last Modify
|
||||
$fields = setDefaultFields();
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['APP_CURRENT_USER'];
|
||||
$rows[] = $fields['APP_DEL_PREVIOUS_USER'];
|
||||
$rows[] = $fields['APP_UPDATE_DATE'];
|
||||
$rows[] = $fields['APP_STATUS'];
|
||||
break;
|
||||
|
||||
case 'gral' : //#, Case, task, process, due date, Last Modify
|
||||
$fields = setDefaultFields();
|
||||
$rows[] = $fields['APP_UID'];
|
||||
$rows[] = $fields['DEL_INDEX'];
|
||||
$rows[] = $fields['USR_UID'];
|
||||
$rows[] = $fields['PREVIOUS_USR_UID'];
|
||||
$rows[] = $fields['APP_NUMBER'];
|
||||
$rows[] = $fields['APP_TITLE'];
|
||||
$rows[] = $fields['APP_PRO_TITLE'];
|
||||
$rows[] = $fields['APP_TAS_TITLE'];
|
||||
$rows[] = $fields['APP_CURRENT_USER'];
|
||||
$rows[] = $fields['APP_DEL_PREVIOUS_USER'];
|
||||
$rows[] = $fields['APP_UPDATE_DATE'];
|
||||
$rows[] = $fields['APP_STATUS'];
|
||||
break;
|
||||
}
|
||||
return $rows;
|
||||
}
|
||||
|
||||
/**
|
||||
* set the generic Json Response, using two array for the grid stores and a string for the pmtable name
|
||||
* @param string $pmtable
|
||||
* @param array $first
|
||||
* @param array $second
|
||||
* @return $response a json string
|
||||
*/
|
||||
function genericJsonResponse($pmtable, $first, $second, $rowsperpage, $dateFormat ) {
|
||||
$firstGrid['totalCount'] = count($first);
|
||||
$firstGrid['data'] = $first;
|
||||
$secondGrid['totalCount'] = count($second);
|
||||
$secondGrid['data'] = $second;
|
||||
$result = array();
|
||||
$result['first'] = $firstGrid;
|
||||
$result['second'] = $secondGrid;
|
||||
$result['PMTable'] = isset($pmtable) ? $pmtable : '';
|
||||
$result['rowsperpage'] = isset($rowsperpage) ? $rowsperpage : 20;
|
||||
$result['dateformat'] = isset($dateFormat) && $dateFormat != '' ? $dateFormat : 'M d, Y';
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param String $itemKey
|
||||
* @param array $fields
|
||||
* @return Boolean
|
||||
*/
|
||||
function removeItem($itemKey,$fields) {
|
||||
$removedField = false;
|
||||
for ($i=0;$i<count($fields);$i++){
|
||||
if ($fields[$i]['name']==$itemKey){
|
||||
unset($fields[$i]);
|
||||
$removedField = true;
|
||||
}
|
||||
}
|
||||
$fields = array_values($fields);
|
||||
//$fields = calculateGridIndex( $fields );
|
||||
return ( $fields );
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param Array $fields
|
||||
* @return Array
|
||||
*
|
||||
*/
|
||||
function calculateGridIndex( $fields ) {
|
||||
for ( $i=0;$i<count( $fields );$i++ ) {
|
||||
$fields[$i]['gridIndex']=$i+1;
|
||||
}
|
||||
return ( $fields );
|
||||
}
|
||||
|
||||
@@ -153,7 +153,13 @@
|
||||
.content-header {
|
||||
background-color: #FFFFFF;
|
||||
border-bottom: 1px solid #E8E8E8;
|
||||
border-radius: 5px 5px 0 0;
|
||||
border-radius: 5px 5px 5px 5px;
|
||||
-webkit-border-bottom-left-radius: 5px;
|
||||
-webkit-border-bottom-right-radius: 5px;
|
||||
-moz-border-radius: 5px 5px 5px 5px;
|
||||
border-radius: 5px 5px 5px 5px;
|
||||
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.6);
|
||||
-moz-box-shadow: 0 1px 2px rgba(0,0,0,0.6);
|
||||
min-height: 20px;
|
||||
padding: 12px;
|
||||
}
|
||||
@@ -180,96 +186,3 @@
|
||||
font-size: 1p1x;
|
||||
margin: 10px 0px 0px 0px;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Confirm ui popup window styles
|
||||
*/
|
||||
|
||||
#confirmOverlay{
|
||||
width:100%;
|
||||
height:100%;
|
||||
position:fixed;
|
||||
top:0;
|
||||
left:0;
|
||||
background:url('/images/simplified/ie.png');
|
||||
background: -moz-linear-gradient(rgba(11,11,11,0.1), rgba(11,11,11,0.6)) repeat-x rgba(11,11,11,0.2);
|
||||
background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(11,11,11,0.1)), to(rgba(11,11,11,0.6))) repeat-x rgba(11,11,11,0.2);
|
||||
z-index:100000;
|
||||
}
|
||||
|
||||
#confirmBox{
|
||||
background:url('/images/simplified/body_bg.jpg') repeat-x left bottom #e5e5e5;
|
||||
width: 400px;
|
||||
position:fixed;
|
||||
left:50%;
|
||||
top:50%;
|
||||
margin:-130px 0 0 -230px;
|
||||
border: 1px solid rgba(33, 33, 33, 0.6);
|
||||
|
||||
-moz-box-shadow: 0 0 2px rgba(255, 255, 255, 0.6) inset;
|
||||
-webkit-box-shadow: 0 0 2px rgba(255, 255, 255, 0.6) inset;
|
||||
box-shadow: 0 0 2px rgba(255, 255, 255, 0.6) inset;
|
||||
}
|
||||
|
||||
#confirmBox h1,
|
||||
#confirmBox p{
|
||||
font: 20px/1 'Cuprum','Lucida Sans Unicode', 'Lucida Grande', sans-serif;
|
||||
background:url('/images/simplified/header_bg.jpg') repeat-x left bottom #f5f5f5;
|
||||
padding: 12px 15px;
|
||||
text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.6);
|
||||
color:#666;
|
||||
}
|
||||
|
||||
#confirmBox h1{
|
||||
letter-spacing:0.3px;
|
||||
color:#888;
|
||||
}
|
||||
|
||||
#confirmBox p{
|
||||
background:none;
|
||||
font-size:16px;
|
||||
line-height:1.4;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
#confirmButtons{
|
||||
padding:15px 0 25px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
#confirmBox .button{
|
||||
display:inline-block;
|
||||
background:url('/images/simplified/buttons.png') no-repeat;
|
||||
color:white;
|
||||
position:relative;
|
||||
height: 33px;
|
||||
|
||||
font:17px/33px 'Cuprum','Lucida Sans Unicode', 'Lucida Grande', sans-serif;
|
||||
|
||||
margin-right: 15px;
|
||||
padding: 0 35px 0 40px;
|
||||
text-decoration:none;
|
||||
border:none;
|
||||
}
|
||||
|
||||
#confirmBox .button:last-child{ margin-right:0;}
|
||||
|
||||
#confirmBox .button span{
|
||||
position:absolute;
|
||||
top:0;
|
||||
right:-5px;
|
||||
background:url('buttons.png') no-repeat;
|
||||
width:5px;
|
||||
height:33px
|
||||
}
|
||||
|
||||
#confirmBox .blue{ background-position:left top;text-shadow:1px 1px 0 #5889a2;}
|
||||
#confirmBox .blue span{ background-position:-195px 0;}
|
||||
#confirmBox .blue:hover{ background-position:left bottom;}
|
||||
#confirmBox .blue:hover span{ background-position:-195px bottom;}
|
||||
|
||||
#confirmBox .gray{ background-position:-200px top;text-shadow:1px 1px 0 #707070;}
|
||||
#confirmBox .gray span{ background-position:-395px 0;}
|
||||
#confirmBox .gray:hover{ background-position:-200px bottom;}
|
||||
#confirmBox .gray:hover span{ background-position:-395px bottom;}
|
||||
@@ -380,7 +380,7 @@ if (isset($G_ENABLE_BLANK_SKIN) && $G_ENABLE_BLANK_SKIN) {
|
||||
require_once(PATH_THIRDPARTY . 'smarty/libs/Smarty.class.php');
|
||||
$smarty = new Smarty();
|
||||
|
||||
$smarty->template_dir = PATH_SKINS;
|
||||
$smarty->template_dir = PATH_TPL;
|
||||
$smarty->compile_dir = PATH_SMARTY_C;
|
||||
$smarty->cache_dir = PATH_SMARTY_CACHE;
|
||||
$smarty->config_dir = PATH_THIRDPARTY . 'smarty/configs';
|
||||
@@ -550,4 +550,3 @@ if (isset($G_ENABLE_BLANK_SKIN) && $G_ENABLE_BLANK_SKIN) {
|
||||
}
|
||||
break;
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -23,6 +23,15 @@
|
||||
background-color:#ECECEC;
|
||||
|
||||
}
|
||||
|
||||
#note_text {
|
||||
width:100%;
|
||||
height:52px;
|
||||
}
|
||||
|
||||
.postitem:hover{
|
||||
/*background:#EFEFEF;*/
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
@@ -51,6 +60,7 @@
|
||||
|
||||
function addNt(appUid)
|
||||
{
|
||||
$('textarea#note_text').val('');
|
||||
$( "#dialog-add-note" ).dialog({
|
||||
resizable: false,
|
||||
height:178,
|
||||
@@ -105,64 +115,47 @@
|
||||
);
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
|
||||
$(document).ready(function(){
|
||||
$("#loadmorebutton").click(function (){
|
||||
$('#loadmorebutton').html('<img src="/images/ajax-loader.gif" />');
|
||||
$.ajax({
|
||||
url: "getApps?start="+appListStart+"&limit="+appListLimit,
|
||||
success: function(html){
|
||||
appListStart += appListLimit;
|
||||
|
||||
if(html){
|
||||
$("#commentlist").append(html);
|
||||
$('#loadmorebutton').html('Load More');
|
||||
}
|
||||
else {
|
||||
$('#loadmorebutton').replaceWith('<center>No more posts to show.</center>');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
});
|
||||
{/literal}
|
||||
|
||||
var appListLimit = {$appListLimit};
|
||||
var appListStart = {$appListStart};
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body onload="resize()" onresize="resize()" >
|
||||
<center>
|
||||
<div class="content-header" style="text-align:left">
|
||||
<h1 style="padding: 10px">{$title}</h1>
|
||||
<h1 style="padding: 10px">{$title} ({$cases_count})</h1>
|
||||
<ul id="commentlist">
|
||||
{foreach from=$cases key=id item=APP}
|
||||
<li>
|
||||
<!-- <span class="messages-link"></span> -->
|
||||
<span class="commentnumber">
|
||||
#{$APP.APP_NUMBER}
|
||||
</span>
|
||||
|
||||
<span id="n_{$APP.APP_UID}" class="notes-link" style="display:{if $APP.NOTES_COUNT neq 0}block{else}none{/if}">
|
||||
<a href="#" onclick="showNt('{$APP.APP_UID}'); return false;"><img src="/images/simplified/messages-grey.png" height="20" width="20"></a>
|
||||
</span>
|
||||
|
||||
<span class="notes-plus-link">
|
||||
<a href="#" onclick="addNt('{$APP.APP_UID}', '{$APP.APP_UID}'); return false;"><img src="/images/simplified/messages-grey-plus.png" height="21" width="21"></a>
|
||||
</span>
|
||||
|
||||
<p>
|
||||
<cite>
|
||||
<a href="../cases/cases_Open?APP_UID={$APP.APP_UID}&DEL_INDEX={$APP.DEL_INDEX}&action=todo">{$APP.APP_TITLE}</a>
|
||||
</cite>
|
||||
</p>
|
||||
<p class="time">{$APP.DEL_DELEGATE_DATE}<!-- February 8th, 2009 at 5:38 am --></p>
|
||||
<p>{$APP.APP_PRO_TITLE}
|
||||
<br/>{$APP.APP_TAS_TITLE}</p>
|
||||
|
||||
<div id="m_{$APP.APP_UID}" class="appMessages">
|
||||
{if $APP.NOTES_COUNT neq 0}
|
||||
{foreach from=$APP.NOTES_LIST key=k item=NOTE}
|
||||
<div class="appMessage">
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td width="50" valign="top">
|
||||
<img border="0" src="../users/users_ViewPhotoGrid?pUID={$NOTE.USR_UID}" width="40" height="40"/>
|
||||
</td>
|
||||
<td>
|
||||
<h3>{$NOTE.USR_FIRSTNAME} {$NOTE.USR_LASTNAME} ({$NOTE.USR_USERNAME})</h3>
|
||||
<p><pre>{$NOTE.NOTE_CONTENT}</pre>
|
||||
|
||||
<div class="appMessageDate">Posted at {$NOTE.NOTE_DATE}</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
{/foreach}
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
</li>
|
||||
{/foreach}
|
||||
{include file='home/applications.html'}
|
||||
</ul>
|
||||
|
||||
<center>
|
||||
<a href="#" style="color:#1F98C7; font-size:12px; font-weight:bold;" id="loadmorebutton">Load More</a>
|
||||
</center>
|
||||
</div>
|
||||
</center>
|
||||
|
||||
@@ -172,6 +165,6 @@
|
||||
<textarea id="note_text" rows="2" cols="22"></textarea>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
48
workflow/engine/templates/home/applications.html
Normal file
48
workflow/engine/templates/home/applications.html
Normal file
@@ -0,0 +1,48 @@
|
||||
{foreach from=$cases key=id item=APP}
|
||||
<li class="postitem">
|
||||
<!-- <span class="messages-link"></span> -->
|
||||
<span class="commentnumber">
|
||||
#{$APP.APP_NUMBER}
|
||||
</span>
|
||||
|
||||
<span id="n_{$APP.APP_UID}" class="notes-link" style="display:{if $APP.NOTES_COUNT neq 0}block{else}none{/if}">
|
||||
<a href="#" onclick="showNt('{$APP.APP_UID}'); return false;"><img src="/images/simplified/messages-grey.png" height="20" width="20"></a>
|
||||
</span>
|
||||
|
||||
<span class="notes-plus-link">
|
||||
<a href="#" onclick="addNt('{$APP.APP_UID}', '{$APP.APP_UID}'); return false;"><img src="/images/simplified/messages-grey-plus.png" height="21" width="21"></a>
|
||||
</span>
|
||||
|
||||
<p>
|
||||
<cite>
|
||||
<a href="../cases/cases_Open?APP_UID={$APP.APP_UID}&DEL_INDEX={$APP.DEL_INDEX}&action=todo">{$APP.APP_TITLE}</a>
|
||||
</cite>
|
||||
</p>
|
||||
<p class="time">{$APP.DEL_DELEGATE_DATE}<!-- February 8th, 2009 at 5:38 am --></p>
|
||||
<p>{$APP.APP_PRO_TITLE}
|
||||
<br/>{$APP.APP_TAS_TITLE}</p>
|
||||
|
||||
<div id="m_{$APP.APP_UID}" class="appMessages">
|
||||
{if $APP.NOTES_COUNT neq 0}
|
||||
{foreach from=$APP.NOTES_LIST key=k item=NOTE}
|
||||
<div class="appMessage">
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td width="50" valign="top">
|
||||
<img border="0" src="../users/users_ViewPhotoGrid?pUID={$NOTE.USR_UID}" width="40" height="40"/>
|
||||
</td>
|
||||
<td>
|
||||
<h3>{$NOTE.USR_FIRSTNAME} {$NOTE.USR_LASTNAME} ({$NOTE.USR_USERNAME})</h3>
|
||||
<p><pre>{$NOTE.NOTE_CONTENT}</pre>
|
||||
|
||||
<div class="appMessageDate">Posted at {$NOTE.NOTE_DATE}</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
{/foreach}
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
</li>
|
||||
{/foreach}
|
||||
@@ -9,7 +9,6 @@
|
||||
|
||||
<script type="text/javascript" src="/js/jquery/jquery-1.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="/js/jquery/jquery-ui-1.8.17.min.js"></script>
|
||||
<script type="text/javascript" src="/js/jquery/jquery.confirm.js"></script>
|
||||
|
||||
{literal}
|
||||
<style>
|
||||
@@ -35,23 +34,6 @@
|
||||
|
||||
function appStart(id, title)
|
||||
{
|
||||
/*$.confirm({
|
||||
'title' : 'Start Case Confirmation',
|
||||
'message' : 'Do you wanna start a new case for:<br /> * <b>"'+title+'"</b>?',
|
||||
'buttons' : {
|
||||
'Yes' : {
|
||||
'class' : 'blue',
|
||||
'action': function(){
|
||||
//elem.slideUp();
|
||||
redirect('home/startCase?id='+id);
|
||||
}
|
||||
},
|
||||
'No' : {
|
||||
'class' : 'gray',
|
||||
'action': function(){} // Nothing to do in this case. You can as well omit the action property.
|
||||
}
|
||||
}
|
||||
});*/
|
||||
$('#startAppTitle').html(title)
|
||||
|
||||
$( "#dialog-confirm" ).dialog({
|
||||
@@ -141,8 +123,9 @@
|
||||
<iframe id="iframex" name="iframex" src="home/appList" width="100%" height="200" scrolling="yes" frameborder="0"></iframe>
|
||||
|
||||
<div id="dialog-confirm" title="Confirm" style="display:none">
|
||||
<p><span class="ui-icon ui-icon-document" style="float:left; margin:0 7px 20px 0;"></span>
|
||||
<span id="startAppTitle"/></p>
|
||||
<p>
|
||||
Start a new case for:<br/>
|
||||
<span class="ui-icon ui-icon-document" style="float:left; margin:0 7px 20px 0;"></span><span id="startAppTitle"/></p>
|
||||
</div>
|
||||
|
||||
{literal}
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 847 B After Width: | Height: | Size: 4.7 KiB |
Reference in New Issue
Block a user