PMCORE-2500

This commit is contained in:
Julio Cesar Laura Avendaño
2020-12-07 22:42:37 +00:00
parent ccfa877170
commit 9285293672
4 changed files with 186 additions and 0 deletions

View File

@@ -19475,6 +19475,18 @@ msgstr "Successfully connected to MySQL Server"
msgid "My account" msgid "My account"
msgstr "My account" msgstr "My account"
# TRANSLATION
# LABEL/ID_MY_CASES
#: LABEL/ID_MY_CASES
msgid "My Cases"
msgstr "My Cases"
# TRANSLATION
# LABEL/ID_MY_DOCUMENTS
#: LABEL/ID_MY_DOCUMENTS
msgid "My Documents"
msgstr "My Documents"
# TRANSLATION # TRANSLATION
# LABEL/ID_MY_DRAFTS # LABEL/ID_MY_DRAFTS
#: LABEL/ID_MY_DRAFTS #: LABEL/ID_MY_DRAFTS
@@ -24977,6 +24989,12 @@ msgstr "Failed saving Supervisor Assigned to process"
msgid "Supervisor has been removed successfully from Process" msgid "Supervisor has been removed successfully from Process"
msgstr "Supervisor has been removed successfully from Process" msgstr "Supervisor has been removed successfully from Process"
# TRANSLATION
# LABEL/ID_SUPERVISOR_TASKS
#: LABEL/ID_SUPERVISOR_TASKS
msgid "Supervisor Tasks"
msgstr "Supervisor Tasks"
# TRANSLATION # TRANSLATION
# LABEL/ID_SUPERVISOR_UNAVAILABLE # LABEL/ID_SUPERVISOR_UNAVAILABLE
#: LABEL/ID_SUPERVISOR_UNAVAILABLE #: LABEL/ID_SUPERVISOR_UNAVAILABLE
@@ -25241,6 +25259,12 @@ msgstr "Overdue"
msgid "Task properties has been saved successfully" msgid "Task properties has been saved successfully"
msgstr "Task properties has been saved successfully" msgstr "Task properties has been saved successfully"
# TRANSLATION
# LABEL/ID_TASK_REASSIGNMENTS
#: LABEL/ID_TASK_REASSIGNMENTS
msgid "Task Reassignments"
msgstr "Task Reassignments"
# TRANSLATION # TRANSLATION
# LABEL/ID_TASK_TRANSFER # LABEL/ID_TASK_TRANSFER
#: LABEL/ID_TASK_TRANSFER #: LABEL/ID_TASK_TRANSFER

View File

@@ -60135,6 +60135,8 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_MYSQL_ERROR','en','MySQL error: {0}','2014-01-15') , ( 'LABEL','ID_MYSQL_ERROR','en','MySQL error: {0}','2014-01-15') ,
( 'LABEL','ID_MYSQL_SUCCESS_CONNECT','en','Successfully connected to MySQL Server','2015-04-08') , ( 'LABEL','ID_MYSQL_SUCCESS_CONNECT','en','Successfully connected to MySQL Server','2015-04-08') ,
( 'LABEL','ID_MY_ACCOUNT','en','My account','2014-01-15') , ( 'LABEL','ID_MY_ACCOUNT','en','My account','2014-01-15') ,
( 'LABEL','ID_MY_CASES','en','My Cases','2020-12-07') ,
( 'LABEL','ID_MY_DOCUMENTS','en','My Documents','2014-12-07') ,
( 'LABEL','ID_MY_DRAFTS','en','My Drafts','2014-01-15') , ( 'LABEL','ID_MY_DRAFTS','en','My Drafts','2014-01-15') ,
( 'LABEL','ID_MY_INBOX','en','My inbox','2014-01-15') , ( 'LABEL','ID_MY_INBOX','en','My inbox','2014-01-15') ,
( 'LABEL','ID_NAME','en','Name','2014-01-15') , ( 'LABEL','ID_NAME','en','Name','2014-01-15') ,
@@ -61080,6 +61082,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_SUPERVISOR_DOES_NOT_HAVE_DYNAFORMS','en','Supervisor does not have a permission for Dynaform(s).','2015-05-28') , ( 'LABEL','ID_SUPERVISOR_DOES_NOT_HAVE_DYNAFORMS','en','Supervisor does not have a permission for Dynaform(s).','2015-05-28') ,
( 'LABEL','ID_SUPERVISOR_FAILED','en','Failed saving Supervisor Assigned to process','2014-01-15') , ( 'LABEL','ID_SUPERVISOR_FAILED','en','Failed saving Supervisor Assigned to process','2014-01-15') ,
( 'LABEL','ID_SUPERVISOR_REMOVED','en','Supervisor has been removed successfully from Process','2014-01-15') , ( 'LABEL','ID_SUPERVISOR_REMOVED','en','Supervisor has been removed successfully from Process','2014-01-15') ,
( 'LABEL','ID_SUPERVISOR_TASKS','en','Supervisor Tasks','2020-12-07') ,
( 'LABEL','ID_SUPERVISOR_UNAVAILABLE','en','No supervisors are available. All supervisors have been already assigned.','2014-01-15') , ( 'LABEL','ID_SUPERVISOR_UNAVAILABLE','en','No supervisors are available. All supervisors have been already assigned.','2014-01-15') ,
( 'LABEL','ID_SUPPORT','en','Support','2014-10-20') , ( 'LABEL','ID_SUPPORT','en','Support','2014-10-20') ,
( 'LABEL','ID_SWITCH_EDITOR','en','Switch Editor','2014-01-15') , ( 'LABEL','ID_SWITCH_EDITOR','en','Switch Editor','2014-01-15') ,
@@ -61126,6 +61129,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
( 'LABEL','ID_TASK_NO_STEPS','en','The task doesn''t have any steps','2014-01-15') , ( 'LABEL','ID_TASK_NO_STEPS','en','The task doesn''t have any steps','2014-01-15') ,
( 'LABEL','ID_TASK_OVERDUE','en','Overdue','2015-06-09') , ( 'LABEL','ID_TASK_OVERDUE','en','Overdue','2015-06-09') ,
( 'LABEL','ID_TASK_PROPERTIES_SAVE','en','Task properties has been saved successfully','2014-01-15') , ( 'LABEL','ID_TASK_PROPERTIES_SAVE','en','Task properties has been saved successfully','2014-01-15') ,
( 'LABEL','ID_TASK_REASSIGNMENTS','en','Task Reassignments','2020-12-07') ,
( 'LABEL','ID_TASK_TRANSFER','en','Task Transfer Date','2014-01-15') , ( 'LABEL','ID_TASK_TRANSFER','en','Task Transfer Date','2014-01-15') ,
( 'LABEL','ID_TASK_WAS_ASSIGNED_TO_USER','en','Manual assignment shouldn''t be used with sub-processes.<br>The task "{0}" from case {1} was assigned to user <b>{2}</b> ( {3} {4} )','2015-02-24') , ( 'LABEL','ID_TASK_WAS_ASSIGNED_TO_USER','en','Manual assignment shouldn''t be used with sub-processes.<br>The task "{0}" from case {1} was assigned to user <b>{2}</b> ( {3} {4} )','2015-02-24') ,
( 'LABEL','ID_TAS_DURATION_REQUIRE','en','Duration task required','2014-0f-15') , ( 'LABEL','ID_TAS_DURATION_REQUIRE','en','Duration task required','2014-0f-15') ,

View File

@@ -0,0 +1,84 @@
<?php
global $RBAC;
global $G_TMP_MENU;
// Home section
$G_TMP_MENU->AddIdRawOption('SEARCHS', '', G::LoadTranslation('ID_HOME'), '', '', 'blockHeader');
$G_TMP_MENU->AddIdRawOption(
'CASES_MY_CASES',
'/',
G::LoadTranslation('ID_MY_CASES'),
'fas fa-sliders-h'
);
if ($RBAC->userCanAccess('PM_ALLCASES') == 1) {
$G_TMP_MENU->AddIdRawOption(
'CASES_SEARCH',
'casesListExtJs?action=search',
G::LoadTranslation('ID_ADVANCEDSEARCH'),
'fas fa-search'
);
}
// Tasks section
$G_TMP_MENU->AddIdRawOption('FOLDERS', '', G::LoadTranslation('ID_TASKS'), '', '', 'blockHeader');
$G_TMP_MENU->AddIdRawOption(
'CASES_INBOX',
'casesListExtJs?action=todo',
G::LoadTranslation('ID_INBOX'),
'far fa-check-circle'
);
$G_TMP_MENU->AddIdRawOption(
'CASES_DRAFT',
'casesListExtJs?action=draft',
G::LoadTranslation('ID_DRAFT'),
'far fa-edit'
);
$G_TMP_MENU->AddIdRawOption(
'CASES_PAUSED',
'casesListExtJs?action=paused',
G::LoadTranslation('ID_PAUSED'),
'far fa-pause-circle'
);
$G_TMP_MENU->AddIdRawOption(
'CASES_SELFSERVICE',
'casesListExtJs?action=selfservice',
G::LoadTranslation('ID_UNASSIGNED'),
'fas fa-crosshairs'
);
// Supervisor Tasks section
$G_TMP_MENU->AddIdRawOption('ADMIN', '', G::LoadTranslation('ID_SUPERVISOR_TASKS'), '', '', 'blockHeader');
/*----------------------------------********---------------------------------*/
$licensedFeatures = PMLicensedFeatures::getSingleton();
if ($licensedFeatures->verifyfeature('7TTeDBQeWRoZTZKYjh4eFpYUlRDUUEyVERPU3FxellWank=')) {
$G_TMP_MENU->AddIdRawOption(
'CONSOLIDATED_CASES',
'casesConsolidatedListExtJs?action=consolidated',
G::LoadTranslation('ID_BATCH_ROUTING'),
'fas fa-bars'
);
}
/*----------------------------------********---------------------------------*/
if ($RBAC->userCanAccess('PM_REASSIGNCASE') == 1 || $RBAC->userCanAccess('PM_REASSIGNCASE_SUPERVISOR') == 1) {
$G_TMP_MENU->AddIdRawOption(
'CASES_TO_REASSIGN',
'casesListExtJs?action=to_reassign',
G::LoadTranslation('ID_TASK_REASSIGNMENTS'),
'fas fa-arrows-alt'
);
}
// Documents section
if ($RBAC->userCanAccess('PM_FOLDERS_ALL') == 1 || $RBAC->userCanAccess('PM_FOLDERS_OWNER') == 1) {
$G_TMP_MENU->AddIdRawOption('DOCUMENTS', '', G::LoadTranslation('ID_FOLDERS'), '', '', 'blockHeader');
$G_TMP_MENU->AddIdRawOption(
'CASES_FOLDERS',
'casesStartPage?action=documents',
G::LoadTranslation('ID_MY_DOCUMENTS'),
'fas fa-bars'
);
}

View File

@@ -4,7 +4,9 @@ namespace ProcessMaker\Services\Api;
use Exception; use Exception;
use Luracast\Restler\RestException; use Luracast\Restler\RestException;
use Menu;
use ProcessMaker\BusinessModel\Cases\Draft; use ProcessMaker\BusinessModel\Cases\Draft;
use ProcessMaker\BusinessModel\Cases\Filter;
use ProcessMaker\BusinessModel\Cases\Inbox; use ProcessMaker\BusinessModel\Cases\Inbox;
use ProcessMaker\BusinessModel\Cases\Participated; use ProcessMaker\BusinessModel\Cases\Participated;
use ProcessMaker\BusinessModel\Cases\Paused; use ProcessMaker\BusinessModel\Cases\Paused;
@@ -14,6 +16,7 @@ use ProcessMaker\BusinessModel\Cases\Unassigned;
use ProcessMaker\Model\User; use ProcessMaker\Model\User;
use ProcessMaker\Services\Api; use ProcessMaker\Services\Api;
use RBAC; use RBAC;
use stdClass;
class Home extends Api class Home extends Api
{ {
@@ -460,4 +463,75 @@ class Home extends Api
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
} }
} }
/**
* Get home menu
*
* @url GET /menu
*
* @return array
*
* @access protected
*/
public function getMenu()
{
// Parse menu definition
$menuInstance = new Menu();
$menuInstance->load('home');
// Initializing variables
$optionsWithCounter = ['CASES_INBOX', 'CASES_DRAFT', 'CASES_PAUSED', 'CASES_SELFSERVICE'];
$menuHome = [];
// Build the Home menu
for ($i = 0; $i < count($menuInstance->Options); $i++) {
// Initializing option object
$option = new stdClass();
// Build the object according to the option menu type
if ($menuInstance->Types[$i] === 'blockHeader') {
$option->header = true;
$option->title = $menuInstance->Labels[$i];
$option->hiddenOnCollapse = true;
} else {
$option->href = $menuInstance->Options[$i];
$option->id = $menuInstance->Id[$i];
$option->title = $menuInstance->Labels[$i];
$option->icon = $menuInstance->Icons[$i];
}
// Add additional attributes for some options
if (in_array($menuInstance->Id[$i], $optionsWithCounter)) {
$option->badge = new stdClass();
$option->badge->text = '0';
$option->badge->class = 'badge-custom';
}
if ($menuInstance->Id[$i] === 'CASES_SEARCH') {
// Get advanced search filters for the current user
$filters = Filter::getByUser($this->getUserId());
// Initializing
$child = [];
foreach ($filters as $filter) {
$childFilter = new stdClass();
$childFilter->id = $filter->id;
$childFilter->page = '/advanced-search';
$childFilter->href = "{$childFilter->page}/{$filter->id}";
$childFilter->title = $filter->name;
$childFilter->icon = 'fas fa-circle';
$childFilter->filters = $filter->filters;
$child[] = $childFilter;
}
// Adding filters to the "Advanced Search" option
$option->child = $child;
}
// Add option to the menu
$menuHome[] = $option;
}
// Return menu
return $menuHome;
}
} }