From d828c081eb1ac9342ae1e3c75956f3b73b02f10f Mon Sep 17 00:00:00 2001 From: davidcallizaya Date: Wed, 11 Oct 2017 11:19:53 -0400 Subject: [PATCH 01/41] HOR-3967 Complete access control for PUT endpoints. --- .../Services/Api/ActionsByEmail.php | 4 ++ .../ProcessMaker/Services/Api/Calendar.php | 1 - .../src/ProcessMaker/Services/Api/Cases.php | 41 ++++++++----------- .../Services/Api/Cases/Variable.php | 3 +- .../src/ProcessMaker/Services/Api/Catalog.php | 6 +-- .../Services/Api/Consolidated.php | 6 +-- .../ProcessMaker/Services/Api/Dashboard.php | 15 +++---- .../ProcessMaker/Services/Api/Department.php | 9 ++-- .../ProcessMaker/Services/Api/EmailServer.php | 4 +- .../src/ProcessMaker/Services/Api/Group.php | 3 +- .../src/ProcessMaker/Services/Api/Light.php | 7 +++- .../Services/Api/Light/NotificationDevice.php | 4 +- .../src/ProcessMaker/Services/Api/Pmtable.php | 9 +--- .../src/ProcessMaker/Services/Api/Process.php | 10 +++++ .../Services/Api/ProcessCategory.php | 8 ++-- .../Services/Api/Project/Activity.php | 15 ++++--- .../Services/Api/Project/Activity/Step.php | 2 + .../Api/Project/Activity/Step/Trigger.php | 4 ++ .../Services/Api/Project/CaseScheduler.php | 4 +- .../Services/Api/Project/CaseTracker.php | 3 +- .../Api/Project/CaseTrackerObject.php | 3 +- .../Api/Project/DataBaseConnection.php | 9 ++-- .../Services/Api/Project/DynaForm.php | 5 ++- .../Services/Api/Project/EmailEvent.php | 3 +- .../Services/Api/Project/Event.php | 8 +--- .../Services/Api/Project/FilesManager.php | 3 +- .../Services/Api/Project/InputDocument.php | 3 +- .../Api/Project/MessageEventDefinition.php | 3 +- .../Services/Api/Project/MessageType.php | 3 +- .../Api/Project/MessageType/Variable.php | 3 +- .../Services/Api/Project/OutputDocuments.php | 3 +- .../Api/Project/ProcessPermissions.php | 8 +--- .../Api/Project/ProcessSupervisors.php | 7 ++-- .../Services/Api/Project/ReportTable.php | 7 +--- .../Services/Api/Project/ScriptTask.php | 3 +- .../Services/Api/Project/SubProcess.php | 7 +--- .../Services/Api/Project/TimerEvent.php | 3 +- .../Services/Api/Project/Trigger.php | 6 +-- .../Services/Api/Project/TriggerWizard.php | 3 +- .../Services/Api/Project/Variable.php | 3 +- .../Services/Api/Project/WebEntry.php | 2 + .../Services/Api/Project/WebEntryEvent.php | 2 +- .../src/ProcessMaker/Services/Api/Role.php | 5 ++- .../src/ProcessMaker/Services/Api/User.php | 3 +- 44 files changed, 137 insertions(+), 126 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/ActionsByEmail.php b/workflow/engine/src/ProcessMaker/Services/Api/ActionsByEmail.php index 13db20a7d..5a5d97bff 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/ActionsByEmail.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/ActionsByEmail.php @@ -65,6 +65,8 @@ class ActionsByEmail extends Api /** * * @url PUT /updateTemplate + * @class AccessControl {@permission PM_SETUP_EMAIL} + * @access protected */ public function updateTemplate($params) { @@ -83,6 +85,8 @@ class ActionsByEmail extends Api /** * * @url PUT /saveConfiguration + * @class AccessControl {@permission PM_SETUP_EMAIL} + * @access protected */ public function saveConfiguration($params) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Calendar.php b/workflow/engine/src/ProcessMaker/Services/Api/Calendar.php index e12490240..53dadcd0e 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Calendar.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Calendar.php @@ -84,7 +84,6 @@ class Calendar extends Api * @access protected * @class AccessControl {@permission PM_SETUP_CALENDAR} * @url PUT /:cal_uid - * * @param string $cal_uid {@min 32}{@max 32} * @param array $request_data */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases.php index 47818ac73..594b2f680 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases.php @@ -802,6 +802,8 @@ class Cases extends Api * @param string $usr_uid_source {@from body} {@min 32}{@max 32} * @param string $usr_uid_target {@from body} {@min 32}{@max 32} * @param string $del_index {@from body} + * @class AccessControl {@permission PM_REASSIGNCASE,PM_REASSIGNCASE_SUPERVISOR} + * @access protected */ public function doPutReassignCase($app_uid, $usr_uid_source, $usr_uid_target, $del_index = null) { @@ -816,10 +818,12 @@ class Cases extends Api /** * Route Case - * @url PUT /:app_uid/route-case * + * @url PUT /:app_uid/route-case * @param string $app_uid {@min 32}{@max 32} * @param string $del_index {@from body} + * @class AccessControl {@permission PM_CASES} + * @access protected */ public function doPutRouteCase($app_uid, $del_index = null) { @@ -836,10 +840,8 @@ class Cases extends Api * Cancel Case * * @param string $cas_uid {@min 1}{@max 32} - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * + * @class AccessControl {@permission PM_CANCELCASE} + * @access protected * @url PUT /:cas_uid/cancel */ public function doPutCancelCase($cas_uid) @@ -858,10 +860,8 @@ class Cases extends Api * * @param string $cas_uid {@min 1}{@max 32} * @param string $unpaused_date {@from body} - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * + * @class AccessControl {@permission PM_CASES} + * @access protected * @url PUT /:cas_uid/pause */ public function doPutPauseCase($cas_uid, $unpaused_date = null) @@ -883,10 +883,8 @@ class Cases extends Api * Unpause Case * * @param string $cas_uid {@min 1}{@max 32} - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * + * @class AccessControl {@permission PM_CASES} + * @access protected * @url PUT /:cas_uid/unpause */ public function doPutUnpauseCase($cas_uid) @@ -905,10 +903,8 @@ class Cases extends Api * * @param string $cas_uid {@min 1}{@max 32} * @param string $tri_uid {@min 1}{@max 32} - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * + * @class AccessControl {@permission PM_CASES} + * @access protected * @url PUT /:cas_uid/execute-trigger/:tri_uid */ public function doPutExecuteTriggerCase($cas_uid, $tri_uid) @@ -977,10 +973,8 @@ class Cases extends Api * @param array $request_data * @param string $dyn_uid {@from path} * @param int $del_index {@from path} - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * + * @class AccessControl {@permission PM_CASES} + * @access protected * @url PUT /:app_uid/variable */ public function doPutCaseVariables($app_uid, $request_data, $dyn_uid = '', $del_index = 0) @@ -1144,9 +1138,8 @@ class Cases extends Api * @param int $del_index {@from body} * @param string $obj_type {@from body} * @param string $obj_uid {@from body} - * - * @copyright Colosa - Bolivia - * + * @class AccessControl {@permission PM_CASES} + * @access protected * @url PUT /:app_uid/execute-triggers */ public function doPutExecuteTriggers($app_uid, $del_index, $obj_type, $obj_uid) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php index 61620f006..b32622d88 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php @@ -105,7 +105,8 @@ class Variable extends Api * @param int $del_index {@min 1} * @param string $var_name * @param array $request_data - * + * @class AccessControl {@permission PM_CASES} + * @access protected * @status 204 */ public function doPutVariable($app_uid, $del_index, $var_name, array $request_data) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php b/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php index 1e9fd1bcd..3db7504e6 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php @@ -63,13 +63,11 @@ class Catalog extends Api /** * @url PUT /:cat_uid/:cat_type - * * @param string $cat_uid {@min 32}{@max 32} * @param string $cat_type {@min 32}{@max 32} * @param array $request_data - * - * @author Marco Antonio Nina - * @copyright Colosa - Bolivia + * @class AccessControl {@permission PM_DASHBOARD} + * @access protected */ public function doPut($cat_uid, $cat_type, $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php b/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php index 78ba6ccc6..3b7693b0a 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php @@ -113,10 +113,8 @@ class Consolidated extends Api * @param string $pro_uid {@min 1} {@max 32} * @param array $request_data * @return array - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * + * @class AccessControl {@permission PM_CASES} + * @access protected * @url PUT /cases/:tas_uid/:dyn_uid/:pro_uid */ public function doPutCasesConsolidated($tas_uid, $dyn_uid, $pro_uid, $request_data) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php b/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php index f10132042..db70262ab 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php @@ -243,10 +243,9 @@ class Dashboard extends Api * Put dashboards configuration * * @param array $request_data - * - * * @url PUT - * + * @class AccessControl {@permission PM_DASHBOARD} + * @access protected */ public function doPutDashboard($request_data) { @@ -340,9 +339,8 @@ class Dashboard extends Api * Put Indicator * * @param array $request_data - * - * @url PUT /indicator - * + * @class AccessControl {@permission PM_DASHBOARD} + * @access protected */ public function doPutIndicator($request_data) { @@ -417,9 +415,8 @@ class Dashboard extends Api * Put dashboards configuration by usr_uid * * @param array $request_data - * - * @url PUT /config - * + * @class AccessControl {@permission PM_DASHBOARD} + * @access protected */ public function doPutDashboardConfigByUsrUid($request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Department.php b/workflow/engine/src/ProcessMaker/Services/Api/Department.php index 967d91484..19d24be83 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Department.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Department.php @@ -142,12 +142,11 @@ class Department extends Api /** * @url PUT /:dep_uid/set-manager/:usr_uid - * + * @class AccessControl {@permission PM_USERS} + * @access protected * @param string $dep_uid {@min 1}{@max 32} * @param string $usr_uid {@min 1}{@max 32} - * * @return array - * */ public function doPutSetManager($dep_uid, $usr_uid) { @@ -203,10 +202,10 @@ class Department extends Api /** * @url PUT /:dep_uid - * * @param string $dep_uid {@min 1}{@max 32} * @param array $request_data - * + * @class AccessControl {@permission PM_USERS} + * @access protected */ public function doPut($dep_uid, $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php b/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php index 3e401eb1c..a42517a5e 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php @@ -124,10 +124,10 @@ class EmailServer extends Api /** * @url PUT /:mess_uid - * * @param string $mess_uid {@min 32}{@max 32} * @param array $request_data - * + * @class AccessControl {@permission PM_SETUP_EMAIL} + * @access protected * @status 200 */ public function doPut($mess_uid, array $request_data) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Group.php b/workflow/engine/src/ProcessMaker/Services/Api/Group.php index 2b73e904a..de94e7334 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Group.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Group.php @@ -97,7 +97,8 @@ class Group extends Api /** * @url PUT /:grp_uid - * + * @class AccessControl {@permission PM_USERS} + * @access protected * @param string $grp_uid {@min 32}{@max 32} * @param array $request_data */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Light.php b/workflow/engine/src/ProcessMaker/Services/Api/Light.php index d5d849b73..61f199a7d 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Light.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Light.php @@ -1175,8 +1175,10 @@ class Light extends Api /** * Route Case - * @url PUT /cases/:app_uid/route-case * + * @url PUT /cases/:app_uid/route-case + * @class AccessControl {@permission PM_CASES} + * @access protected * @param string $app_uid {@min 32}{@max 32} * @param int $del_index {@from body} * @param array $tasks {@from body} @@ -1720,7 +1722,8 @@ class Light extends Api * @param array $request_data * @param string $dyn_uid {@from path} * @param int $del_index {@from path} - * + * @class AccessControl {@permission PM_CASES} + * @access protected * @url PUT /:app_uid/variable */ public function doPutCaseVariables($app_uid, $request_data, $dyn_uid = '', $del_index = 0) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Light/NotificationDevice.php b/workflow/engine/src/ProcessMaker/Services/Api/Light/NotificationDevice.php index 8f8b8981a..d861d34f9 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Light/NotificationDevice.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Light/NotificationDevice.php @@ -40,11 +40,9 @@ class NotificationDevice extends Api * * @param string $dev_uid {@min 32}{@max 32} * @param array $request_data - * - * @author Ronald Quenta * @return array - * * @url PUT /notification/:dev_uid + * @throws RestException */ public function updateDeviceLanguage($dev_uid, $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Pmtable.php b/workflow/engine/src/ProcessMaker/Services/Api/Pmtable.php index d2c5d1933..bd1d8c5a1 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Pmtable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Pmtable.php @@ -146,7 +146,7 @@ class Pmtable extends Api * @copyright Colosa - Bolivia * * @access protected - * @class AccessControl {@permission PM_SETUP_PM_TABLES} + * @class AccessControl {@permission PM_SETUP_PM_TABLES} * @url PUT /:pmt_uid */ public function doPutPmTable( @@ -164,15 +164,10 @@ class Pmtable extends Api /** * @param string $pmt_uid {@min 1} {@max 32} - * * @param array $request_data * @return array - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * * @access protected - * @class AccessControl {@permission PM_SETUP_PM_TABLES} + * @class AccessControl {@permission PM_SETUP_PM_TABLES} * @url PUT /:pmt_uid/data */ public function doPutPmTableData( diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Process.php b/workflow/engine/src/ProcessMaker/Services/Api/Process.php index d8070507d..2296bda19 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Process.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Process.php @@ -78,6 +78,16 @@ class Process extends Api } } + /** + * Update a process by UID. + * + * @param type $processUid + * @param type $request_data + * @return type + * @throws RestException + * @class AccessControl {@permission PM_FACTORY} + * @access protected + */ public function put($processUid, $request_data = null) { $response = array(); diff --git a/workflow/engine/src/ProcessMaker/Services/Api/ProcessCategory.php b/workflow/engine/src/ProcessMaker/Services/Api/ProcessCategory.php index d83b2f91e..4dcbe8a73 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/ProcessCategory.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/ProcessCategory.php @@ -90,13 +90,13 @@ class ProcessCategory extends Api } /** - * - * @access protected - * @class AccessControl {@permission PM_SETUP_PROCESS_CATEGORIES} - * @url PUT /category/:cat_uid * + * @access protected + * @class AccessControl {@permission PM_FACTORY,PM_SETUP_PROCESS_CATEGORIES} + * @url PUT /category/:cat_uid * @param string $cat_uid {@min 32}{@max 32} * @param array $request_data + * @throws RestException */ public function doPutCategory($cat_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php index d95f3f47b..21c8320ee 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php @@ -101,17 +101,17 @@ class Activity extends Api } } - /** + * Update an activity. + * * @param string $prj_uid {@min 32} {@max 32} * @param string $act_uid {@min 32} {@max 32} * @param ActivityPropertiesStructure $properties {@from body} - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia + * @class AccessControl {@permission PM_FACTORY} + * @access protected * @return array - * * @url PUT /:prj_uid/activity/:act_uid + * @throws RestException */ public function doPutProjectActivity($prj_uid, $act_uid, ActivityPropertiesStructure $properties, $request_data = array()) { @@ -217,9 +217,12 @@ class Activity extends Api } /** - * @url PUT /:prj_uid/activity/validate-active-cases + * Get activity validate self service. * + * @url PUT /:prj_uid/activity/validate-active-cases * @param string $prj_uid {@min 32}{@max 32} + * @class AccessControl {@permission PM_FACTORY} + * @access protected */ public function doGetActivityValidateSelfService($prj_uid, $request_data = array()) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php index 69ef59c9b..2d05de43b 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php @@ -84,6 +84,8 @@ class Step extends Api * @param string $step_condition {@from body} * @param int $step_position {@from body}{@min 1} * @param string $step_mode {@from body}{@choice EDIT,VIEW} + * @class AccessControl {@permission PM_FACTORY} + * @access protected */ public function doPutActivityStep( $step_uid, diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php index 90a193a01..63f6347ec 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php @@ -64,6 +64,8 @@ class Trigger extends Api * @param string $act_uid * @param string $prj_uid * @param StepTriggerPutStructure $request_data + * @class AccessControl {@permission PM_FACTORY} + * @access protected */ public function doPutActivityStepTrigger($tri_uid, $step_uid, $act_uid, $prj_uid, StepTriggerPutStructure $request_data = null) { @@ -150,6 +152,8 @@ class Trigger extends Api * @param string $act_uid * @param string $prj_uid * @param StepAssignTaskTriggerPutStructure $request_data + * @class AccessControl {@permission PM_FACTORY} + * @access protected */ public function doPutActivityStepAssignTaskTrigger($tri_uid, $act_uid, $prj_uid, StepAssignTaskTriggerPutStructure $request_data = null) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php index fb766c4a5..f8050fa23 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php @@ -76,11 +76,11 @@ class CaseScheduler extends Api /** * @url PUT /:prjUid/case-scheduler/:schUid - * + * @class AccessControl {@permission PM_FACTORY} + * @access protected * @param string $prjUid {@min 32} {@max 32} * @param string $schUid {@min 32} {@max 32} * @param CaseSchedulerStructure $request_data - * */ public function doPutProjectCaseScheduler($prjUid, $schUid, CaseSchedulerStructure $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTracker.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTracker.php index 31fc0d7d6..804ccbe82 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTracker.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTracker.php @@ -31,7 +31,8 @@ class CaseTracker extends Api /** * @url PUT /:prj_uid/case-tracker/property - * + * @class AccessControl {@permission PM_FACTORY} + * @access protected * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data * @param string $map_type {@from body}{@choice NONE,PROCESSMAP,STAGES} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php index 434bd6e3e..9f6cf1c1c 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php @@ -65,7 +65,8 @@ class CaseTrackerObject extends Api /** * @url PUT /:prj_uid/case-tracker/object/:cto_uid - * + * @class AccessControl {@permission PM_FACTORY} + * @access protected * @param string $cto_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php index 27d57ae9b..7337d6188 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php @@ -133,10 +133,11 @@ class DataBaseConnection extends Api } /** + * Update database connection. + * * @param string $prj_uid {@min 1} {@max 32} * @param string $dbs_uid {@min 1} {@max 32} * @param array $request_data - * * @param string $dbs_type {@from body} {@required true} * @param string $dbs_server {@from body} {@required true} * @param string $dbs_database_name {@from body} {@required true} @@ -145,11 +146,9 @@ class DataBaseConnection extends Api * @param string $dbs_password {@from body} * @param string $dbs_description {@from body} * @return void - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * * @url PUT /:prj_uid/database-connection/:dbs_uid + * @class AccessControl {@permission PM_SETUP} + * @access protected */ public function doPutDataBaseConnection( $prj_uid, diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php index cd9dff8d6..dc59a24aa 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php @@ -63,8 +63,11 @@ class DynaForm extends Api } /** - * @url PUT /:prj_uid/dynaform/:dyn_uid + * Update dynaform. * + * @url PUT /:prj_uid/dynaform/:dyn_uid + * @class AccessControl {@permission PM_FACTORY} + * @access protected * @param string $dyn_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php index 712bf2834..c10ee5235 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php @@ -80,7 +80,8 @@ class EmailEvent extends Api /** * @url PUT /:prj_uid/email-event/:email_event_uid - * + * @class AccessControl {@permission PM_FACTORY} + * @access protected * @param string $prj_uid {@min 32}{@max 32} * @param string $email_event_uid {@min 32}{@max 32} * @param array $request_data diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Event.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Event.php index d1e5efbfe..ef99e25d8 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Event.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Event.php @@ -155,13 +155,9 @@ class Event extends Api * @param string $evn_tas_uid_from {@from body} * @param string $evn_tas_uid_to {@from body} * @param string $evn_conditions {@from body} - * - * @access public - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * + * @class AccessControl {@permission PM_FACTORY} + * @access protected * @return void - * * @url PUT /:prj_uid/event/:evn_uid */ public function doPutEvent ( diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php index 2a31bea36..41f870f12 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php @@ -83,7 +83,8 @@ class FilesManager extends Api * @param string $prj_uid {@min 32} {@max 32} * @param ProcessFilesManagerStructure $request_data * @param string $prf_uid {@min 32} {@max 32} - * + * @class AccessControl {@permission PM_FACTORY} + * @access protected * @url PUT /:prj_uid/file-manager/:prf_uid */ public function doPutProcessFilesManager($prj_uid, ProcessFilesManagerStructure $request_data, $prf_uid) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php index 1ed147b51..93db3a995 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php @@ -59,10 +59,11 @@ class InputDocument extends Api /** * @url PUT /:prj_uid/input-document/:inp_doc_uid - * * @param string $inp_doc_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data + * @class AccessControl {@permission PM_FACTORY} + * @access protected */ public function doPutInputDocument($inp_doc_uid, $prj_uid, $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php index b6ddc236b..ac7c453a7 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php @@ -102,7 +102,8 @@ class MessageEventDefinition extends Api /** * @url PUT /:prj_uid/message-event-definition/:msged_uid - * + * @class AccessControl {@permission PM_FACTORY} + * @access protected * @param string $prj_uid {@min 32}{@max 32} * @param string $msged_uid {@min 32}{@max 32} * @param array $request_data diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php index 32b47c377..d4a50ddae 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php @@ -87,7 +87,8 @@ class MessageType extends Api /** * @url PUT /:prj_uid/message-type/:msgt_uid - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prj_uid {@min 32}{@max 32} * @param string $msgt_uid {@min 32}{@max 32} * @param array $request_data diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php index db199b197..c8b4badf7 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php @@ -90,7 +90,8 @@ class Variable extends Api /** * @url PUT /:prj_uid/message-type/:msgt_uid/variable/:msgtv_uid - * + * @class AccessControl {@permission PM_FACTORY} + * @access protected * @param string $prj_uid {@min 32}{@max 32} * @param string $msgt_uid {@min 32}{@max 32} * @param string $msgtv_uid {@min 32}{@max 32} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php index 5e8231b04..44baabf71 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php @@ -79,7 +79,8 @@ class OutputDocuments extends Api * @param string $prjUid {@min 32} {@max 32} * @param string $outputDocumentUid {@min 32} {@max 32} * @param array $request_data - * + * @class AccessControl {@permission PM_FACTORY} + * @access protected */ public function doPutProjectOutputDocument($prjUid, $outputDocumentUid, $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php index 974f18116..9d4926f4a 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php @@ -118,7 +118,6 @@ class ProcessPermissions extends Api * @param string $prj_uid {@min 1} {@max 32} * @param string $ob_uid {@min 1} {@max 32} * @param array $request_data - * * @param string $usr_uid {@from body} {@min 1} {@max 32} * @param string $op_user_relation {@from body} {@choice 1,2} * @param string $op_case_status {@from body} {@choice ALL,DRAFT,TO_DO,PAUSED,COMPLETED} @@ -130,13 +129,10 @@ class ProcessPermissions extends Api * @param string $dynaforms {@from body} * @param string $inputs {@from body} * @param string $outputs {@from body} - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * * @return array - * * @url PUT /:prj_uid/process-permission/:ob_uid + * @class AccessControl {@permission PM_FACTORY} + * @access protected */ public function doPutProcessPermission( $prj_uid, diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php index 1bfe40447..f41d88230 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php @@ -358,12 +358,12 @@ class ProcessSupervisors extends Api /** * @url PUT /:prjUid/process-supervisor/dynaform/:pud_uid - * * @param string $prjUid {@min 32} {@max 32} * @param string $pud_uid {@min 32} {@max 32} * @param int $pud_position - * * @status 201 + * @class AccessControl {@permission PM_FACTORY} + * @access protected */ public function doPutProcessSupervisorDynaform($prjUid, $pud_uid, $pud_position = null) { @@ -385,8 +385,9 @@ class ProcessSupervisors extends Api * @param string $prjUid {@min 32} {@max 32} * @param string $pui_uid {@min 32} {@max 32} * @param int $pui_position - * * @status 201 + * @class AccessControl {@permission PM_FACTORY} + * @access protected */ public function doPutProcessSupervisorInputDocument($prjUid, $pui_uid, $pui_position = null) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php index 7d1894259..bd8b2525b 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php @@ -136,13 +136,10 @@ class ReportTable extends Api * @param string $prj_uid {@min 1} {@max 32} * @param string $rep_uid {@min 1} {@max 32} * @param array $request_data - * * @param string $rep_tab_dsc {@from body} * @return void - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * + * @class AccessControl {@permission PM_FACTORY} + * @access protected * @url PUT /:prj_uid/report-table/:rep_uid */ public function doPutReportTable( diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php index 3cd658e76..f2fbca313 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php @@ -102,7 +102,8 @@ class ScriptTask extends Api /** * @url PUT /:prj_uid/script-task/:scrtas_uid - * + * @class AccessControl {@permission PM_FACTORY} + * @access protected * @param string $prj_uid {@min 32}{@max 32} * @param string $scrtas_uid {@min 32}{@max 32} * @param array $request_data diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/SubProcess.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/SubProcess.php index 5953173e9..bdd62700a 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/SubProcess.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/SubProcess.php @@ -46,12 +46,9 @@ class Subprocess extends Api * @param string $prj_uid {@min 1} {@max 32} * @param string $tas_uid {@min 1} {@max 32} * @param array $request_data - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * * @return void - * + * @class AccessControl {@permission PM_FACTORY} + * @access protected * @url PUT /:prj_uid/subprocess/:tas_uid */ public function doPutSubprocess($prj_uid, $tas_uid, $request_data) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php index 62d40a8ce..d9d42e358 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php @@ -110,7 +110,8 @@ class TimerEvent extends Api /** * @url PUT /:prj_uid/timer-event/:tmrevn_uid - * + * @class AccessControl {@permission PM_FACTORY} + * @access protected * @param string $prj_uid {@min 32}{@max 32} * @param string $tmrevn_uid {@min 32}{@max 32} * @param array $request_data diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php index 14a5a2501..68967bcc3 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php @@ -91,11 +91,9 @@ class Trigger extends Api * @param string $tri_webbot {@from body} * @param string $tri_param {@from body} * @return void - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * * @url PUT /:projectUid/trigger/:triggerUid + * @class AccessControl {@permission PM_FACTORY} + * @access protected */ public function doPutTrigger($projectUid, $triggerUid, $request_data, $tri_title = '', $tri_description = '', $tri_type = 'SCRIPT', $tri_webbot = '', $tri_param = '') { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/TriggerWizard.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/TriggerWizard.php index b7f4c29e2..55c0c577a 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/TriggerWizard.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/TriggerWizard.php @@ -94,7 +94,8 @@ class TriggerWizard extends Api /** * @url PUT /:prj_uid/trigger-wizard/:lib_name/:fn_name/:tri_uid - * + * @class AccessControl {@permission PM_FACTORY} + * @access protected * @param string $prj_uid {@min 32}{@max 32} * @param string $lib_name * @param string $fn_name diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php index b86f00e14..e01b60a10 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php @@ -73,7 +73,8 @@ class Variable extends Api /** * @url PUT /:prj_uid/process-variable/:var_uid - * + * @class AccessControl {@permission PM_FACTORY} + * @access protected * @param string $prj_uid {@min 32}{@max 32} * @param string $var_uid {@min 32}{@max 32} * @param array $request_data diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php index 06c0f0490..0a15520b8 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php @@ -98,6 +98,8 @@ class WebEntry extends Api * @param string $prj_uid {@min 32}{@max 32} * @param string $we_uid {@min 32}{@max 32} * @param array $request_data + * @class AccessControl {@permission PM_FACTORY} + * @access protected */ public function doPutWebEntry($prj_uid, $we_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php index 7a0402055..cf5ed591f 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php @@ -112,7 +112,7 @@ class WebEntryEvent extends Api /** * @url PUT /:prj_uid/web-entry-event/:wee_uid * @class AccessControl {@permission PM_FACTORY} - * + * @access protected * @param string $prj_uid {@min 32}{@max 32} * @param string $wee_uid {@min 32}{@max 32} * @param array $request_data diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Role.php b/workflow/engine/src/ProcessMaker/Services/Api/Role.php index d5fecc8b2..66165ec1c 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Role.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Role.php @@ -99,12 +99,15 @@ class Role extends Api } /** + * Update a role. + * * @access protected * @class AccessControl {@permission PM_USERS} * @url PUT /:rol_uid - * + * @class AccessControl {@permission PM_USERS} * @param string $rol_uid {@min 32}{@max 32} * @param array $request_data + * @throws RestException */ public function doPut($rol_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/User.php b/workflow/engine/src/ProcessMaker/Services/Api/User.php index cc5c50985..d52de2f0f 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/User.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/User.php @@ -83,10 +83,11 @@ class User extends Api } /** + * Update a user. + * * @access protected * @class AccessControl {@permission PM_USERS} * @url PUT /:usr_uid - * * @param string $usr_uid {@min 32}{@max 32} * @param array $request_data */ From ab5a6526de0a9b1e727b02d6c926ec055782ee37 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Wed, 11 Oct 2017 13:47:24 -0400 Subject: [PATCH 02/41] HOR-3968 --- .../src/ProcessMaker/Services/Api/Cases.php | 21 +++--- .../Services/Api/Cases/InputDocument.php | 3 +- .../Services/Api/Cases/OutputDocument.php | 3 +- .../Services/Api/Cases/Variable.php | 4 +- .../src/ProcessMaker/Services/Api/Catalog.php | 7 +- .../Services/Api/Consolidated.php | 10 ++- .../ProcessMaker/Services/Api/Dashboard.php | 25 +++---- .../ProcessMaker/Services/Api/Department.php | 11 ++- .../ProcessMaker/Services/Api/EmailServer.php | 7 +- .../src/ProcessMaker/Services/Api/File.php | 3 +- .../src/ProcessMaker/Services/Api/Group.php | 4 +- .../ProcessMaker/Services/Api/Group/User.php | 8 +-- .../src/ProcessMaker/Services/Api/Light.php | 72 +++++++++++-------- .../src/ProcessMaker/Services/Api/Process.php | 4 ++ .../Api/Project/Activity/Assignee.php | 8 +-- .../Services/Api/Project/Activity/Step.php | 8 +-- .../Api/Project/Activity/Step/Trigger.php | 8 +-- .../Services/Api/Project/CaseScheduler.php | 6 +- .../Api/Project/CaseTrackerObject.php | 4 +- .../Api/Project/DataBaseConnection.php | 18 ++--- .../Services/Api/Project/DynaForm.php | 13 ++-- .../Services/Api/Project/EmailEvent.php | 3 +- .../Services/Api/Project/FilesManager.php | 10 +-- .../Services/Api/Project/InputDocument.php | 4 +- .../Api/Project/MessageEventDefinition.php | 4 +- .../Services/Api/Project/MessageType.php | 4 +- .../Api/Project/MessageType/Variable.php | 4 +- .../Services/Api/Project/OutputDocuments.php | 4 +- .../Api/Project/ProcessPermissions.php | 10 +-- .../Api/Project/ProcessSupervisors.php | 12 ++-- .../Services/Api/Project/ProjectUsers.php | 5 +- .../Services/Api/Project/ReportTable.php | 9 +-- .../Services/Api/Project/ScriptTask.php | 4 +- .../Services/Api/Project/TimerEvent.php | 4 +- .../Services/Api/Project/Trigger.php | 8 +-- .../Services/Api/Project/TriggerWizard.php | 4 +- .../Services/Api/Project/Variable.php | 10 +-- .../Services/Api/Project/WebEntry.php | 4 +- .../Services/Api/Project/WebEntryEvent.php | 5 +- 39 files changed, 177 insertions(+), 178 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases.php index 47818ac73..9166322e7 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases.php @@ -757,11 +757,11 @@ class Cases extends Api /** * @url POST - * + * @access protected + * @class AccessControl {@permission PM_CASES} * @param string $pro_uid {@from body} {@min 32}{@max 32} * @param string $tas_uid {@from body} {@min 32}{@max 32} * @param array $variables {@from body} - * */ public function doPostCase($pro_uid, $tas_uid, $variables = null) { @@ -777,12 +777,12 @@ class Cases extends Api /** * @url POST /impersonate - * + * @access protected + * @class AccessControl {@permission PM_CASES} * @param string $pro_uid {@from body} {@min 32}{@max 32} * @param string $usr_uid {@from body} {@min 32}{@max 32} * @param string $tas_uid {@from body} {@min 32}{@max 32} * @param array $variables {@from body} - * */ public function doPostCaseImpersonate($pro_uid, $usr_uid, $tas_uid, $variables = null) { @@ -1097,14 +1097,12 @@ class Cases extends Api /** * Put Case Variables * + * @url POST /:app_uid/note + * @access protected + * @class AccessControl {@permission PM_CASES} * @param string $app_uid {@min 1}{@max 32} * @param string $note_content {@min 1}{@max 500} * @param int $send_mail {@choice 1,0} - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * - * @url POST /:app_uid/note */ public function doPostCaseNote($app_uid, $note_content, $send_mail = 0) { @@ -1231,10 +1229,11 @@ class Cases extends Api /** * Mark a task process as a bookmark + * * @url POST /bookmark/:tas_uid - * + * @access protected + * @class AccessControl {@permission PM_CASES} * @param string $tas_uid {@min 32}{@max 32} - * */ public function doPostBookmarkStartCase($tas_uid) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases/InputDocument.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases/InputDocument.php index 45983547b..e413e2896 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases/InputDocument.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases/InputDocument.php @@ -97,7 +97,8 @@ class InputDocument extends Api /** * @url POST /:app_uid/input-document - * + * @access protected + * @class AccessControl {@permission PM_CASES} * @param string $app_uid { @min 32}{@max 32} * @param string $tas_uid {@min 32}{@max 32} * @param string $app_doc_comment diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases/OutputDocument.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases/OutputDocument.php index 4977f964e..65bc75ff8 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases/OutputDocument.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases/OutputDocument.php @@ -134,7 +134,8 @@ class OutputDocument extends Api /** * @url POST /:app_uid/:del_index/output-document/:out_doc_uid - * + * @access protected + * @class AccessControl {@permission PM_CASES} * @param string $app_uid {@min 32}{@max 32} * @param int $del_index {@min 1} * @param string $out_doc_uid {@min 32}{@max 32} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php index 61620f006..4884aa284 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php @@ -79,12 +79,12 @@ class Variable extends Api /** * @url POST /:app_uid/:del_index/variable/:var_name - * + * @access protected + * @class AccessControl {@permission PM_CASES} * @param string $app_uid {@min 32}{@max 32} * @param int $del_index {@min 1} * @param string $var_name * @param array $request_data - * * @status 201 */ public function doPostVariable($app_uid, $del_index, $var_name, array $request_data) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php b/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php index 1e9fd1bcd..d445c1a8c 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php @@ -39,12 +39,9 @@ class Catalog extends Api /** * @url POST - * + * @access protected + * @class AccessControl {@permission PM_DASHBOARD} * @param array $request_data - * - * @author Marco Antonio Nina - * @copyright Colosa - Bolivia - * * @status 201 */ public function doPost($request_data) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php b/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php index 78ba6ccc6..bc90f1342 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php @@ -133,18 +133,16 @@ class Consolidated extends Api /** * Post Derivate * + * @url POST /derivate/:app_uid/:app_number/:del_index/:field_grid/:field_grid_val + * @url POST /derivate/:app_uid/:app_number/:del_index/:field_grid/ + * @access protected + * @class AccessControl {@permission PM_CASES} * @param string $app_uid {@min 1} {@max 32} * @param string $app_number * @param int $del_index * @param string $field_grid * @param string $field_grid_val * @return array - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * - * @url POST /derivate/:app_uid/:app_number/:del_index/:field_grid/:field_grid_val - * @url POST /derivate/:app_uid/:app_number/:del_index/:field_grid/ */ public function doPostDerivate($app_uid, $app_number, $del_index, $field_grid, $field_grid_val = '') { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php b/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php index f10132042..29e65aeb0 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php @@ -221,10 +221,9 @@ class Dashboard extends Api /** * @url POST - * + * @access protected + * @class AccessControl {@permission PM_DASHBOARD} * @param array $request_data - * - * * @status 201 */ public function doPostDashboard($request_data) @@ -279,11 +278,10 @@ class Dashboard extends Api } /** - * @param array $request_data - * - * * @url POST /owner - * + * @access protected + * @class AccessControl {@permission PM_DASHBOARD} + * @param array $request_data * @status 201 */ public function doPostOwner($request_data) @@ -317,11 +315,10 @@ class Dashboard extends Api } /** - * @param array $request_data - * - * * @url POST /indicator - * + * @access protected + * @class AccessControl {@permission PM_DASHBOARD} + * @param array $request_data * @status 201 */ public function doPostIndicator($request_data) @@ -376,10 +373,10 @@ class Dashboard extends Api /** * Post dashboards configuration by userUid * - * @param array $request_data - * * @url POST /config/ - * + * @access protected + * @class AccessControl {@permission PM_DASHBOARD} + * @param array $request_data */ public function doPostDashboardConfigByUsrUid($request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Department.php b/workflow/engine/src/ProcessMaker/Services/Api/Department.php index 967d91484..697130f86 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Department.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Department.php @@ -103,12 +103,11 @@ class Department extends Api /** * @url POST /:dep_uid/assign-user - * + * @access protected + * @class AccessControl {@permission PM_USERS} * @param string $dep_uid {@min 32}{@max 32} * @param array $request_data - * * @status 201 - * */ public function doPostAssignUser($dep_uid, array $request_data) { @@ -181,14 +180,12 @@ class Department extends Api /** * @url POST - * + * @access protected + * @class AccessControl {@permission PM_USERS} * @param array $request_data * @param string $dep_title {@from body} {@min 1} - * * @return array - * * @status 201 - * */ public function doPost($request_data, $dep_title) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php b/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php index 3e401eb1c..e524bf878 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php @@ -86,7 +86,8 @@ class EmailServer extends Api /** * @url POST /test-connection - * + * @access protected + * @class AccessControl {@permission PM_SETUP_EMAIL} * @param array $request_data */ public function doPostTestConnection(array $request_data) @@ -104,9 +105,9 @@ class EmailServer extends Api /** * @url POST - * + * @access protected + * @class AccessControl {@permission PM_SETUP_EMAIL} * @param array $request_data - * * @status 201 */ public function doPost(array $request_data) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/File.php b/workflow/engine/src/ProcessMaker/Services/Api/File.php index ff1a94bcf..574f836ff 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/File.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/File.php @@ -12,8 +12,9 @@ use \Luracast\Restler\RestException; class File extends Api { /** - * * @url POST /upload + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param array $request_data */ public function doPostFilesUpload($request_data) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Group.php b/workflow/engine/src/ProcessMaker/Services/Api/Group.php index 2b73e904a..e06c8f7cd 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Group.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Group.php @@ -74,9 +74,9 @@ class Group extends Api /** * @url POST - * + * @access protected + * @class AccessControl {@permission PM_USERS} * @param array $request_data - * * @status 201 */ public function doPost($request_data) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Group/User.php b/workflow/engine/src/ProcessMaker/Services/Api/Group/User.php index 30281903b..837c74dce 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Group/User.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Group/User.php @@ -13,10 +13,10 @@ class User extends Api { /** * @url POST /:grp_uid/user - * + * @access protected + * @class AccessControl {@permission PM_USERS} * @param string $grp_uid {@min 32}{@max 32} * @param array $request_data - * * @status 201 */ public function doPostUser($grp_uid, $request_data) @@ -33,9 +33,9 @@ class User extends Api /** * @url POST /batch-users - * + * @access protected + * @class AccessControl {@permission PM_USERS} * @param array $request_data - * * @status 201 */ public function doPostBatchUsers($request_data) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Light.php b/workflow/engine/src/ProcessMaker/Services/Api/Light.php index d5d849b73..c6c96b734 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Light.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Light.php @@ -967,15 +967,14 @@ class Light extends Api /** * Execute Trigger case * + * @url POST /process/:prj_uid/task/:act_uid/case/:cas_uid/step/:step_uid/execute-trigger/:type + * @access protected + * @class AccessControl {@permission PM_CASES} * @param string $prj_uid {@min 1}{@max 32} * @param string $act_uid {@min 1}{@max 32} * @param string $cas_uid {@min 1}{@max 32} * @param string $step_uid {@min 32}{@max 32} * @param string $type {@choice before,after} - * - * @copyright Colosa - Bolivia - * - * @url POST /process/:prj_uid/task/:act_uid/case/:cas_uid/step/:step_uid/execute-trigger/:type */ public function doPutExecuteTriggerCase($prj_uid, $act_uid, $cas_uid, $step_uid, $type) { @@ -1134,7 +1133,8 @@ class Light extends Api /** * @url POST /process/:pro_uid/task/:task_uid/start-case - * + * @access protected + * @class AccessControl {@permission PM_CASES} * @param string $pro_uid {@min 32}{@max 32} * @param string $task_uid {@min 32}{@max 32} */ @@ -1229,7 +1229,8 @@ class Light extends Api /** * @url POST /case/:app_uid/upload/location - * + * @access protected + * @class AccessControl {@permission PM_CASES} * @param string $app_uid { @min 32}{@max 32} * @param float $latitude {@min -90}{@max 90} * @param float $longitude {@min -180}{@max 180} @@ -1271,7 +1272,8 @@ class Light extends Api /** * @url POST /case/:app_uid/download64 - * + * @access protected + * @class AccessControl {@permission PM_CASES} * @param string $app_uid {@min 32}{@max 32} */ public function postDownloadFile($app_uid, $request_data) @@ -1369,7 +1371,8 @@ class Light extends Api /** * @url POST /case/:app_uid/upload - * + * @access protected + * @class AccessControl {@permission PM_CASES} * @param $access * @param $refresh * @return mixed @@ -1389,7 +1392,8 @@ class Light extends Api /** * @url POST /case/:app_uid/upload/:app_doc_uid - * + * @access protected + * @class AccessControl {@permission PM_CASES} * @param $access * @param $refresh * @return mixed @@ -1409,7 +1413,8 @@ class Light extends Api /** * @url POST /case/:app_uid/claim - * + * @access protected + * @class AccessControl {@permission PM_CASES} * @param $app_uid {@min 1}{@max 32} * @return mixed */ @@ -1500,13 +1505,13 @@ class Light extends Api /** * Post Case Notes * + * @url POST /case/:app_uid/note + * @access protected + * @class AccessControl {@permission PM_CASES} * @param string $app_uid {@min 1}{@max 32} * @param string $noteContent {@min 1}{@max 500} * @param int $sendMail {@choice 1,0} - * * @copyright Colosa - Bolivia - * - * @url POST /case/:app_uid/note */ public function doPostCaseNote($app_uid, $noteContent, $sendMail = 0) { @@ -1591,13 +1596,13 @@ class Light extends Api } /** - * @return stdclass - * @throws RestException - * + * @url POST /reassign/:app_uid/user/:to_usr_uid + * @access protected + * @class AccessControl {@permission PM_REASSIGNCASE, PM_REASSIGNCASE_SUPERVISOR} * @param string $app_uid {@min 1}{@max 32} * @param string $to_usr_uid {@min 1}{@max 32} - * - * @url POST /reassign/:app_uid/user/:to_usr_uid + * @return stdclass + * @throws RestException */ public function reassignCase($app_uid, $to_usr_uid) { @@ -1615,12 +1620,12 @@ class Light extends Api /** * Paused Case * + * @url POST /cases/:app_uid/pause + * @access protected + * @class AccessControl {@permission PM_CASES} + * @param string $app_uid {@min 1}{@max 32} * @return stdclass * @throws RestException - * - * @param string $app_uid {@min 1}{@max 32} - * - * @url POST /cases/:app_uid/pause */ public function pauseCase($app_uid, $request_data) { @@ -1639,12 +1644,12 @@ class Light extends Api /** * Unpaused Case * + * @url POST /cases/:app_uid/unpause + * @access protected + * @class AccessControl {@permission PM_CASES} + * @param string $app_uid {@min 1}{@max 32} * @return stdclass * @throws RestException - * - * @param string $app_uid {@min 1}{@max 32} - * - * @url POST /cases/:app_uid/unpause */ public function unpauseCase($app_uid) { @@ -1664,11 +1669,10 @@ class Light extends Api /** * Cancel Case * - * @param string $cas_uid {@min 1}{@max 32} - * - * @copyright Colosa - Bolivia - * * @url POST /cases/:app_uid/cancel + * @access protected + * @class AccessControl {@permission PM_CASES} + * @param string $cas_uid {@min 1}{@max 32} */ public function doPutCancelCase($app_uid) { @@ -1837,6 +1841,8 @@ class Light extends Api * Get next step * * @url POST /get-next-step/:app_uid + * @access protected + * @class AccessControl {@permission PM_CASES} * @return array */ public function doGetStep($app_uid, $request_data) @@ -1931,8 +1937,12 @@ class Light extends Api } /** - * This function checks if the application uids sent are in the draft list for the specified user + * This function checks if the application uids sent are in the draft list for + * the specified user. + * * @url POST /draft/check + * @access protected + * @class AccessControl {@permission PM_CASES} * @param array $requestData * @return array $response * @throws Exception diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Process.php b/workflow/engine/src/ProcessMaker/Services/Api/Process.php index d8070507d..8aae4c2f2 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Process.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Process.php @@ -63,6 +63,10 @@ class Process extends Api return $response; } + /** + * @access protected + * @class AccessControl {@permission PM_FACTORY} + */ public function post($request_data = null) { defined('SYS_LANG') || define("SYS_LANG", $request_data["lang"]); diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Assignee.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Assignee.php index a1c33aa4c..f2dcb1403 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Assignee.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Assignee.php @@ -93,12 +93,12 @@ class Assignee extends Api /** * @url POST /:prjUid/activity/:actUid/assignee - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prjUid {@min 32} {@max 32} * @param string $actUid {@min 32} {@max 32} * @param string $aas_uid {@min 32} {@max 32} * @param string $aas_type {@choice user,group} - * * @status 201 */ public function doPostActivityAssignee($prjUid, $actUid, $aas_uid, $aas_type) @@ -192,12 +192,12 @@ class Assignee extends Api /** * @url POST /:prjUid/activity/:actUid/adhoc-assignee - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prjUid {@min 32} {@max 32} * @param string $actUid {@min 32} {@max 32} * @param string $ada_uid {@min 32} {@max 32} * @param string $ada_type {@choice user,group} - * * @status 201 */ public function doPostActivityAdhocAssignee($prjUid, $actUid, $ada_uid, $ada_type) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php index 69ef59c9b..ed7252d1f 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php @@ -35,7 +35,8 @@ class Step extends Api /** * @url POST /:prj_uid/activity/:act_uid/step - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $act_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data @@ -44,7 +45,6 @@ class Step extends Api * @param string $step_condition {@from body} * @param int $step_position {@from body}{@min 1} * @param string $step_mode {@from body}{@choice EDIT,VIEW}{@required true} - * * @status 201 */ public function doPostActivityStep( @@ -219,7 +219,8 @@ class Step extends Api /** * @url POST /:prj_uid/activity/:act_uid/step/all - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $act_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data @@ -228,7 +229,6 @@ class Step extends Api * @param string $step_condition {@from body} * @param int $step_position {@from body}{@min 1} * @param string $step_mode {@from body}{@choice EDIT,VIEW}{@required true} - * * @status 201 */ public function doPostActivityStepAll( diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php index 90a193a01..81af8c9ef 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php @@ -35,12 +35,12 @@ class Trigger extends Api /** * @url POST /:prj_uid/activity/:act_uid/step/:step_uid/trigger - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $step_uid * @param string $act_uid * @param string $prj_uid * @param StepTriggerPostStructure $request_data - * * @status 201 */ public function doPostActivityStepTrigger($step_uid, $act_uid, $prj_uid, StepTriggerPostStructure $request_data = null) @@ -123,11 +123,11 @@ class Trigger extends Api /** * @url POST /:prj_uid/activity/:act_uid/step/trigger - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $act_uid * @param string $prj_uid * @param StepAssignTaskTriggerPostStructure $request_data - * * @status 201 */ public function doPostActivityStepAssignTaskTrigger($act_uid, $prj_uid, StepAssignTaskTriggerPostStructure $request_data = null) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php index fb766c4a5..750becc0a 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php @@ -51,11 +51,11 @@ class CaseScheduler extends Api } /** + * @url POST /:prjUid/case-scheduler + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prjUid {@min 32} {@max 32} * @param CaseSchedulerStructure $request_data - * - * @url POST /:prjUid/case-scheduler - * * @status 201 */ public function doPostProjectCaseScheduler($prjUid, CaseSchedulerStructure $request_data = null) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php index 434bd6e3e..6d1e4b1b6 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php @@ -32,14 +32,14 @@ class CaseTrackerObject extends Api /** * @url POST /:prj_uid/case-tracker/object - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data * @param string $cto_type_obj {@from body}{@choice DYNAFORM,INPUT_DOCUMENT,OUTPUT_DOCUMENT}{@required true} * @param string $cto_uid_obj {@from body}{@min 32}{@max 32}{@required true} * @param string $cto_condition {@from body} * @param int $cto_position {@from body}{@min 1} - * * @status 201 */ public function doPostCaseTrackerObject( diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php index 27d57ae9b..5750556d7 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php @@ -55,9 +55,11 @@ class DataBaseConnection extends Api } /** + * @url POST /:prj_uid/database-connection/test + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prj_uid {@min 1} {@max 32} * @param array $request_data - * * @param string $dbs_type {@from body} {@required true} * @param string $dbs_server {@from body} {@required false} * @param string $dbs_database_name {@from body} {@required false} @@ -66,11 +68,6 @@ class DataBaseConnection extends Api * @param string $dbs_password {@from body} * @param string $dbs_description {@from body} * @return array - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * - * @url POST /:prj_uid/database-connection/test */ public function doPostTestDataBaseConnection( $prj_uid, @@ -94,9 +91,11 @@ class DataBaseConnection extends Api } /** + * @url POST /:prj_uid/database-connection + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prj_uid {@min 1} {@max 32} * @param array $request_data - * * @param string $dbs_type {@from body} {@required true} * @param string $dbs_server {@from body} {@required false} * @param string $dbs_database_name {@from body} {@required false} @@ -105,11 +104,6 @@ class DataBaseConnection extends Api * @param string $dbs_password {@from body} * @param string $dbs_description {@from body} * @return array - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * - * @url POST /:prj_uid/database-connection * @status 201 */ public function doPostDataBaseConnection( diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php index cd9dff8d6..a59511fca 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php @@ -39,10 +39,10 @@ class DynaForm extends Api /** * @url POST /:prj_uid/dynaform - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data - * * @status 201 */ public function doPostDynaForm($prj_uid, $request_data) @@ -138,7 +138,8 @@ class DynaForm extends Api /** * @url POST /:prj_uid/dynaform/:dyn_uid/upload-language - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $dyn_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} */ @@ -155,7 +156,8 @@ class DynaForm extends Api /** * @url POST /:prj_uid/dynaform/:dyn_uid/delete-language/:lang - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $dyn_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} */ @@ -189,7 +191,8 @@ class DynaForm extends Api /** * @url POST /:prj_uid/dynaform/:dyn_uid/history - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $dyn_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php index 712bf2834..7efb26b8e 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php @@ -65,7 +65,8 @@ class EmailEvent extends Api /** * @url POST /:prj_uid/email-event - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prj_uid {@min 1} {@max 32} */ public function doPostEmailEvent($prj_uid, array $request_data) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php index 2a31bea36..7bd6012f5 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php @@ -37,11 +37,12 @@ class FilesManager extends Api } /** + * @url POST /:prj_uid/file-manager + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prj_uid {@min 32} {@max 32} * @param ProcessFilesManagerStructurePost $request_data * @param string $prf_content - * - * @url POST /:prj_uid/file-manager */ public function doPostProcessFilesManager($prj_uid, ProcessFilesManagerStructurePost $request_data, $prf_content=null) { @@ -61,10 +62,11 @@ class FilesManager extends Api } /** + * @url POST /:prj_uid/file-manager/:prf_uid/upload + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prj_uid {@min 32} {@max 32} * @param string $prf_uid {@min 32} {@max 32} - * - * @url POST /:prj_uid/file-manager/:prf_uid/upload */ public function doPostProcessFilesManagerUpload($prj_uid, $prf_uid) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php index 1ed147b51..d061eca15 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php @@ -34,10 +34,10 @@ class InputDocument extends Api /** * @url POST /:prj_uid/input-document - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data - * * @status 201 */ public function doPostInputDocument($prj_uid, $request_data) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php index b6ddc236b..3dc3fc5ef 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php @@ -81,10 +81,10 @@ class MessageEventDefinition extends Api /** * @url POST /:prj_uid/message-event-definition - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data - * * @status 201 */ public function doPostMessageEventDefinition($prj_uid, array $request_data) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php index 32b47c377..84cca6360 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php @@ -66,10 +66,10 @@ class MessageType extends Api /** * @url POST /:prj_uid/message-type - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data - * * @status 201 */ public function doPostMessageType($prj_uid, array $request_data) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php index db199b197..f75278d8b 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php @@ -68,11 +68,11 @@ class Variable extends Api /** * @url POST /:prj_uid/message-type/:msgt_uid/variable - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prj_uid {@min 32}{@max 32} * @param string $msgt_uid {@min 32}{@max 32} * @param array $request_data - * * @status 201 */ public function doPostMessageTypeVariable($prj_uid, $msgt_uid, array $request_data) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php index 5e8231b04..184bc27b6 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php @@ -52,10 +52,10 @@ class OutputDocuments extends Api /** * @url POST /:prjUid/output-document - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prjUid {@min 32} {@max 32} * @param OutputDocumentStructure $request_data - * * @status 201 */ public function doPostProjectOutputDocument($prjUid, OutputDocumentStructure $request_data = null) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php index 974f18116..9a67ddbd9 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php @@ -58,9 +58,11 @@ class ProcessPermissions extends Api } /** + * @url POST /:prj_uid/process-permission/ + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prj_uid {@min 1} {@max 32} * @param array $request_data - * * @param string $usr_uid {@from body} {@min 1} {@max 32} * @param string $op_user_relation {@from body} {@choice 1,2} * @param string $op_case_status {@from body} {@choice ALL,DRAFT,TO_DO,PAUSED,COMPLETED} @@ -72,13 +74,7 @@ class ProcessPermissions extends Api * @param string $dynaforms {@from body} * @param string $inputs {@from body} * @param string $outputs {@from body} - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * * @return array - * - * @url POST /:prj_uid/process-permission/ * @status 201 */ public function doPostProcessPermission( diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php index 1bfe40447..a7f9f8ff1 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php @@ -235,11 +235,11 @@ class ProcessSupervisors extends Api /** * @url POST /:prjUid/process-supervisor - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prjUid {@min 32} {@max 32} * @param string $usr_uid {@min 32} {@max 32} * @param string $pu_type {@choice SUPERVISOR,GROUP_SUPERVISOR} - * * @status 201 */ public function doPostProcessSupervisor($prjUid, $usr_uid, $pu_type) @@ -258,11 +258,11 @@ class ProcessSupervisors extends Api /** * @url POST /:prjUid/process-supervisor/dynaform - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prjUid {@min 32} {@max 32} * @param string $dyn_uid {@min 32} {@max 32} * @param int $pud_position - * * @status 201 */ public function doPostProcessSupervisorDynaform($prjUid, $dyn_uid, $pud_position = null) @@ -281,11 +281,11 @@ class ProcessSupervisors extends Api /** * @url POST /:prjUid/process-supervisor/input-document - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prjUid {@min 32} {@max 32} * @param string $inp_doc_uid {@min 32} {@max 32} * @param int $pui_position - * * @status 201 */ public function doPostProcessSupervisorInputDocument($prjUid, $inp_doc_uid, $pui_position = null) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProjectUsers.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProjectUsers.php index 6d048cdcd..72154adda 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProjectUsers.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProjectUsers.php @@ -70,11 +70,12 @@ class ProjectUsers extends Api } /** + * @url POST /:prj_uid/ws/user/can-start-task + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prj_uid {@min 32} {@max 32} * @param string $act_uid {@min 32} {@max 32} * @param wsUserCanStartTaskStructure $request_data - * - * @url POST /:prj_uid/ws/user/can-start-task */ public function doPostProjectWsUserCanStartTask($prj_uid, $act_uid = null, wsUserCanStartTaskStructure $request_data = null) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php index 7d1894259..30e7865e0 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php @@ -95,20 +95,17 @@ class ReportTable extends Api } /** + * @url POST /:prj_uid/report-table + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prj_uid {@min 1} {@max 32} * @param array $request_data - * * @param string $rep_tab_name {@from body} * @param string $rep_tab_dsc {@from body} * @param string $rep_tab_connection {@from body} * @param string $rep_tab_type {@from body} {@choice NORMAL,GRID} * @param string $rep_tab_grid {@from body} * @return array - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * - * @url POST /:prj_uid/report-table * @status 201 */ public function doPostReportTable( diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php index 3cd658e76..a9b57fc94 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php @@ -81,10 +81,10 @@ class ScriptTask extends Api /** * @url POST /:prj_uid/script-task - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data - * * @status 201 */ public function doPostScriptTask($prj_uid, array $request_data) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php index 62d40a8ce..2a53031c3 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php @@ -87,10 +87,10 @@ class TimerEvent extends Api /** * @url POST /:prj_uid/timer-event - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data - * * @status 201 */ public function doPostTimerEvent($prj_uid, array $request_data) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php index 14a5a2501..58616ee39 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php @@ -55,6 +55,9 @@ class Trigger extends Api } /** + * @url POST /:projectUid/trigger + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $projectUid {@min 1} {@max 32} * @param array $request_data * @param string $tri_title {@from body} {@min 1} @@ -63,11 +66,6 @@ class Trigger extends Api * @param string $tri_webbot {@from body} * @param string $tri_param {@from body} * @return array - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * - * @url POST /:projectUid/trigger * @status 201 */ public function doPostTrigger($projectUid, $request_data, $tri_title, $tri_description = '', $tri_type = 'SCRIPT', $tri_webbot = '', $tri_param = '') diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/TriggerWizard.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/TriggerWizard.php index b7f4c29e2..0735963c2 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/TriggerWizard.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/TriggerWizard.php @@ -67,12 +67,12 @@ class TriggerWizard extends Api /** * @url POST /:prj_uid/trigger-wizard/:lib_name/:fn_name - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prj_uid {@min 32}{@max 32} * @param string $lib_name * @param string $fn_name * @param array $request_data - * * @status 201 */ public function doPostTriggerWizard($prj_uid, $lib_name, $fn_name, $request_data) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php index b86f00e14..0321079cd 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php @@ -49,10 +49,10 @@ class Variable extends Api /** * @url POST /:prj_uid/process-variable - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data - * * @status 201 */ public function doPostVariable($prj_uid, $request_data) @@ -110,7 +110,8 @@ class Variable extends Api /** * @url POST /:prj_uid/process-variable/:var_name/execute-query - * + * @access protected + * @class AccessControl {@permission PM_FACTORY, PM_CASES} * @param string $prj_uid {@min 32}{@max 32} * @param string $var_name * @param array $request_data @@ -132,7 +133,8 @@ class Variable extends Api /** * @url POST /:prj_uid/process-variable/:var_name/execute-query-suggest - * + * @access protected + * @class AccessControl {@permission PM_FACTORY, PM_CASES} * @param string $prj_uid {@min 32}{@max 32} * @param string $var_name * @param array $request_data diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php index 06c0f0490..3dd31a800 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php @@ -72,10 +72,10 @@ class WebEntry extends Api /** * @url POST /:prj_uid/web-entry - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data - * * @status 201 */ public function doPostWebEntry($prj_uid, array $request_data) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php index 7a0402055..29a8cec15 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php @@ -89,11 +89,10 @@ class WebEntryEvent extends Api /** * @url POST /:prj_uid/web-entry-event - * @class AccessControl {@permission PM_FACTORY} - * + * @access protected + * @class AccessControl {@permission PM_FACTORY} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data - * * @status 201 */ public function doPostWebEntryEvent($prj_uid, array $request_data) From e188867c36f903db36319702c7863402f613ee6b Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Thu, 12 Oct 2017 08:32:30 -0400 Subject: [PATCH 03/41] HOR-3968 --- workflow/engine/src/ProcessMaker/Services/Api/Process.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Process.php b/workflow/engine/src/ProcessMaker/Services/Api/Process.php index 8aae4c2f2..29481f6ff 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Process.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Process.php @@ -66,6 +66,8 @@ class Process extends Api /** * @access protected * @class AccessControl {@permission PM_FACTORY} + * @param array $request_data + * @return array */ public function post($request_data = null) { From 3584cc2975a91bd22d4b738e5054ff7773cd6b02 Mon Sep 17 00:00:00 2001 From: davidcallizaya Date: Fri, 13 Oct 2017 10:59:18 -0400 Subject: [PATCH 04/41] HOR-3967 Fix CR observations and CS. --- .../Services/Api/ActionsByEmail.php | 14 +++- .../ProcessMaker/Services/Api/Calendar.php | 11 ++- .../src/ProcessMaker/Services/Api/Cases.php | 67 ++++++++++++++----- .../Services/Api/Cases/Variable.php | 9 ++- .../src/ProcessMaker/Services/Api/Catalog.php | 8 ++- .../Services/Api/Consolidated.php | 8 ++- .../ProcessMaker/Services/Api/Dashboard.php | 18 ++++- .../ProcessMaker/Services/Api/Department.php | 18 ++++- .../ProcessMaker/Services/Api/EmailServer.php | 10 ++- .../src/ProcessMaker/Services/Api/Group.php | 10 ++- .../src/ProcessMaker/Services/Api/Light.php | 16 +++-- .../Services/Api/Light/NotificationDevice.php | 6 +- .../src/ProcessMaker/Services/Api/Pmtable.php | 18 +++-- .../src/ProcessMaker/Services/Api/Process.php | 4 +- .../Services/Api/ProcessCategory.php | 14 ++-- .../Services/Api/Project/Activity.php | 17 +++-- .../Services/Api/Project/Activity/Step.php | 7 +- .../Api/Project/Activity/Step/Trigger.php | 14 +++- .../Services/Api/Project/CaseScheduler.php | 12 +++- .../Services/Api/Project/CaseTracker.php | 10 ++- .../Api/Project/CaseTrackerObject.php | 10 ++- .../Api/Project/DataBaseConnection.php | 8 ++- .../Services/Api/Project/DynaForm.php | 8 ++- .../Services/Api/Project/EmailEvent.php | 10 ++- .../Services/Api/Project/Event.php | 12 +++- .../Services/Api/Project/FilesManager.php | 10 ++- .../Services/Api/Project/InputDocument.php | 8 ++- .../Api/Project/MessageEventDefinition.php | 10 ++- .../Services/Api/Project/MessageType.php | 10 ++- .../Api/Project/MessageType/Variable.php | 10 ++- .../Services/Api/Project/OutputDocuments.php | 7 +- .../Api/Project/ProcessPermissions.php | 10 ++- .../Api/Project/ProcessSupervisors.php | 19 ++++-- .../Services/Api/Project/ReportTable.php | 10 ++- .../Services/Api/Project/ScriptTask.php | 10 ++- .../Services/Api/Project/SubProcess.php | 10 ++- .../Services/Api/Project/TimerEvent.php | 10 ++- .../Services/Api/Project/Trigger.php | 10 ++- .../Services/Api/Project/TriggerWizard.php | 10 ++- .../Services/Api/Project/Variable.php | 10 ++- .../Services/Api/Project/WebEntry.php | 7 +- .../Services/Api/Project/WebEntryEvent.php | 11 ++- .../src/ProcessMaker/Services/Api/Role.php | 8 ++- .../src/ProcessMaker/Services/Api/User.php | 8 ++- 44 files changed, 411 insertions(+), 116 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/ActionsByEmail.php b/workflow/engine/src/ProcessMaker/Services/Api/ActionsByEmail.php index 5a5d97bff..339b5bb27 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/ActionsByEmail.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/ActionsByEmail.php @@ -63,10 +63,14 @@ class ActionsByEmail extends Api } /** + * Update template. * * @url PUT /updateTemplate - * @class AccessControl {@permission PM_SETUP_EMAIL} + * + * @param type $params + * * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function updateTemplate($params) { @@ -83,10 +87,16 @@ class ActionsByEmail extends Api } /** + * Update configuration. * * @url PUT /saveConfiguration - * @class AccessControl {@permission PM_SETUP_EMAIL} + * + * @param type $params + * + * @return mixed + * * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function saveConfiguration($params) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Calendar.php b/workflow/engine/src/ProcessMaker/Services/Api/Calendar.php index 53dadcd0e..4669c772b 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Calendar.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Calendar.php @@ -80,12 +80,17 @@ class Calendar extends Api } /** - * - * @access protected - * @class AccessControl {@permission PM_SETUP_CALENDAR} + * Update calendar. + * * @url PUT /:cal_uid + * * @param string $cal_uid {@min 32}{@max 32} * @param array $request_data + * + * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_SETUP_CALENDAR} */ public function doPut($cal_uid, $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases.php index 594b2f680..483a79833 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases.php @@ -796,14 +796,19 @@ class Cases extends Api } /** + * Update case reassignment. + * * @url PUT /:app_uid/reassign-case * * @param string $app_uid {@min 32}{@max 32} * @param string $usr_uid_source {@from body} {@min 32}{@max 32} * @param string $usr_uid_target {@from body} {@min 32}{@max 32} * @param string $del_index {@from body} - * @class AccessControl {@permission PM_REASSIGNCASE,PM_REASSIGNCASE_SUPERVISOR} + * + * @throws RestException + * * @access protected + * @class AccessControl {@permission PM_REASSIGNCASE,PM_REASSIGNCASE_SUPERVISOR} */ public function doPutReassignCase($app_uid, $usr_uid_source, $usr_uid_target, $del_index = null) { @@ -817,13 +822,17 @@ class Cases extends Api } /** - * Route Case + * Route Case. * * @url PUT /:app_uid/route-case + * * @param string $app_uid {@min 32}{@max 32} * @param string $del_index {@from body} - * @class AccessControl {@permission PM_CASES} + * + * @throws RestException + * * @access protected + * @class AccessControl {@permission PM_CASES} */ public function doPutRouteCase($app_uid, $del_index = null) { @@ -839,10 +848,14 @@ class Cases extends Api /** * Cancel Case * - * @param string $cas_uid {@min 1}{@max 32} - * @class AccessControl {@permission PM_CANCELCASE} - * @access protected * @url PUT /:cas_uid/cancel + * + * @param string $cas_uid {@min 1}{@max 32} + * + * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_CANCELCASE} */ public function doPutCancelCase($cas_uid) { @@ -858,11 +871,15 @@ class Cases extends Api /** * Pause Case * + * @url PUT /:cas_uid/pause + * * @param string $cas_uid {@min 1}{@max 32} * @param string $unpaused_date {@from body} - * @class AccessControl {@permission PM_CASES} + * + * @throws RestException + * * @access protected - * @url PUT /:cas_uid/pause + * @class AccessControl {@permission PM_CASES} */ public function doPutPauseCase($cas_uid, $unpaused_date = null) { @@ -882,10 +899,14 @@ class Cases extends Api /** * Unpause Case * - * @param string $cas_uid {@min 1}{@max 32} - * @class AccessControl {@permission PM_CASES} - * @access protected * @url PUT /:cas_uid/unpause + * + * @param string $cas_uid {@min 1}{@max 32} + * + * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_CASES} */ public function doPutUnpauseCase($cas_uid) { @@ -899,13 +920,17 @@ class Cases extends Api } /** - * Unpause Case + * Execute trigger in a case. + * + * @url PUT /:cas_uid/execute-trigger/:tri_uid * * @param string $cas_uid {@min 1}{@max 32} * @param string $tri_uid {@min 1}{@max 32} - * @class AccessControl {@permission PM_CASES} + * + * @throws RestException + * * @access protected - * @url PUT /:cas_uid/execute-trigger/:tri_uid + * @class AccessControl {@permission PM_CASES} */ public function doPutExecuteTriggerCase($cas_uid, $tri_uid) { @@ -969,13 +994,17 @@ class Cases extends Api /** * Put Case Variables * + * @url PUT /:app_uid/variable + * * @param string $app_uid {@min 1}{@max 32} * @param array $request_data * @param string $dyn_uid {@from path} * @param int $del_index {@from path} - * @class AccessControl {@permission PM_CASES} + * + * @throws RestException + * * @access protected - * @url PUT /:app_uid/variable + * @class AccessControl {@permission PM_CASES} */ public function doPutCaseVariables($app_uid, $request_data, $dyn_uid = '', $del_index = 0) { @@ -1134,13 +1163,17 @@ class Cases extends Api /** * Execute triggers * + * @url PUT /:app_uid/execute-triggers + * * @param string $app_uid {@min 1}{@max 32} * @param int $del_index {@from body} * @param string $obj_type {@from body} * @param string $obj_uid {@from body} + * + * @throws RestException + * * @class AccessControl {@permission PM_CASES} * @access protected - * @url PUT /:app_uid/execute-triggers */ public function doPutExecuteTriggers($app_uid, $del_index, $obj_type, $obj_uid) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php index b32622d88..23f0c1a9a 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php @@ -99,15 +99,20 @@ class Variable extends Api } /** + * Update variable. + * * @url PUT /:app_uid/:del_index/variable/:var_name + * @status 204 * * @param string $app_uid {@min 32}{@max 32} * @param int $del_index {@min 1} * @param string $var_name * @param array $request_data - * @class AccessControl {@permission PM_CASES} + * + * @throws RestException + * * @access protected - * @status 204 + * @class AccessControl {@permission PM_CASES} */ public function doPutVariable($app_uid, $del_index, $var_name, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php b/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php index 3db7504e6..aa1ab0af9 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php @@ -62,12 +62,18 @@ class Catalog extends Api } /** + * Update catalog. + * * @url PUT /:cat_uid/:cat_type + * * @param string $cat_uid {@min 32}{@max 32} * @param string $cat_type {@min 32}{@max 32} * @param array $request_data - * @class AccessControl {@permission PM_DASHBOARD} + * + * @throws RestException + * * @access protected + * @class AccessControl {@permission PM_DASHBOARD} */ public function doPut($cat_uid, $cat_type, $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php b/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php index 3b7693b0a..773d48767 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php @@ -108,14 +108,18 @@ class Consolidated extends Api /** * Get Cases Consolidated * + * @url PUT /cases/:tas_uid/:dyn_uid/:pro_uid + * * @param string $tas_uid {@min 1} {@max 32} * @param string $dyn_uid {@min 1} {@max 32} * @param string $pro_uid {@min 1} {@max 32} * @param array $request_data + * * @return array - * @class AccessControl {@permission PM_CASES} + * @throws RestException + * * @access protected - * @url PUT /cases/:tas_uid/:dyn_uid/:pro_uid + * @class AccessControl {@permission PM_CASES} */ public function doPutCasesConsolidated($tas_uid, $dyn_uid, $pro_uid, $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php b/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php index db70262ab..fc47b510f 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php @@ -242,10 +242,14 @@ class Dashboard extends Api /** * Put dashboards configuration * - * @param array $request_data * @url PUT - * @class AccessControl {@permission PM_DASHBOARD} + * + * @param array $request_data + * + * @throws RestException + * * @access protected + * @class AccessControl {@permission PM_DASHBOARD} */ public function doPutDashboard($request_data) { @@ -339,6 +343,9 @@ class Dashboard extends Api * Put Indicator * * @param array $request_data + * + * @throws RestException + * * @class AccessControl {@permission PM_DASHBOARD} * @access protected */ @@ -414,9 +421,14 @@ class Dashboard extends Api /** * Put dashboards configuration by usr_uid * + * @url PUT /config + * * @param array $request_data - * @class AccessControl {@permission PM_DASHBOARD} + * + * @throws RestException + * * @access protected + * @class AccessControl {@permission PM_DASHBOARD} */ public function doPutDashboardConfigByUsrUid($request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Department.php b/workflow/engine/src/ProcessMaker/Services/Api/Department.php index 19d24be83..fbc81504b 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Department.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Department.php @@ -141,12 +141,18 @@ class Department extends Api } /** + * Update manager user + * * @url PUT /:dep_uid/set-manager/:usr_uid - * @class AccessControl {@permission PM_USERS} - * @access protected + * * @param string $dep_uid {@min 1}{@max 32} * @param string $usr_uid {@min 1}{@max 32} + * * @return array + * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_USERS} */ public function doPutSetManager($dep_uid, $usr_uid) { @@ -201,11 +207,17 @@ class Department extends Api } /** + * Update department. + * * @url PUT /:dep_uid + * * @param string $dep_uid {@min 1}{@max 32} * @param array $request_data - * @class AccessControl {@permission PM_USERS} + * + * @throws RestException + * * @access protected + * @class AccessControl {@permission PM_USERS} */ public function doPut($dep_uid, $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php b/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php index a42517a5e..2546b6813 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php @@ -123,12 +123,18 @@ class EmailServer extends Api } /** + * Update email server. + * * @url PUT /:mess_uid + * @status 200 + * * @param string $mess_uid {@min 32}{@max 32} * @param array $request_data - * @class AccessControl {@permission PM_SETUP_EMAIL} + * + * @throws RestException + * * @access protected - * @status 200 + * @class AccessControl {@permission PM_SETUP_EMAIL} */ public function doPut($mess_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Group.php b/workflow/engine/src/ProcessMaker/Services/Api/Group.php index de94e7334..6db82acf6 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Group.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Group.php @@ -96,11 +96,17 @@ class Group extends Api } /** + * Update group. + * * @url PUT /:grp_uid - * @class AccessControl {@permission PM_USERS} - * @access protected + * * @param string $grp_uid {@min 32}{@max 32} * @param array $request_data + * + * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_USERS} */ public function doPut($grp_uid, $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Light.php b/workflow/engine/src/ProcessMaker/Services/Api/Light.php index 61f199a7d..ab8457553 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Light.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Light.php @@ -1177,11 +1177,15 @@ class Light extends Api * Route Case * * @url PUT /cases/:app_uid/route-case - * @class AccessControl {@permission PM_CASES} - * @access protected + * * @param string $app_uid {@min 32}{@max 32} * @param int $del_index {@from body} * @param array $tasks {@from body} + * + * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_CASES} */ public function doPutRouteCase($app_uid, $del_index = null, $tasks = array()) { @@ -1718,13 +1722,17 @@ class Light extends Api /** * Put Case Variables * + * @url PUT /:app_uid/variable + * * @param string $app_uid {@min 1}{@max 32} * @param array $request_data * @param string $dyn_uid {@from path} * @param int $del_index {@from path} - * @class AccessControl {@permission PM_CASES} + * + * @throws RestException + * * @access protected - * @url PUT /:app_uid/variable + * @class AccessControl {@permission PM_CASES} */ public function doPutCaseVariables($app_uid, $request_data, $dyn_uid = '', $del_index = 0) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Light/NotificationDevice.php b/workflow/engine/src/ProcessMaker/Services/Api/Light/NotificationDevice.php index d861d34f9..52bb67e84 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Light/NotificationDevice.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Light/NotificationDevice.php @@ -36,12 +36,14 @@ class NotificationDevice extends Api } /** - * Post Create register device with userUid + * Update device language. + * + * @url PUT /notification/:dev_uid * * @param string $dev_uid {@min 32}{@max 32} * @param array $request_data + * * @return array - * @url PUT /notification/:dev_uid * @throws RestException */ public function updateDeviceLanguage($dev_uid, $request_data) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Pmtable.php b/workflow/engine/src/ProcessMaker/Services/Api/Pmtable.php index bd1d8c5a1..9919fad2d 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Pmtable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Pmtable.php @@ -137,17 +137,17 @@ class Pmtable extends Api } /** + * Update pm-table. + * + * @url PUT /:pmt_uid + * * @param string $pmt_uid {@min 1} {@max 32} - * * @param array $request_data - * @return void * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia + * @return void * * @access protected * @class AccessControl {@permission PM_SETUP_PM_TABLES} - * @url PUT /:pmt_uid */ public function doPutPmTable( $pmt_uid, @@ -163,12 +163,18 @@ class Pmtable extends Api } /** + * Update pm-table data. + * + * @url PUT /:pmt_uid/data + * * @param string $pmt_uid {@min 1} {@max 32} * @param array $request_data + * * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_SETUP_PM_TABLES} - * @url PUT /:pmt_uid/data */ public function doPutPmTableData( $pmt_uid, diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Process.php b/workflow/engine/src/ProcessMaker/Services/Api/Process.php index 2296bda19..1d3b8bb5c 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Process.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Process.php @@ -83,10 +83,12 @@ class Process extends Api * * @param type $processUid * @param type $request_data + * * @return type * @throws RestException - * @class AccessControl {@permission PM_FACTORY} + * * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function put($processUid, $request_data = null) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/ProcessCategory.php b/workflow/engine/src/ProcessMaker/Services/Api/ProcessCategory.php index 4dcbe8a73..1f08a375c 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/ProcessCategory.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/ProcessCategory.php @@ -90,13 +90,17 @@ class ProcessCategory extends Api } /** + * Update category. + * + * @url PUT /category/:cat_uid + * + * @param string $cat_uid {@min 32}{@max 32} + * @param array $request_data + * + * @throws RestException * * @access protected - * @class AccessControl {@permission PM_FACTORY,PM_SETUP_PROCESS_CATEGORIES} - * @url PUT /category/:cat_uid - * @param string $cat_uid {@min 32}{@max 32} - * @param array $request_data - * @throws RestException + * @class AccessControl {@permission PM_SETUP_PROCESS_CATEGORIES} */ public function doPutCategory($cat_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php index 21c8320ee..f9bff74f6 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php @@ -104,14 +104,18 @@ class Activity extends Api /** * Update an activity. * + * @url PUT /:prj_uid/activity/:act_uid + * * @param string $prj_uid {@min 32} {@max 32} * @param string $act_uid {@min 32} {@max 32} * @param ActivityPropertiesStructure $properties {@from body} - * @class AccessControl {@permission PM_FACTORY} - * @access protected + * @param array $request_data + * * @return array - * @url PUT /:prj_uid/activity/:act_uid * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutProjectActivity($prj_uid, $act_uid, ActivityPropertiesStructure $properties, $request_data = array()) { @@ -220,9 +224,14 @@ class Activity extends Api * Get activity validate self service. * * @url PUT /:prj_uid/activity/validate-active-cases + * * @param string $prj_uid {@min 32}{@max 32} - * @class AccessControl {@permission PM_FACTORY} + * @param array $request_data + * + * @throws RestException + * * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doGetActivityValidateSelfService($prj_uid, $request_data = array()) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php index 2d05de43b..74bda2f4e 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php @@ -73,6 +73,8 @@ class Step extends Api } /** + * Update step. + * * @url PUT /:prj_uid/activity/:act_uid/step/:step_uid * * @param string $step_uid {@min 32}{@max 32} @@ -84,8 +86,11 @@ class Step extends Api * @param string $step_condition {@from body} * @param int $step_position {@from body}{@min 1} * @param string $step_mode {@from body}{@choice EDIT,VIEW} - * @class AccessControl {@permission PM_FACTORY} + * + * @throws RestException + * * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutActivityStep( $step_uid, diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php index 63f6347ec..be096667f 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php @@ -57,6 +57,8 @@ class Trigger extends Api } /** + * Update activity step trigger. + * * @url PUT /:prj_uid/activity/:act_uid/step/:step_uid/trigger/:tri_uid * * @param string $tri_uid @@ -64,8 +66,11 @@ class Trigger extends Api * @param string $act_uid * @param string $prj_uid * @param StepTriggerPutStructure $request_data - * @class AccessControl {@permission PM_FACTORY} + * + * @throws RestException + * * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutActivityStepTrigger($tri_uid, $step_uid, $act_uid, $prj_uid, StepTriggerPutStructure $request_data = null) { @@ -146,14 +151,19 @@ class Trigger extends Api } /** + * Update activity step assign task trigger. + * * @url PUT /:prj_uid/activity/:act_uid/step/trigger/:tri_uid * * @param string $tri_uid * @param string $act_uid * @param string $prj_uid * @param StepAssignTaskTriggerPutStructure $request_data - * @class AccessControl {@permission PM_FACTORY} + * + * @throws RestException + * * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutActivityStepAssignTaskTrigger($tri_uid, $act_uid, $prj_uid, StepAssignTaskTriggerPutStructure $request_data = null) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php index f8050fa23..dd1b647c8 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php @@ -75,12 +75,18 @@ class CaseScheduler extends Api } /** + * Update project case scheduler. + * * @url PUT /:prjUid/case-scheduler/:schUid - * @class AccessControl {@permission PM_FACTORY} - * @access protected + * * @param string $prjUid {@min 32} {@max 32} * @param string $schUid {@min 32} {@max 32} - * @param CaseSchedulerStructure $request_data + * @param CaseSchedulerStructure $request_data + * + * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutProjectCaseScheduler($prjUid, $schUid, CaseSchedulerStructure $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTracker.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTracker.php index 804ccbe82..4ae4faa11 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTracker.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTracker.php @@ -30,14 +30,20 @@ class CaseTracker extends Api } /** + * Update case tracker. + * * @url PUT /:prj_uid/case-tracker/property - * @class AccessControl {@permission PM_FACTORY} - * @access protected + * * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data * @param string $map_type {@from body}{@choice NONE,PROCESSMAP,STAGES} * @param int $routing_history {@from body}{@choice 0,1} * @param int $message_history {@from body}{@choice 0,1} + * + * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutCaseTracker( $prj_uid, diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php index 9f6cf1c1c..9c1f9dfc4 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php @@ -64,9 +64,10 @@ class CaseTrackerObject extends Api } /** + * Update case tracker object. + * * @url PUT /:prj_uid/case-tracker/object/:cto_uid - * @class AccessControl {@permission PM_FACTORY} - * @access protected + * * @param string $cto_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data @@ -74,6 +75,11 @@ class CaseTrackerObject extends Api * @param string $cto_uid_obj {@from body}{@min 32}{@max 32} * @param string $cto_condition {@from body} * @param int $cto_position {@from body}{@min 1} + * + * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutCaseTrackerObject( $cto_uid, diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php index 7337d6188..fecb178c8 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php @@ -135,6 +135,8 @@ class DataBaseConnection extends Api /** * Update database connection. * + * @url PUT /:prj_uid/database-connection/:dbs_uid + * * @param string $prj_uid {@min 1} {@max 32} * @param string $dbs_uid {@min 1} {@max 32} * @param array $request_data @@ -145,10 +147,12 @@ class DataBaseConnection extends Api * @param string $dbs_encode {@from body} {@required true} * @param string $dbs_password {@from body} * @param string $dbs_description {@from body} + * * @return void - * @url PUT /:prj_uid/database-connection/:dbs_uid - * @class AccessControl {@permission PM_SETUP} + * @throws RestException + * * @access protected + * @class AccessControl {@permission PM_SETUP} */ public function doPutDataBaseConnection( $prj_uid, diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php index dc59a24aa..ecbe66b22 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php @@ -66,11 +66,15 @@ class DynaForm extends Api * Update dynaform. * * @url PUT /:prj_uid/dynaform/:dyn_uid - * @class AccessControl {@permission PM_FACTORY} - * @access protected + * * @param string $dyn_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data + * + * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutDynaForm($dyn_uid, $prj_uid, $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php index c10ee5235..b6ad92274 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php @@ -79,12 +79,18 @@ class EmailEvent extends Api } /** + * Update email event. + * * @url PUT /:prj_uid/email-event/:email_event_uid - * @class AccessControl {@permission PM_FACTORY} - * @access protected + * * @param string $prj_uid {@min 32}{@max 32} * @param string $email_event_uid {@min 32}{@max 32} * @param array $request_data + * + * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutEmailEvent($prj_uid, $email_event_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Event.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Event.php index ef99e25d8..470134a60 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Event.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Event.php @@ -139,6 +139,10 @@ class Event extends Api } /** + * Update event. + * + * @url PUT /:prj_uid/event/:evn_uid + * * @param string $prj_uid {@min 1} {@max 32} * @param string $evn_uid {@min 1} {@max 32} * @param array $request_data @@ -155,10 +159,12 @@ class Event extends Api * @param string $evn_tas_uid_from {@from body} * @param string $evn_tas_uid_to {@from body} * @param string $evn_conditions {@from body} - * @class AccessControl {@permission PM_FACTORY} - * @access protected + * * @return void - * @url PUT /:prj_uid/event/:evn_uid + * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutEvent ( $prj_uid, diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php index 41f870f12..4fe15ec6a 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php @@ -80,12 +80,18 @@ class FilesManager extends Api } /** + * Update process files manager + * + * @url PUT /:prj_uid/file-manager/:prf_uid + * * @param string $prj_uid {@min 32} {@max 32} * @param ProcessFilesManagerStructure $request_data * @param string $prf_uid {@min 32} {@max 32} - * @class AccessControl {@permission PM_FACTORY} + * + * @throws RestException + * * @access protected - * @url PUT /:prj_uid/file-manager/:prf_uid + * @class AccessControl {@permission PM_FACTORY} */ public function doPutProcessFilesManager($prj_uid, ProcessFilesManagerStructure $request_data, $prf_uid) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php index 93db3a995..ad85a60e8 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php @@ -58,12 +58,18 @@ class InputDocument extends Api } /** + * Update input document. + * * @url PUT /:prj_uid/input-document/:inp_doc_uid + * * @param string $inp_doc_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data - * @class AccessControl {@permission PM_FACTORY} + * + * @throws RestException + * * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutInputDocument($inp_doc_uid, $prj_uid, $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php index ac7c453a7..99cc1b495 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php @@ -101,12 +101,18 @@ class MessageEventDefinition extends Api } /** + * Update message event definition. + * * @url PUT /:prj_uid/message-event-definition/:msged_uid - * @class AccessControl {@permission PM_FACTORY} - * @access protected + * * @param string $prj_uid {@min 32}{@max 32} * @param string $msged_uid {@min 32}{@max 32} * @param array $request_data + * + * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutMessageEventDefinition($prj_uid, $msged_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php index d4a50ddae..3d2470442 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php @@ -86,12 +86,18 @@ class MessageType extends Api } /** + * Update message type. + * * @url PUT /:prj_uid/message-type/:msgt_uid - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * * @param string $prj_uid {@min 32}{@max 32} * @param string $msgt_uid {@min 32}{@max 32} * @param array $request_data + * + * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutMessageType($prj_uid, $msgt_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php index c8b4badf7..5e494f077 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php @@ -89,13 +89,19 @@ class Variable extends Api } /** + * Update message type variable. + * * @url PUT /:prj_uid/message-type/:msgt_uid/variable/:msgtv_uid - * @class AccessControl {@permission PM_FACTORY} - * @access protected + * * @param string $prj_uid {@min 32}{@max 32} * @param string $msgt_uid {@min 32}{@max 32} * @param string $msgtv_uid {@min 32}{@max 32} * @param array $request_data + * + * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutMessageTypeVariable($prj_uid, $msgt_uid, $msgtv_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php index 44baabf71..4e59812cd 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php @@ -74,13 +74,18 @@ class OutputDocuments extends Api } /** + * Update project output document. + * * @url PUT /:prjUid/output-document/:outputDocumentUid * * @param string $prjUid {@min 32} {@max 32} * @param string $outputDocumentUid {@min 32} {@max 32} * @param array $request_data - * @class AccessControl {@permission PM_FACTORY} + * + * @throws RestException + * * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutProjectOutputDocument($prjUid, $outputDocumentUid, $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php index 9d4926f4a..5ecb03639 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php @@ -115,6 +115,10 @@ class ProcessPermissions extends Api } /** + * Update process permisson. + * + * @url PUT /:prj_uid/process-permission/:ob_uid + * * @param string $prj_uid {@min 1} {@max 32} * @param string $ob_uid {@min 1} {@max 32} * @param array $request_data @@ -129,10 +133,12 @@ class ProcessPermissions extends Api * @param string $dynaforms {@from body} * @param string $inputs {@from body} * @param string $outputs {@from body} + * * @return array - * @url PUT /:prj_uid/process-permission/:ob_uid - * @class AccessControl {@permission PM_FACTORY} + * @throws RestException + * * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutProcessPermission( $prj_uid, diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php index f41d88230..cce54fd1e 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php @@ -357,13 +357,19 @@ class ProcessSupervisors extends Api } /** + * Update process supervisor dynaform. + * * @url PUT /:prjUid/process-supervisor/dynaform/:pud_uid + * @status 201 + * * @param string $prjUid {@min 32} {@max 32} * @param string $pud_uid {@min 32} {@max 32} * @param int $pud_position - * @status 201 - * @class AccessControl {@permission PM_FACTORY} + * + * @throws RestException + * * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutProcessSupervisorDynaform($prjUid, $pud_uid, $pud_position = null) { @@ -380,14 +386,19 @@ class ProcessSupervisors extends Api } /** + * Update process supervisor input document. + * * @url PUT /:prjUid/process-supervisor/input-document/:pui_uid + * @status 201 * * @param string $prjUid {@min 32} {@max 32} * @param string $pui_uid {@min 32} {@max 32} * @param int $pui_position - * @status 201 - * @class AccessControl {@permission PM_FACTORY} + * + * @throws RestException + * * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutProcessSupervisorInputDocument($prjUid, $pui_uid, $pui_position = null) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php index bd8b2525b..edc74d4f9 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php @@ -133,14 +133,20 @@ class ReportTable extends Api } /** + * Update report table. + * + * @url PUT /:prj_uid/report-table/:rep_uid + * * @param string $prj_uid {@min 1} {@max 32} * @param string $rep_uid {@min 1} {@max 32} * @param array $request_data * @param string $rep_tab_dsc {@from body} + * * @return void - * @class AccessControl {@permission PM_FACTORY} + * @throws RestException + * * @access protected - * @url PUT /:prj_uid/report-table/:rep_uid + * @class AccessControl {@permission PM_FACTORY} */ public function doPutReportTable( $prj_uid, diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php index f2fbca313..7d34a8d9d 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php @@ -101,12 +101,18 @@ class ScriptTask extends Api } /** + * Update script task. + * * @url PUT /:prj_uid/script-task/:scrtas_uid - * @class AccessControl {@permission PM_FACTORY} - * @access protected + * * @param string $prj_uid {@min 32}{@max 32} * @param string $scrtas_uid {@min 32}{@max 32} * @param array $request_data + * + * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutScriptTask($prj_uid, $scrtas_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/SubProcess.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/SubProcess.php index bdd62700a..0abf7c12e 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/SubProcess.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/SubProcess.php @@ -43,13 +43,19 @@ class Subprocess extends Api } /** + * Update subprocess. + * + * @url PUT /:prj_uid/subprocess/:tas_uid + * * @param string $prj_uid {@min 1} {@max 32} * @param string $tas_uid {@min 1} {@max 32} * @param array $request_data + * * @return void - * @class AccessControl {@permission PM_FACTORY} + * @throws RestException + * * @access protected - * @url PUT /:prj_uid/subprocess/:tas_uid + * @class AccessControl {@permission PM_FACTORY} */ public function doPutSubprocess($prj_uid, $tas_uid, $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php index d9d42e358..25e1c7a7d 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php @@ -109,12 +109,18 @@ class TimerEvent extends Api } /** + * Update timer event. + * * @url PUT /:prj_uid/timer-event/:tmrevn_uid - * @class AccessControl {@permission PM_FACTORY} - * @access protected + * * @param string $prj_uid {@min 32}{@max 32} * @param string $tmrevn_uid {@min 32}{@max 32} * @param array $request_data + * + * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutTimerEvent($prj_uid, $tmrevn_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php index 68967bcc3..1db3d6ace 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php @@ -82,6 +82,10 @@ class Trigger extends Api } /** + * Update trigger. + * + * @url PUT /:projectUid/trigger/:triggerUid + * * @param string $projectUid {@min 1} {@max 32} * @param string $triggerUid {@min 1} {@max 32} * @param array $request_data @@ -90,10 +94,12 @@ class Trigger extends Api * @param string $tri_type {@from body} * @param string $tri_webbot {@from body} * @param string $tri_param {@from body} + * * @return void - * @url PUT /:projectUid/trigger/:triggerUid - * @class AccessControl {@permission PM_FACTORY} + * @throws RestException + * * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutTrigger($projectUid, $triggerUid, $request_data, $tri_title = '', $tri_description = '', $tri_type = 'SCRIPT', $tri_webbot = '', $tri_param = '') { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/TriggerWizard.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/TriggerWizard.php index 55c0c577a..68d88de70 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/TriggerWizard.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/TriggerWizard.php @@ -93,14 +93,20 @@ class TriggerWizard extends Api } /** + * Update trigger wizard. + * * @url PUT /:prj_uid/trigger-wizard/:lib_name/:fn_name/:tri_uid - * @class AccessControl {@permission PM_FACTORY} - * @access protected + * * @param string $prj_uid {@min 32}{@max 32} * @param string $lib_name * @param string $fn_name * @param string $tri_uid {@min 32}{@max 32} * @param array $request_data + * + * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutTriggerWizard($prj_uid, $lib_name, $fn_name, $tri_uid, $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php index e01b60a10..219edf9c4 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php @@ -72,12 +72,18 @@ class Variable extends Api } /** + * Update variable. + * * @url PUT /:prj_uid/process-variable/:var_uid - * @class AccessControl {@permission PM_FACTORY} - * @access protected + * * @param string $prj_uid {@min 32}{@max 32} * @param string $var_uid {@min 32}{@max 32} * @param array $request_data + * + * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutVariable($prj_uid, $var_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php index 0a15520b8..4dd8d69fb 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php @@ -93,13 +93,18 @@ class WebEntry extends Api } /** + * Update web-entry. + * * @url PUT /:prj_uid/web-entry/:we_uid * * @param string $prj_uid {@min 32}{@max 32} * @param string $we_uid {@min 32}{@max 32} * @param array $request_data - * @class AccessControl {@permission PM_FACTORY} + * + * @throws RestException + * * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutWebEntry($prj_uid, $we_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php index cf5ed591f..cd4732873 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php @@ -110,12 +110,19 @@ class WebEntryEvent extends Api } /** + * Update web-entry event. + * * @url PUT /:prj_uid/web-entry-event/:wee_uid - * @class AccessControl {@permission PM_FACTORY} - * @access protected + * * @param string $prj_uid {@min 32}{@max 32} * @param string $wee_uid {@min 32}{@max 32} * @param array $request_data + * + * @return mixed + * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPutWebEntryEvent($prj_uid, $wee_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Role.php b/workflow/engine/src/ProcessMaker/Services/Api/Role.php index 66165ec1c..f16777593 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Role.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Role.php @@ -101,13 +101,15 @@ class Role extends Api /** * Update a role. * - * @access protected - * @class AccessControl {@permission PM_USERS} * @url PUT /:rol_uid - * @class AccessControl {@permission PM_USERS} + * * @param string $rol_uid {@min 32}{@max 32} * @param array $request_data + * * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_USERS} */ public function doPut($rol_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/User.php b/workflow/engine/src/ProcessMaker/Services/Api/User.php index d52de2f0f..43842be7a 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/User.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/User.php @@ -85,11 +85,15 @@ class User extends Api /** * Update a user. * - * @access protected - * @class AccessControl {@permission PM_USERS} * @url PUT /:usr_uid + * * @param string $usr_uid {@min 32}{@max 32} * @param array $request_data + * + * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_USERS} */ public function doPutUser($usr_uid, $request_data) { From 4681ebc3461876e744af261a40aaaa584886f44d Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Tue, 10 Oct 2017 16:29:36 -0400 Subject: [PATCH 05/41] HOR-3713 --- .../src/ProcessMaker/Services/Api/Cases.php | 9 +++--- .../Services/Api/Cases/InputDocument.php | 2 ++ .../Services/Api/Cases/OutputDocument.php | 2 ++ .../Services/Api/Cases/Variable.php | 2 ++ .../src/ProcessMaker/Services/Api/Catalog.php | 20 ------------ .../ProcessMaker/Services/Api/Dashboard.php | 6 ++++ .../ProcessMaker/Services/Api/Department.php | 4 +++ .../ProcessMaker/Services/Api/EmailServer.php | 2 ++ .../src/ProcessMaker/Services/Api/Group.php | 2 ++ .../ProcessMaker/Services/Api/Group/User.php | 2 ++ .../src/ProcessMaker/Services/Api/Light.php | 10 +++--- .../Services/Api/Light/NotificationDevice.php | 6 ++-- .../Api/Project/Activity/Assignee.php | 4 +++ .../Services/Api/Project/Activity/Step.php | 2 ++ .../Api/Project/Activity/Step/Trigger.php | 4 +++ .../Services/Api/Project/CaseScheduler.php | 3 ++ .../Api/Project/CaseTrackerObject.php | 2 ++ .../Api/Project/DataBaseConnection.php | 9 +++--- .../Services/Api/Project/DynaForm.php | 2 ++ .../Services/Api/Project/EmailEvent.php | 4 +++ .../Services/Api/Project/Event.php | 12 +++---- .../Services/Api/Project/FilesManager.php | 12 ++++--- .../Services/Api/Project/InputDocument.php | 2 ++ .../Api/Project/MessageEventDefinition.php | 2 ++ .../Services/Api/Project/MessageType.php | 2 ++ .../Api/Project/MessageType/Variable.php | 4 ++- .../Services/Api/Project/OutputDocuments.php | 3 ++ .../Api/Project/ProcessPermissions.php | 9 +++--- .../Api/Project/ProcessSupervisors.php | 6 ++++ .../Services/Api/Project/ReportTable.php | 8 ++--- .../Services/Api/Project/ScriptTask.php | 2 ++ .../Services/Api/Project/TimerEvent.php | 2 ++ .../Services/Api/Project/Trigger.php | 8 ++--- .../Services/Api/Project/Variable.php | 2 ++ .../Services/Api/Project/WebEntry.php | 2 ++ .../Services/Api/Project/WebEntryEvent.php | 1 + .../ProcessMaker/Services/Api/Role/User.php | 2 +- .../src/ProcessMaker/Services/Api/Test2.php | 31 ------------------- .../src/ProcessMaker/Services/Api/Test3.php | 23 -------------- 39 files changed, 111 insertions(+), 119 deletions(-) delete mode 100644 workflow/engine/src/ProcessMaker/Services/Api/Test2.php delete mode 100644 workflow/engine/src/ProcessMaker/Services/Api/Test3.php diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases.php index 47818ac73..3ab0e9662 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases.php @@ -924,13 +924,12 @@ class Cases extends Api /** * Delete Case + * @url DELETE /:cas_uid + * + * @access protected + * @class AccessControl {@permission PM_CASES} * * @param string $cas_uid {@min 1}{@max 32} - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * - * @url DELETE /:cas_uid */ public function doDeleteCase($cas_uid) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases/InputDocument.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases/InputDocument.php index 45983547b..db243a1da 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases/InputDocument.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases/InputDocument.php @@ -77,6 +77,8 @@ class InputDocument extends Api /** * @url DELETE /:app_uid/:del_index/input-document/:app_doc_uid + * @access protected + * @class AccessControl {@permission PM_CASES} * * @param string $app_uid {@min 32}{@max 32} * @param int $del_index {@min 1} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases/OutputDocument.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases/OutputDocument.php index 4977f964e..13a3dfeea 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases/OutputDocument.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases/OutputDocument.php @@ -117,6 +117,8 @@ class OutputDocument extends Api /** * @url DELETE /:app_uid/output-document/:app_doc_uid + * @access protected + * @class AccessControl {@permission PM_CASES} * * @param string $app_uid {@min 32}{@max 32} * @param string $app_doc_uid {@min 32}{@max 32} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php index 61620f006..ae007ccd3 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php @@ -119,6 +119,8 @@ class Variable extends Api /** * @url DELETE /:app_uid/:del_index/variable/:var_name + * @access protected + * @class AccessControl {@permission PM_CASES} * * @param string $app_uid {@min 32}{@max 32} * @param int $del_index {@min 1} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php b/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php index 1e9fd1bcd..a1165d14a 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php @@ -81,25 +81,5 @@ class Catalog extends Api throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } } - - /** - * @url DELETE /:cat_uid/:cat_type - * - * @param string $cat_uid {@min 32}{@max 32} - * @param string $cat_type {@min 32}{@max 32} - * - * @author Marco Antonio Nina - * @copyright Colosa - Bolivia - */ - public function doDelete($cat_uid, $cat_type) - { - try { - $catalog = new \ProcessMaker\BusinessModel\Catalog(); - - $arrayData = $catalog->delete($cat_uid, $cat_type); - } catch (\Exception $e) { - throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); - } - } } diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php b/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php index f10132042..52af415d1 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php @@ -262,6 +262,8 @@ class Dashboard extends Api /** * @url DELETE /:das_uid + * @access protected + * @class AccessControl {@permission PM_DASHBOARD} * * @param string $das_uid {@min 32}{@max 32} * @@ -300,6 +302,8 @@ class Dashboard extends Api /** * @url DELETE /:das_uid/owner/:owner_uid + * @access protected + * @class AccessControl {@permission PM_DASHBOARD} * * @param string $das_uid {@min 32}{@max 32} * @param string $owner_uid {@min 32}{@max 32} @@ -358,6 +362,8 @@ class Dashboard extends Api /** * @url DELETE /indicator/:ind_uid + * @access protected + * @class AccessControl {@permission PM_DASHBOARD} * * @param string $ind_uid {@min 32}{@max 32} * diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Department.php b/workflow/engine/src/ProcessMaker/Services/Api/Department.php index 967d91484..4cfb2507b 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Department.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Department.php @@ -123,6 +123,8 @@ class Department extends Api /** * @url DELETE /:dep_uid/unassign-user/:usr_uid + * @access protected + * @class AccessControl {@permission PM_USERS} * * @param string $dep_uid {@min 1}{@max 32} * @param string $usr_uid {@min 1}{@max 32} @@ -221,6 +223,8 @@ class Department extends Api /** * @url DELETE /:dep_uid + * @access protected + * @class AccessControl {@permission PM_USERS} * * @param string $dep_uid {@min 1}{@max 32} * diff --git a/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php b/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php index 3e401eb1c..2fbb5dfd5 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php @@ -141,6 +141,8 @@ class EmailServer extends Api /** * @url DELETE /:mess_uid + * @access protected + * @class AccessControl {@permission PM_SETUP_EMAIL} * * @param string $mess_uid {@min 32}{@max 32} * diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Group.php b/workflow/engine/src/ProcessMaker/Services/Api/Group.php index 2b73e904a..90d5b04a9 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Group.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Group.php @@ -115,6 +115,8 @@ class Group extends Api /** * @url DELETE /:grp_uid + * @access protected + * @class AccessControl {@permission PM_USERS} * * @param string $grp_uid {@min 32}{@max 32} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Group/User.php b/workflow/engine/src/ProcessMaker/Services/Api/Group/User.php index 30281903b..a9f81420f 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Group/User.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Group/User.php @@ -63,6 +63,8 @@ class User extends Api /** * @url DELETE /:grp_uid/user/:usr_uid + * @access protected + * @class AccessControl {@permission PM_USERS} * * @param string $grp_uid {@min 32}{@max 32} * @param string $usr_uid {@min 32}{@max 32} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Light.php b/workflow/engine/src/ProcessMaker/Services/Api/Light.php index d5d849b73..89d234a69 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Light.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Light.php @@ -796,24 +796,24 @@ class Light extends Api /** * Delete case * - * @copyright Colosa - Bolivia - * * @url DELETE /case/:app_uid/delete + * @access protected + * @class AccessControl {@permission PM_CASES} * * @param string $app_uid {@min 32}{@max 32} */ public function doDeleteCases($app_uid) { try { - $oCase = new ClassesCases(); - $oCase->removeCase($app_uid); + $usr_uid = $this->getUserId(); + $cases = new BusinessModelCases(); + $cases->deleteCase($app_uid, $usr_uid); $result = array( "message" => G::LoadTranslation("ID_COMMAND_EXECUTED_SUCCESSFULLY") ); } catch (Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } - return $result; } diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Light/NotificationDevice.php b/workflow/engine/src/ProcessMaker/Services/Api/Light/NotificationDevice.php index 8f8b8981a..d7c1fbf10 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Light/NotificationDevice.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Light/NotificationDevice.php @@ -78,14 +78,14 @@ class NotificationDevice extends Api } /** + * @url DELETE /notification/:dev_uid + * This actions is executed in the logout action + * * Delete record device with dev_uid and usr_uid * * @param string $dev_uid {@min 32}{@max 32} * - * @author Ronald Quenta * @return array - * - * @url DELETE /notification/:dev_uid */ public function deleteDevice($dev_uid) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Assignee.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Assignee.php index a1c33aa4c..9e2b4863f 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Assignee.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Assignee.php @@ -112,6 +112,8 @@ class Assignee extends Api /** * @url DELETE /:prjUid/activity/:actUid/assignee/:aasUid + * @access protected + * @class AccessControl {@permission PM_FACTORY} * * @param string $prjUid {@min 32} {@max 32} * @param string $actUid {@min 32} {@max 32} @@ -211,6 +213,8 @@ class Assignee extends Api /** * @url DELETE /:prjUid/activity/:actUid/adhoc-assignee/:adaUid + * @access protected + * @class AccessControl {@permission PM_FACTORY} * * @param string $prjUid {@min 32} {@max 32} * @param string $actUid {@min 32} {@max 32} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php index 69ef59c9b..3f39b3e56 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php @@ -109,6 +109,8 @@ class Step extends Api /** * @url DELETE /:prj_uid/activity/:act_uid/step/:step_uid + * @access protected + * @class AccessControl {@permission PM_FACTORY} * * @param string $step_uid {@min 32}{@max 32} * @param string $act_uid {@min 32}{@max 32} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php index 90a193a01..567183448 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php @@ -80,6 +80,8 @@ class Trigger extends Api /** * @url DELETE /:prj_uid/activity/:act_uid/step/:step_uid/trigger/:tri_uid/:type + * @access protected + * @class AccessControl {@permission PM_FACTORY} * * @param string $tri_uid * @param string $step_uid @@ -166,6 +168,8 @@ class Trigger extends Api /** * @url DELETE /:prj_uid/activity/:act_uid/step/trigger/:tri_uid/:type + * @access protected + * @class AccessControl {@permission PM_FACTORY} * * @param string $tri_uid * @param string $act_uid diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php index fb766c4a5..6d8cd209a 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php @@ -100,6 +100,9 @@ class CaseScheduler extends Api /** * @url DELETE /:prjUid/case-scheduler/:schUid + * @access protected + * @class AccessControl {@permission PM_FACTORY} + * * @param string $prjUid {@min 32} {@max 32} * @param string $schUid {@min 32} {@max 32} * diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php index 434bd6e3e..8bb6f35a3 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php @@ -94,6 +94,8 @@ class CaseTrackerObject extends Api /** * @url DELETE /:prj_uid/case-tracker/object/:cto_uid + * @access protected + * @class AccessControl {@permission PM_FACTORY} * * @param string $cto_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php index 27d57ae9b..32460dc4a 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php @@ -173,14 +173,13 @@ class DataBaseConnection extends Api } /** + * @url DELETE /:prj_uid/database-connection/:dbs_uid + * @access protected + * @class AccessControl {@permission PM_FACTORY} + * * @param string $prj_uid {@min 1} {@max 32} * @param string $dbs_uid {@min 1} {@max 32} * @return void - * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * - * @url DELETE /:prj_uid/database-connection/:dbs_uid */ public function doDeleteDataBaseConnection($prj_uid, $dbs_uid) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php index cd9dff8d6..d6dbea965 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php @@ -83,6 +83,8 @@ class DynaForm extends Api /** * @url DELETE /:prj_uid/dynaform/:dyn_uid + * @access protected + * @class AccessControl {@permission PM_FACTORY} * * @param string $dyn_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php index 712bf2834..0d5594688 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php @@ -96,6 +96,8 @@ class EmailEvent extends Api /** * @url DELETE /:prj_uid/email-event/:email_event_uid + * @access protected + * @class AccessControl {@permission PM_FACTORY} * * @param string $prj_uid {@min 32}{@max 32} * @param string $email_event_uid {@min 32}{@max 32} @@ -111,6 +113,8 @@ class EmailEvent extends Api /** * @url DELETE /:prj_uid/email-event/by-event/:act_uid + * @access protected + * @class AccessControl {@permission PM_FACTORY} * * @param string $prj_uid {@min 32}{@max 32} * @param string $act_uid {@min 32}{@max 32} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Event.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Event.php index d1e5efbfe..1580600a8 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Event.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Event.php @@ -201,17 +201,13 @@ class Event extends Api } /** + * @url DELETE /:prj_uid/event/:evn_uid + * @access protected + * @class AccessControl {@permission PM_FACTORY} + * * @param string $prj_uid {@min 1} {@max 32} * @param string $evn_uid {@min 1} {@max 32} * @return void - * - * @access public - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * - * @return void - * - * @url DELETE /:prj_uid/event/:evn_uid */ public function doDeleteEvent($prj_uid, $evn_uid) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php index 2a31bea36..a93ae4e99 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php @@ -103,10 +103,12 @@ class FilesManager extends Api } /** + * @url DELETE /:prj_uid/file-manager/:prf_uid + * @access protected + * @class AccessControl {@permission PM_FACTORY} + * * @param string $prj_uid {@min 32} {@max 32} * @param string $prf_uid {@min 32} {@max 32} - * - * @url DELETE /:prj_uid/file-manager/:prf_uid */ public function doDeleteProcessFilesManager($prj_uid, $prf_uid) { @@ -137,10 +139,12 @@ class FilesManager extends Api } /** + * @url DELETE /:prj_uid/file-manager/folder + * @access protected + * @class AccessControl {@permission PM_FACTORY} + * * @param string $prj_uid {@min 32} {@max 32} * @param string $path - * - * @url DELETE /:prj_uid/file-manager/folder */ public function doDeleteFolderProcessFilesManager($prj_uid, $path) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php index 1ed147b51..3cec5d1ae 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php @@ -79,6 +79,8 @@ class InputDocument extends Api /** * @url DELETE /:prj_uid/input-document/:inp_doc_uid + * @access protected + * @class AccessControl {@permission PM_FACTORY} * * @param string $inp_doc_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php index b6ddc236b..83a8626cb 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php @@ -118,6 +118,8 @@ class MessageEventDefinition extends Api /** * @url DELETE /:prj_uid/message-event-definition/:msged_uid + * @access protected + * @class AccessControl {@permission PM_FACTORY} * * @param string $prj_uid {@min 32}{@max 32} * @param string $msged_uid {@min 32}{@max 32} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php index 32b47c377..51fc0c5c2 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php @@ -103,6 +103,8 @@ class MessageType extends Api /** * @url DELETE /:prj_uid/message-type/:msgt_uid + * @access protected + * @class AccessControl {@permission PM_FACTORY} * * @param string $prj_uid {@min 32}{@max 32} * @param string $msgt_uid {@min 32}{@max 32} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php index db199b197..6e74d7dcb 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php @@ -106,7 +106,9 @@ class Variable extends Api } /** - * @url DELETE /:prj_uid/message-type/:msgt_uid/variable/:msgtv_uid + * @url DELETE /:prj_uid/user/message-type/:msgt_uid/variable/:msgtv_uid + * @access protected + * @class AccessControl {@permission PM_FACTORY} * * @param string $prj_uid {@min 32}{@max 32} * @param string $msgt_uid {@min 32}{@max 32} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php index 5e8231b04..c629045de 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php @@ -95,6 +95,9 @@ class OutputDocuments extends Api /** * @url DELETE /:prjUid/output-document/:outputDocumentUid + * @access protected + * @class AccessControl {@permission PM_FACTORY} + * * @param string $prjUid {@min 32} {@max 32} * @param string $outputDocumentUid {@min 32} {@max 32} * diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php index 974f18116..d9f25ee59 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php @@ -165,15 +165,14 @@ class ProcessPermissions extends Api } /** + * @url DELETE /:prj_uid/process-permission/:ob_uid + * @access protected + * @class AccessControl {@permission PM_FACTORY} + * * @param string $prj_uid {@min 1} {@max 32} * @param string $ob_uid {@min 1} {@max 32} * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * * @return void - * - * @url DELETE /:prj_uid/process-permission/:ob_uid */ public function doDeleteProcessPermission($prj_uid, $ob_uid) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php index 1bfe40447..a7e365804 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php @@ -304,6 +304,8 @@ class ProcessSupervisors extends Api /** * @url DELETE /:prjUid/process-supervisor/:puUid + * @access protected + * @class AccessControl {@permission PM_FACTORY} * * @param string $prjUid {@min 32} {@max 32} * @param string $puUid {@min 32} {@max 32} @@ -322,6 +324,8 @@ class ProcessSupervisors extends Api /** * @url DELETE /:prjUid/process-supervisor/dynaform/:pudUid + * @access protected + * @class AccessControl {@permission PM_FACTORY} * * @param string $prjUid {@min 32} {@max 32} * @param string $pudUid {@min 32} {@max 32} @@ -340,6 +344,8 @@ class ProcessSupervisors extends Api /** * @url DELETE /:prjUid/process-supervisor/input-document/:puiUid + * @access protected + * @class AccessControl {@permission PM_FACTORY} * * @param string $prjUid {@min 32} {@max 32} * @param string $puiUid {@min 32} {@max 32} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php index 7d1894259..a5ccc8565 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php @@ -161,14 +161,14 @@ class ReportTable extends Api } /** + * @url DELETE /:prj_uid/report-table/:rep_uid + * @access protected + * @class AccessControl {@permission PM_FACTORY} + * * @param string $prj_uid {@min 1} {@max 32} * @param string $rep_uid {@min 1} {@max 32} * @return void * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * - * @url DELETE /:prj_uid/report-table/:rep_uid */ public function doDeleteReportTable($prj_uid, $rep_uid) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php index 3cd658e76..86cfa86e2 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php @@ -118,6 +118,8 @@ class ScriptTask extends Api /** * @url DELETE /:prj_uid/script-task/:scrtas_uid + * @access protected + * @class AccessControl {@permission PM_FACTORY} * * @param string $prj_uid {@min 32}{@max 32} * @param string $scrtas_uid {@min 32}{@max 32} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php index 62d40a8ce..86e5a79c6 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php @@ -128,6 +128,8 @@ class TimerEvent extends Api /** * @url DELETE /:prj_uid/timer-event/:tmrevn_uid + * @access protected + * @class AccessControl {@permission PM_FACTORY} * * @param string $prj_uid {@min 32}{@max 32} * @param string $tmrevn_uid {@min 32}{@max 32} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php index 14a5a2501..2facf1ed5 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php @@ -109,14 +109,14 @@ class Trigger extends Api } /** + * @url DELETE /:projectUid/trigger/:triggerUid + * @access protected + * @class AccessControl {@permission PM_FACTORY} + * * @param string $projectUid {@min 1} {@max 32} * @param string $triggerUid {@min 1} {@max 32} * @return void * - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * - * @url DELETE /:projectUid/trigger/:triggerUid */ public function doDeleteTrigger($projectUid, $triggerUid) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php index b86f00e14..cddc8e44b 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php @@ -93,6 +93,8 @@ class Variable extends Api /** * @url DELETE /:prj_uid/process-variable/:var_uid + * @access protected + * @class AccessControl {@permission PM_FACTORY} * * @param string $prj_uid {@min 32}{@max 32} * @param string $var_uid {@min 32}{@max 32} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php index 06c0f0490..cb5f5a745 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php @@ -111,6 +111,8 @@ class WebEntry extends Api /** * @url DELETE /:prj_uid/web-entry/:we_uid + * @access protected + * @class AccessControl {@permission PM_FACTORY} * * @param string $prj_uid {@min 32}{@max 32} * @param string $we_uid {@min 32}{@max 32} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php index 7a0402055..2f4dda274 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php @@ -129,6 +129,7 @@ class WebEntryEvent extends Api /** * @url DELETE /:prj_uid/web-entry-event/:wee_uid + * @access protected * @class AccessControl {@permission PM_FACTORY} * * @param string $prj_uid {@min 32}{@max 32} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Role/User.php b/workflow/engine/src/ProcessMaker/Services/Api/Role/User.php index eb5ba4fad..4c3c8f120 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Role/User.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Role/User.php @@ -72,9 +72,9 @@ class User extends Api } /** + * @url DELETE /:rol_uid/user/:usr_uid * @access protected * @class AccessControl {@permission PM_USERS} - * @url DELETE /:rol_uid/user/:usr_uid * * @param string $rol_uid {@min 32}{@max 32} * @param string $usr_uid {@min 32}{@max 32} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Test2.php b/workflow/engine/src/ProcessMaker/Services/Api/Test2.php deleted file mode 100644 index a6a412cdb..000000000 --- a/workflow/engine/src/ProcessMaker/Services/Api/Test2.php +++ /dev/null @@ -1,31 +0,0 @@ - true); - } -} - From d998ce391f6a51a8940ea08351cf467f5e9b2e12 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Wed, 18 Oct 2017 10:47:40 -0400 Subject: [PATCH 06/41] HOR-3968 --- .../src/ProcessMaker/Services/Api/Cases.php | 38 +++-- .../Services/Api/Cases/InputDocument.php | 13 +- .../Services/Api/Cases/OutputDocument.php | 15 +- .../Services/Api/Cases/Variable.php | 10 +- .../src/ProcessMaker/Services/Api/Catalog.php | 9 +- .../Services/Api/Consolidated.php | 6 +- .../ProcessMaker/Services/Api/Dashboard.php | 28 +++- .../ProcessMaker/Services/Api/Department.php | 22 ++- .../ProcessMaker/Services/Api/EmailServer.php | 14 +- .../src/ProcessMaker/Services/Api/File.php | 6 +- .../src/ProcessMaker/Services/Api/Group.php | 8 +- .../ProcessMaker/Services/Api/Group/User.php | 18 ++- .../src/ProcessMaker/Services/Api/Light.php | 132 ++++++++++++++---- .../src/ProcessMaker/Services/Api/Process.php | 7 +- .../Api/Project/Activity/Assignee.php | 20 ++- .../Services/Api/Project/Activity/Step.php | 20 ++- .../Api/Project/Activity/Step/Trigger.php | 20 ++- .../Services/Api/Project/CaseScheduler.php | 10 +- .../Api/Project/CaseTrackerObject.php | 10 +- .../Api/Project/DataBaseConnection.php | 18 ++- .../Services/Api/Project/DynaForm.php | 34 +++-- .../Services/Api/Project/EmailEvent.php | 4 +- .../Services/Api/Project/FilesManager.php | 16 ++- .../Services/Api/Project/InputDocument.php | 10 +- .../Api/Project/MessageEventDefinition.php | 10 +- .../Services/Api/Project/MessageType.php | 10 +- .../Api/Project/MessageType/Variable.php | 8 +- .../Services/Api/Project/OutputDocuments.php | 10 +- .../Api/Project/ProcessPermissions.php | 10 +- .../Api/Project/ProcessSupervisors.php | 30 ++-- .../Services/Api/Project/ProjectUsers.php | 8 +- .../Services/Api/Project/ReportTable.php | 10 +- .../Services/Api/Project/ScriptTask.php | 10 +- .../Services/Api/Project/TimerEvent.php | 10 +- .../Services/Api/Project/Trigger.php | 10 +- .../Services/Api/Project/TriggerWizard.php | 10 +- .../Services/Api/Project/Variable.php | 30 +++- .../Services/Api/Project/WebEntry.php | 10 +- .../Services/Api/Project/WebEntryEvent.php | 10 +- 39 files changed, 498 insertions(+), 176 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases.php index 9166322e7..b6e1e1a1e 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases.php @@ -756,12 +756,18 @@ class Cases extends Api } /** + * Start a new case and assign the logged-in user to work on the initial task + * in the case. Note that the logged-in user must be in the pool of assigned + * users for the initial task. + * * @url POST - * @access protected - * @class AccessControl {@permission PM_CASES} + * * @param string $pro_uid {@from body} {@min 32}{@max 32} * @param string $tas_uid {@from body} {@min 32}{@max 32} * @param array $variables {@from body} + * + * @access protected + * @class AccessControl {@permission PM_CASES} */ public function doPostCase($pro_uid, $tas_uid, $variables = null) { @@ -776,13 +782,23 @@ class Cases extends Api } /** + * Creates a new case. It is similar to POST /cases, but it impersonates the + * session variables, so it is more robust than POST /cases. Note that the + * specified user to work on the case must be assigned to the pool of users + * for the initial task. Also note that the new case's status will be set to + * "DRAFT", not "TO_DO". If wishing to change the new case's status to "TO_DO", + * then create the following trigger in the process and use + * PUT /cases/{app_uid}/execute-trigger/{tri_uid} to execute it. + * * @url POST /impersonate - * @access protected - * @class AccessControl {@permission PM_CASES} + * * @param string $pro_uid {@from body} {@min 32}{@max 32} * @param string $usr_uid {@from body} {@min 32}{@max 32} * @param string $tas_uid {@from body} {@min 32}{@max 32} * @param array $variables {@from body} + * + * @access protected + * @class AccessControl {@permission PM_CASES} */ public function doPostCaseImpersonate($pro_uid, $usr_uid, $tas_uid, $variables = null) { @@ -1095,14 +1111,18 @@ class Cases extends Api } /** - * Put Case Variables + * Create a new case note for a given case. Note that only users who are + * currently assigned to work on the case or have Process Permissions to + * access case notes may create a case note. * * @url POST /:app_uid/note - * @access protected - * @class AccessControl {@permission PM_CASES} + * * @param string $app_uid {@min 1}{@max 32} * @param string $note_content {@min 1}{@max 500} * @param int $send_mail {@choice 1,0} + * + * @access protected + * @class AccessControl {@permission PM_CASES} */ public function doPostCaseNote($app_uid, $note_content, $send_mail = 0) { @@ -1231,9 +1251,11 @@ class Cases extends Api * Mark a task process as a bookmark * * @url POST /bookmark/:tas_uid + * + * @param string $tas_uid {@min 32}{@max 32} + * * @access protected * @class AccessControl {@permission PM_CASES} - * @param string $tas_uid {@min 32}{@max 32} */ public function doPostBookmarkStartCase($tas_uid) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases/InputDocument.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases/InputDocument.php index e413e2896..03da8e24b 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases/InputDocument.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases/InputDocument.php @@ -56,8 +56,6 @@ class InputDocument extends Api } /** - * @access protected - * @class AccessControl {@className \ProcessMaker\Services\Api\Cases} * @url GET /:app_uid/input-document/:app_doc_uid/file * * @param string $app_uid {@min 32}{@max 32} @@ -96,13 +94,20 @@ class InputDocument extends Api } /** + * Uploads a new Input Document file to a specified case. Note that the + * logged-in user must either be currently assigned to work on the case or a + * Process Supervisor with permissions to access the Input Document; otherwise, + * this endpoint returns an HTTP status code of 302. + * * @url POST /:app_uid/input-document - * @access protected - * @class AccessControl {@permission PM_CASES} + * * @param string $app_uid { @min 32}{@max 32} * @param string $tas_uid {@min 32}{@max 32} * @param string $app_doc_comment * @param string $inp_doc_uid {@min 32}{@max 32} + * + * @access protected + * @class AccessControl {@permission PM_CASES} */ public function doPostInputDocument($app_uid, $tas_uid, $app_doc_comment, $inp_doc_uid) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases/OutputDocument.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases/OutputDocument.php index 65bc75ff8..04dfe4296 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases/OutputDocument.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases/OutputDocument.php @@ -133,12 +133,23 @@ class OutputDocument extends Api } /** + * Generate a specified Output Document for a given case, meaning that a PDF, + * a DOC or both files (depending on options selected in the definition of the + * Output Document) will be created, inserting any variables in the template. + * If the Output Document already exists, then it will be regenerated. + * If versioning is enabled, then the regenerated files will be given a new + * version number and document index number, but if versioning is NOT enabled, + * then the existing files will be overwritten with the same version number + * and document index number. + * * @url POST /:app_uid/:del_index/output-document/:out_doc_uid - * @access protected - * @class AccessControl {@permission PM_CASES} + * * @param string $app_uid {@min 32}{@max 32} * @param int $del_index {@min 1} * @param string $out_doc_uid {@min 32}{@max 32} + * + * @access protected + * @class AccessControl {@permission PM_CASES} */ public function doPostOutputDocument($app_uid, $del_index, $out_doc_uid) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php index 4884aa284..befc33e80 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php @@ -78,14 +78,18 @@ class Variable extends Api } /** + * Create a variable in a case, meaning the variable is instantiated in the case. + * * @url POST /:app_uid/:del_index/variable/:var_name - * @access protected - * @class AccessControl {@permission PM_CASES} + * @status 201 + * * @param string $app_uid {@min 32}{@max 32} * @param int $del_index {@min 1} * @param string $var_name * @param array $request_data - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_CASES} */ public function doPostVariable($app_uid, $del_index, $var_name, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php b/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php index d445c1a8c..d8776f2fd 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php @@ -38,11 +38,16 @@ class Catalog extends Api } /** + * Deprecated. + * * @url POST + * @status 201 + * + * @param array $request_data + * * @access protected * @class AccessControl {@permission PM_DASHBOARD} - * @param array $request_data - * @status 201 + * @deprecated The method has been deprecated. */ public function doPost($request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php b/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php index bc90f1342..8874eb82e 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php @@ -135,14 +135,16 @@ class Consolidated extends Api * * @url POST /derivate/:app_uid/:app_number/:del_index/:field_grid/:field_grid_val * @url POST /derivate/:app_uid/:app_number/:del_index/:field_grid/ - * @access protected - * @class AccessControl {@permission PM_CASES} + * * @param string $app_uid {@min 1} {@max 32} * @param string $app_number * @param int $del_index * @param string $field_grid * @param string $field_grid_val * @return array + * + * @access protected + * @class AccessControl {@permission PM_CASES} */ public function doPostDerivate($app_uid, $app_number, $del_index, $field_grid, $field_grid_val = '') { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php b/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php index 29e65aeb0..45a8a254d 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php @@ -220,11 +220,15 @@ class Dashboard extends Api } /** + * Create dashboard. + * * @url POST + * @status 201 + * + * @param array $request_data + * * @access protected * @class AccessControl {@permission PM_DASHBOARD} - * @param array $request_data - * @status 201 */ public function doPostDashboard($request_data) { @@ -278,11 +282,15 @@ class Dashboard extends Api } /** + * Create owner + * * @url POST /owner + * @status 201 + * + * @param array $request_data + * * @access protected * @class AccessControl {@permission PM_DASHBOARD} - * @param array $request_data - * @status 201 */ public function doPostOwner($request_data) { @@ -315,11 +323,15 @@ class Dashboard extends Api } /** + * Create indicator. + * * @url POST /indicator + * @status 201 + * + * @param array $request_data + * * @access protected * @class AccessControl {@permission PM_DASHBOARD} - * @param array $request_data - * @status 201 */ public function doPostIndicator($request_data) { @@ -374,9 +386,11 @@ class Dashboard extends Api * Post dashboards configuration by userUid * * @url POST /config/ + * + * @param array $request_data + * * @access protected * @class AccessControl {@permission PM_DASHBOARD} - * @param array $request_data */ public function doPostDashboardConfigByUsrUid($request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Department.php b/workflow/engine/src/ProcessMaker/Services/Api/Department.php index 697130f86..8403388a7 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Department.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Department.php @@ -102,12 +102,18 @@ class Department extends Api } /** + * Assign a user to a specified department in version 3.0 and later. If the + * user is already a member of another department, the user will be transfered + * to the specified department. + * * @url POST /:dep_uid/assign-user - * @access protected - * @class AccessControl {@permission PM_USERS} + * @status 201 + * * @param string $dep_uid {@min 32}{@max 32} * @param array $request_data - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_USERS} */ public function doPostAssignUser($dep_uid, array $request_data) { @@ -179,13 +185,17 @@ class Department extends Api } /** + * Create a new department. + * * @url POST - * @access protected - * @class AccessControl {@permission PM_USERS} + * @status 201 + * * @param array $request_data * @param string $dep_title {@from body} {@min 1} * @return array - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_USERS} */ public function doPost($request_data, $dep_title) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php b/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php index e524bf878..573e97a4e 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php @@ -85,10 +85,14 @@ class EmailServer extends Api } /** + * Test connection. + * * @url POST /test-connection + * + * @param array $request_data + * * @access protected * @class AccessControl {@permission PM_SETUP_EMAIL} - * @param array $request_data */ public function doPostTestConnection(array $request_data) { @@ -104,11 +108,15 @@ class EmailServer extends Api } /** + * Create email server. + * * @url POST + * @status 201 + * + * @param array $request_data + * * @access protected * @class AccessControl {@permission PM_SETUP_EMAIL} - * @param array $request_data - * @status 201 */ public function doPost(array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/File.php b/workflow/engine/src/ProcessMaker/Services/Api/File.php index 574f836ff..ca1d1593a 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/File.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/File.php @@ -12,10 +12,14 @@ use \Luracast\Restler\RestException; class File extends Api { /** + * Upload file. + * * @url POST /upload + * + * @param array $request_data + * * @access protected * @class AccessControl {@permission PM_FACTORY} - * @param array $request_data */ public function doPostFilesUpload($request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Group.php b/workflow/engine/src/ProcessMaker/Services/Api/Group.php index e06c8f7cd..3e7b3bf3a 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Group.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Group.php @@ -73,11 +73,15 @@ class Group extends Api } /** + * Create a new group. + * * @url POST + * @status 201 + * + * @param array $request_data + * * @access protected * @class AccessControl {@permission PM_USERS} - * @param array $request_data - * @status 201 */ public function doPost($request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Group/User.php b/workflow/engine/src/ProcessMaker/Services/Api/Group/User.php index 837c74dce..a25d45cbf 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Group/User.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Group/User.php @@ -12,12 +12,16 @@ use \Luracast\Restler\RestException; class User extends Api { /** + * Assign a user to a specified group. + * * @url POST /:grp_uid/user - * @access protected - * @class AccessControl {@permission PM_USERS} + * @status 201 + * * @param string $grp_uid {@min 32}{@max 32} * @param array $request_data - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_USERS} */ public function doPostUser($grp_uid, $request_data) { @@ -32,11 +36,15 @@ class User extends Api } /** + * Assign a group of users to a specified group or groups. + * * @url POST /batch-users + * @status 201 + * + * @param array $request_data + * * @access protected * @class AccessControl {@permission PM_USERS} - * @param array $request_data - * @status 201 */ public function doPostBatchUsers($request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Light.php b/workflow/engine/src/ProcessMaker/Services/Api/Light.php index c6c96b734..f3eb5bf2f 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Light.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Light.php @@ -968,13 +968,15 @@ class Light extends Api * Execute Trigger case * * @url POST /process/:prj_uid/task/:act_uid/case/:cas_uid/step/:step_uid/execute-trigger/:type - * @access protected - * @class AccessControl {@permission PM_CASES} + * * @param string $prj_uid {@min 1}{@max 32} * @param string $act_uid {@min 1}{@max 32} * @param string $cas_uid {@min 1}{@max 32} * @param string $step_uid {@min 32}{@max 32} * @param string $type {@choice before,after} + * + * @access protected + * @class AccessControl {@permission PM_CASES} */ public function doPutExecuteTriggerCase($prj_uid, $act_uid, $cas_uid, $step_uid, $type) { @@ -1132,11 +1134,18 @@ class Light extends Api } /** + * Starts a new case and assigns the logged-in user to work on the initial task + * in the case. Note that the logged-in user must be in the pool of assigned + * users of the initial task. Also note that the new case's status will be + * set to "DRAFT", not "TO_DO". + * * @url POST /process/:pro_uid/task/:task_uid/start-case - * @access protected - * @class AccessControl {@permission PM_CASES} + * * @param string $pro_uid {@min 32}{@max 32} * @param string $task_uid {@min 32}{@max 32} + * + * @access protected + * @class AccessControl {@permission PM_CASES} */ public function postStartCase($pro_uid, $task_uid) { @@ -1228,12 +1237,17 @@ class Light extends Api } /** + * Generates a Google Maps .jpg image file for a case. This image can be found + * in the Documents section under the Home tab. + * * @url POST /case/:app_uid/upload/location - * @access protected - * @class AccessControl {@permission PM_CASES} + * * @param string $app_uid { @min 32}{@max 32} * @param float $latitude {@min -90}{@max 90} * @param float $longitude {@min -180}{@max 180} + * + * @access protected + * @class AccessControl {@permission PM_CASES} */ public function postInputDocumentLocation($app_uid, $latitude, $longitude) { @@ -1271,10 +1285,14 @@ class Light extends Api } /** + * Generates a base64 string of a file. + * * @url POST /case/:app_uid/download64 + * + * @param string $app_uid {@min 32}{@max 32} + * * @access protected * @class AccessControl {@permission PM_CASES} - * @param string $app_uid {@min 32}{@max 32} */ public function postDownloadFile($app_uid, $request_data) { @@ -1370,12 +1388,24 @@ class Light extends Api } /** + * Creates new case file record(s) in a specified case. These case files can + * be attached files (used by File controls), Input Document files, or Output Document + * files in version 1.0.1.8 and later. In version 1.0.1.7 and earlier, the case + * files can only be attached files. (Note that case files are known as AppDocuments + * in ProcessMaker). This endpoint adds new record(s) to the APP_DOCUMENT table + * and stores their file name(s) in the CONTENT table in the database. It returns + * the generated case file ID and version number for each file. This information + * can then be used to call the POST /light/case/{app_uid}/upload/{app_doc_uid} + * endpoint to upload each file. + * * @url POST /case/:app_uid/upload - * @access protected - * @class AccessControl {@permission PM_CASES} + * * @param $access * @param $refresh * @return mixed + * + * @access protected + * @class AccessControl {@permission PM_CASES} */ public function uidUploadFiles($app_uid, $request_data) { @@ -1391,12 +1421,24 @@ class Light extends Api } /** + * Creates new case file record(s) in a specified case. These case files can + * be attached files (used by File controls), Input Document files, or Output Document + * files in version 1.0.1.8 and later. In version 1.0.1.7 and earlier, the case + * files can only be attached files. (Note that case files are known as AppDocuments + * in ProcessMaker). This endpoint adds new record(s) to the APP_DOCUMENT table + * and stores their file name(s) in the CONTENT table in the database. It returns + * the generated case file ID and version number for each file. This information + * can then be used to call the POST /light/case/{app_uid}/upload/{app_doc_uid} + * endpoint to upload each file. + * * @url POST /case/:app_uid/upload/:app_doc_uid - * @access protected - * @class AccessControl {@permission PM_CASES} + * * @param $access * @param $refresh * @return mixed + * + * @access protected + * @class AccessControl {@permission PM_CASES} */ public function documentUploadFiles($app_uid, $app_doc_uid, $request_data) { @@ -1412,11 +1454,15 @@ class Light extends Api } /** + * Assigns the user logged-in to an unassigned case. + * * @url POST /case/:app_uid/claim - * @access protected - * @class AccessControl {@permission PM_CASES} + * * @param $app_uid {@min 1}{@max 32} * @return mixed + * + * @access protected + * @class AccessControl {@permission PM_CASES} */ public function claimCaseUser($app_uid) { @@ -1503,15 +1549,18 @@ class Light extends Api } /** - * Post Case Notes + * Creates a new case note for a given case. Note that only users who are + * currently assigned to work on the case or have Process Permissions to access + * case notes may create a case note. * * @url POST /case/:app_uid/note - * @access protected - * @class AccessControl {@permission PM_CASES} + * * @param string $app_uid {@min 1}{@max 32} * @param string $noteContent {@min 1}{@max 500} * @param int $sendMail {@choice 1,0} - * @copyright Colosa - Bolivia + * + * @access protected + * @class AccessControl {@permission PM_CASES} */ public function doPostCaseNote($app_uid, $noteContent, $sendMail = 0) { @@ -1596,13 +1645,18 @@ class Light extends Api } /** + * Reassign a case. + * * @url POST /reassign/:app_uid/user/:to_usr_uid - * @access protected - * @class AccessControl {@permission PM_REASSIGNCASE, PM_REASSIGNCASE_SUPERVISOR} + * * @param string $app_uid {@min 1}{@max 32} * @param string $to_usr_uid {@min 1}{@max 32} + * * @return stdclass * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_REASSIGNCASE, PM_REASSIGNCASE_SUPERVISOR} */ public function reassignCase($app_uid, $to_usr_uid) { @@ -1621,11 +1675,14 @@ class Light extends Api * Paused Case * * @url POST /cases/:app_uid/pause - * @access protected - * @class AccessControl {@permission PM_CASES} + * * @param string $app_uid {@min 1}{@max 32} + * * @return stdclass * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_CASES} */ public function pauseCase($app_uid, $request_data) { @@ -1645,11 +1702,14 @@ class Light extends Api * Unpaused Case * * @url POST /cases/:app_uid/unpause - * @access protected - * @class AccessControl {@permission PM_CASES} + * * @param string $app_uid {@min 1}{@max 32} + * * @return stdclass * @throws RestException + * + * @access protected + * @class AccessControl {@permission PM_CASES} */ public function unpauseCase($app_uid) { @@ -1667,12 +1727,16 @@ class Light extends Api } /** - * Cancel Case + * Cancels a case assigned to the user logged-in. The case's status is changed + * to "CANCELLED" and it is no longer possible to open or change the case, + * but all the case data will remain in the database. * * @url POST /cases/:app_uid/cancel + * + * @param string $cas_uid {@min 1}{@max 32} + * * @access protected * @class AccessControl {@permission PM_CASES} - * @param string $cas_uid {@min 1}{@max 32} */ public function doPutCancelCase($app_uid) { @@ -1838,12 +1902,19 @@ class Light extends Api } /** - * Get next step + * This endpoint executes the following three actions: + * 1. Executes a trigger before a step: First, it executes any trigger assigned + * before the indicated step. + * 2. Get the Next Step: It obtains the details about the next step of the case. + * 3. Get Variables: Finally, it returns any variable stored or changed by + * actions 1 and 2. * * @url POST /get-next-step/:app_uid + * + * @return array + * * @access protected * @class AccessControl {@permission PM_CASES} - * @return array */ public function doGetStep($app_uid, $request_data) { @@ -1941,11 +2012,14 @@ class Light extends Api * the specified user. * * @url POST /draft/check - * @access protected - * @class AccessControl {@permission PM_CASES} + * * @param array $requestData + * * @return array $response * @throws Exception + * + * @access protected + * @class AccessControl {@permission PM_CASES} */ public function doGetDraftCheck($requestData) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Process.php b/workflow/engine/src/ProcessMaker/Services/Api/Process.php index 29481f6ff..0d912cf66 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Process.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Process.php @@ -64,10 +64,13 @@ class Process extends Api } /** - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * Create process + * * @param array $request_data * @return array + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function post($request_data = null) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Assignee.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Assignee.php index f2dcb1403..cce8b1699 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Assignee.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Assignee.php @@ -92,14 +92,18 @@ class Assignee extends Api } /** + * Assigns a user or group to a task. + * * @url POST /:prjUid/activity/:actUid/assignee - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prjUid {@min 32} {@max 32} * @param string $actUid {@min 32} {@max 32} * @param string $aas_uid {@min 32} {@max 32} * @param string $aas_type {@choice user,group} - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostActivityAssignee($prjUid, $actUid, $aas_uid, $aas_type) { @@ -191,14 +195,18 @@ class Assignee extends Api } /** + * Assigns a user or group to a task on an ad hoc basis. + * * @url POST /:prjUid/activity/:actUid/adhoc-assignee - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prjUid {@min 32} {@max 32} * @param string $actUid {@min 32} {@max 32} * @param string $ada_uid {@min 32} {@max 32} * @param string $ada_type {@choice user,group} - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostActivityAdhocAssignee($prjUid, $actUid, $ada_uid, $ada_type) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php index ed7252d1f..143d38a1e 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php @@ -34,9 +34,11 @@ class Step extends Api } /** + * Assigns a step to a task. + * * @url POST /:prj_uid/activity/:act_uid/step - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $act_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data @@ -45,7 +47,9 @@ class Step extends Api * @param string $step_condition {@from body} * @param int $step_position {@from body}{@min 1} * @param string $step_mode {@from body}{@choice EDIT,VIEW}{@required true} - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostActivityStep( $act_uid, @@ -218,9 +222,11 @@ class Step extends Api } /** + * Create Steps for a Task. + * * @url POST /:prj_uid/activity/:act_uid/step/all - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $act_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data @@ -229,7 +235,9 @@ class Step extends Api * @param string $step_condition {@from body} * @param int $step_position {@from body}{@min 1} * @param string $step_mode {@from body}{@choice EDIT,VIEW}{@required true} - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostActivityStepAll( $act_uid, diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php index 81af8c9ef..038e0b3b6 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php @@ -34,14 +34,18 @@ class Trigger extends Api } /** + * Assigns a trigger to a step. + * * @url POST /:prj_uid/activity/:act_uid/step/:step_uid/trigger - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $step_uid * @param string $act_uid * @param string $prj_uid * @param StepTriggerPostStructure $request_data - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostActivityStepTrigger($step_uid, $act_uid, $prj_uid, StepTriggerPostStructure $request_data = null) { @@ -122,13 +126,17 @@ class Trigger extends Api } /** + * Assigns a trigger to the "Assignment" or "Routing" step section of an activity. + * * @url POST /:prj_uid/activity/:act_uid/step/trigger - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $act_uid * @param string $prj_uid * @param StepAssignTaskTriggerPostStructure $request_data - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostActivityStepAssignTaskTrigger($act_uid, $prj_uid, StepAssignTaskTriggerPostStructure $request_data = null) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php index 750becc0a..648cb0555 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php @@ -51,12 +51,16 @@ class CaseScheduler extends Api } /** + * Creates a new Case Scheduler. + * * @url POST /:prjUid/case-scheduler - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prjUid {@min 32} {@max 32} * @param CaseSchedulerStructure $request_data - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostProjectCaseScheduler($prjUid, CaseSchedulerStructure $request_data = null) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php index 6d1e4b1b6..0ebcdf384 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php @@ -31,16 +31,20 @@ class CaseTrackerObject extends Api } /** + * Assigns an object (Dynaform, Input Document, Output Document) to a case tracker. + * * @url POST /:prj_uid/case-tracker/object - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data * @param string $cto_type_obj {@from body}{@choice DYNAFORM,INPUT_DOCUMENT,OUTPUT_DOCUMENT}{@required true} * @param string $cto_uid_obj {@from body}{@min 32}{@max 32}{@required true} * @param string $cto_condition {@from body} * @param int $cto_position {@from body}{@min 1} - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostCaseTrackerObject( $prj_uid, diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php index 5750556d7..16392eb38 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php @@ -55,9 +55,10 @@ class DataBaseConnection extends Api } /** + * Tests a database connection with the provided settings. + * * @url POST /:prj_uid/database-connection/test - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * * @param string $prj_uid {@min 1} {@max 32} * @param array $request_data * @param string $dbs_type {@from body} {@required true} @@ -68,6 +69,9 @@ class DataBaseConnection extends Api * @param string $dbs_password {@from body} * @param string $dbs_description {@from body} * @return array + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostTestDataBaseConnection( $prj_uid, @@ -91,9 +95,11 @@ class DataBaseConnection extends Api } /** + * Creates a new database connection. + * * @url POST /:prj_uid/database-connection - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prj_uid {@min 1} {@max 32} * @param array $request_data * @param string $dbs_type {@from body} {@required true} @@ -104,7 +110,9 @@ class DataBaseConnection extends Api * @param string $dbs_password {@from body} * @param string $dbs_description {@from body} * @return array - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostDataBaseConnection( $prj_uid, diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php index a59511fca..c5696cba0 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php @@ -38,12 +38,16 @@ class DynaForm extends Api } /** + * Create dynaform. + * * @url POST /:prj_uid/dynaform - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostDynaForm($prj_uid, $request_data) { @@ -137,11 +141,15 @@ class DynaForm extends Api } /** + * Upload language for dynaform. + * * @url POST /:prj_uid/dynaform/:dyn_uid/upload-language - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * * @param string $dyn_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostDynaFormLanguage($dyn_uid, $prj_uid) { @@ -155,11 +163,15 @@ class DynaForm extends Api } /** + * Delete language for dynaform. + * * @url POST /:prj_uid/dynaform/:dyn_uid/delete-language/:lang - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * * @param string $dyn_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doDeleteDynaFormLanguage($dyn_uid, $prj_uid, $lang) { @@ -190,12 +202,16 @@ class DynaForm extends Api } /** + * DynaForm History. + * * @url POST /:prj_uid/dynaform/:dyn_uid/history - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * * @param string $dyn_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doGetDynaFormHistory($dyn_uid, $prj_uid, $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php index 7efb26b8e..b441a117d 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php @@ -65,9 +65,11 @@ class EmailEvent extends Api /** * @url POST /:prj_uid/email-event + * + * @param string $prj_uid {@min 1} {@max 32} + * * @access protected * @class AccessControl {@permission PM_FACTORY} - * @param string $prj_uid {@min 1} {@max 32} */ public function doPostEmailEvent($prj_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php index 7bd6012f5..823c6c74d 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php @@ -37,12 +37,16 @@ class FilesManager extends Api } /** + * Creates a file in the File Manager. + * * @url POST /:prj_uid/file-manager - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * * @param string $prj_uid {@min 32} {@max 32} * @param ProcessFilesManagerStructurePost $request_data * @param string $prf_content + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostProcessFilesManager($prj_uid, ProcessFilesManagerStructurePost $request_data, $prf_content=null) { @@ -62,11 +66,15 @@ class FilesManager extends Api } /** + * Uploads a document to the File Manager. + * * @url POST /:prj_uid/file-manager/:prf_uid/upload - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * * @param string $prj_uid {@min 32} {@max 32} * @param string $prf_uid {@min 32} {@max 32} + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostProcessFilesManagerUpload($prj_uid, $prf_uid) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php index d061eca15..b88fb893c 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php @@ -33,12 +33,16 @@ class InputDocument extends Api } /** + * Create a new Input Document in a project. + * * @url POST /:prj_uid/input-document - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostInputDocument($prj_uid, $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php index 3dc3fc5ef..80199cc76 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php @@ -80,12 +80,16 @@ class MessageEventDefinition extends Api } /** + * Create message event definition. + * * @url POST /:prj_uid/message-event-definition - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostMessageEventDefinition($prj_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php index 84cca6360..f66f26b5e 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php @@ -65,12 +65,16 @@ class MessageType extends Api } /** + * Create message type + * * @url POST /:prj_uid/message-type - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostMessageType($prj_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php index f75278d8b..5b658adcd 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php @@ -68,12 +68,14 @@ class Variable extends Api /** * @url POST /:prj_uid/message-type/:msgt_uid/variable - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prj_uid {@min 32}{@max 32} * @param string $msgt_uid {@min 32}{@max 32} * @param array $request_data - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostMessageTypeVariable($prj_uid, $msgt_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php index 184bc27b6..1152a34a1 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php @@ -51,12 +51,16 @@ class OutputDocuments extends Api } /** + * Create a new output document for a project. + * * @url POST /:prjUid/output-document - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prjUid {@min 32} {@max 32} * @param OutputDocumentStructure $request_data - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostProjectOutputDocument($prjUid, OutputDocumentStructure $request_data = null) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php index 9a67ddbd9..394b06e4e 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php @@ -58,9 +58,11 @@ class ProcessPermissions extends Api } /** + * Creates a new Process Permission for a project. + * * @url POST /:prj_uid/process-permission/ - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prj_uid {@min 1} {@max 32} * @param array $request_data * @param string $usr_uid {@from body} {@min 1} {@max 32} @@ -75,7 +77,9 @@ class ProcessPermissions extends Api * @param string $inputs {@from body} * @param string $outputs {@from body} * @return array - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostProcessPermission( $prj_uid, diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php index a7f9f8ff1..752298385 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php @@ -234,13 +234,17 @@ class ProcessSupervisors extends Api } /** + * Assign a user or group as a process supervisor. + * * @url POST /:prjUid/process-supervisor - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prjUid {@min 32} {@max 32} * @param string $usr_uid {@min 32} {@max 32} * @param string $pu_type {@choice SUPERVISOR,GROUP_SUPERVISOR} - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostProcessSupervisor($prjUid, $usr_uid, $pu_type) { @@ -257,13 +261,17 @@ class ProcessSupervisors extends Api } /** + * Assigns a Dynaform to a Process Supervisor. + * * @url POST /:prjUid/process-supervisor/dynaform - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prjUid {@min 32} {@max 32} * @param string $dyn_uid {@min 32} {@max 32} * @param int $pud_position - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostProcessSupervisorDynaform($prjUid, $dyn_uid, $pud_position = null) { @@ -280,13 +288,17 @@ class ProcessSupervisors extends Api } /** + * Assigns an input document to a Process Supervisor. + * * @url POST /:prjUid/process-supervisor/input-document - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prjUid {@min 32} {@max 32} * @param string $inp_doc_uid {@min 32} {@max 32} * @param int $pui_position - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostProcessSupervisorInputDocument($prjUid, $inp_doc_uid, $pui_position = null) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProjectUsers.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProjectUsers.php index 72154adda..8512903ba 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProjectUsers.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProjectUsers.php @@ -70,12 +70,16 @@ class ProjectUsers extends Api } /** + * Return the user that can start a task. + * * @url POST /:prj_uid/ws/user/can-start-task - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * * @param string $prj_uid {@min 32} {@max 32} * @param string $act_uid {@min 32} {@max 32} * @param wsUserCanStartTaskStructure $request_data + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostProjectWsUserCanStartTask($prj_uid, $act_uid = null, wsUserCanStartTaskStructure $request_data = null) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php index 30e7865e0..d5fbb09ee 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php @@ -95,9 +95,11 @@ class ReportTable extends Api } /** + * Creates a new Report Table. + * * @url POST /:prj_uid/report-table - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prj_uid {@min 1} {@max 32} * @param array $request_data * @param string $rep_tab_name {@from body} @@ -106,7 +108,9 @@ class ReportTable extends Api * @param string $rep_tab_type {@from body} {@choice NORMAL,GRID} * @param string $rep_tab_grid {@from body} * @return array - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostReportTable( $prj_uid, diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php index a9b57fc94..0483cfb42 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php @@ -80,12 +80,16 @@ class ScriptTask extends Api } /** + * Create script task for a project. + * * @url POST /:prj_uid/script-task - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostScriptTask($prj_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php index 2a53031c3..85aebb5c6 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php @@ -86,12 +86,16 @@ class TimerEvent extends Api } /** + * Create timer event for a project. + * * @url POST /:prj_uid/timer-event - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostTimerEvent($prj_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php index 58616ee39..62d407352 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php @@ -55,9 +55,11 @@ class Trigger extends Api } /** + * Create a new trigger in a project. + * * @url POST /:projectUid/trigger - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $projectUid {@min 1} {@max 32} * @param array $request_data * @param string $tri_title {@from body} {@min 1} @@ -66,7 +68,9 @@ class Trigger extends Api * @param string $tri_webbot {@from body} * @param string $tri_param {@from body} * @return array - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostTrigger($projectUid, $request_data, $tri_title, $tri_description = '', $tri_type = 'SCRIPT', $tri_webbot = '', $tri_param = '') { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/TriggerWizard.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/TriggerWizard.php index 0735963c2..26933f187 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/TriggerWizard.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/TriggerWizard.php @@ -66,14 +66,18 @@ class TriggerWizard extends Api } /** + * Create Trigger for a Process + * * @url POST /:prj_uid/trigger-wizard/:lib_name/:fn_name - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prj_uid {@min 32}{@max 32} * @param string $lib_name * @param string $fn_name * @param array $request_data - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostTriggerWizard($prj_uid, $lib_name, $fn_name, $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php index 0321079cd..4fa21db77 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php @@ -48,12 +48,16 @@ class Variable extends Api } /** + * Create a process variable. + * * @url POST /:prj_uid/process-variable - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostVariable($prj_uid, $request_data) { @@ -109,12 +113,18 @@ class Variable extends Api } /** + * Executes an SQL query of a dependent field, such as a dropdown box, checkgroup + * or radiogroup, that uses an SQL query with one or more dynamic variables + * to populate its list of options. + * * @url POST /:prj_uid/process-variable/:var_name/execute-query - * @access protected - * @class AccessControl {@permission PM_FACTORY, PM_CASES} + * * @param string $prj_uid {@min 32}{@max 32} * @param string $var_name * @param array $request_data + * + * @access protected + * @class AccessControl {@permission PM_FACTORY, PM_CASES} */ public function doPostVariableExecuteSql($prj_uid, $var_name = '', $request_data = array()) { @@ -132,12 +142,18 @@ class Variable extends Api } /** + * Queries the options in a suggest box, dropdown box, checkgroup or radiogroup, + * which uses an SQL query to populate its list of options (or uses a datasource + * which is "array variable" in version 3.0.1.8 or later). + * * @url POST /:prj_uid/process-variable/:var_name/execute-query-suggest - * @access protected - * @class AccessControl {@permission PM_FACTORY, PM_CASES} + * * @param string $prj_uid {@min 32}{@max 32} * @param string $var_name * @param array $request_data + * + * @access protected + * @class AccessControl {@permission PM_FACTORY, PM_CASES} */ public function doPostVariableExecuteSqlSuggest($prj_uid, $var_name, $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php index 3dd31a800..203994a96 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php @@ -71,12 +71,16 @@ class WebEntry extends Api } /** + * Creates a new Web Entry using the method "PHP pages with Web Services". + * * @url POST /:prj_uid/web-entry - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostWebEntry($prj_uid, array $request_data) { diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php index 29a8cec15..56e032837 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php @@ -88,12 +88,16 @@ class WebEntryEvent extends Api } /** + * Create web entry event for a project. + * * @url POST /:prj_uid/web-entry-event - * @access protected - * @class AccessControl {@permission PM_FACTORY} + * @status 201 + * * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data - * @status 201 + * + * @access protected + * @class AccessControl {@permission PM_FACTORY} */ public function doPostWebEntryEvent($prj_uid, array $request_data) { From babfb1a22e06ca1868f30acf5d177929022765ac Mon Sep 17 00:00:00 2001 From: Marco Antonio Nina Mena Date: Wed, 18 Oct 2017 12:15:13 -0400 Subject: [PATCH 07/41] HOR-3987 When I Enable/disabled a plugin (when I'm extend its API) appear a error and I can not use PM - you need to specify if you want an associative array instead of an object --- .../engine/src/ProcessMaker/Plugins/Traits/PluginStructure.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/src/ProcessMaker/Plugins/Traits/PluginStructure.php b/workflow/engine/src/ProcessMaker/Plugins/Traits/PluginStructure.php index bfd03254c..4a2125cfb 100644 --- a/workflow/engine/src/ProcessMaker/Plugins/Traits/PluginStructure.php +++ b/workflow/engine/src/ProcessMaker/Plugins/Traits/PluginStructure.php @@ -116,7 +116,7 @@ trait PluginStructure $this->buildCss(G::json_decode($plugin['PluginCss'], true)); $this->buildJs(G::json_decode($plugin['PluginJs'], true)); $this->buildRestService(G::json_decode($plugin['PluginRestService'], true)); - $this->buildAttributes($plugin['PluginNamespace'], G::json_decode($plugin['PluginAttributes'])); + $this->buildAttributes($plugin['PluginNamespace'], G::json_decode($plugin['PluginAttributes'], true)); } } } From 6b8ef940151f26fa21ad5bae24de8ef0718e16b8 Mon Sep 17 00:00:00 2001 From: davidcallizaya Date: Wed, 18 Oct 2017 14:33:38 -0400 Subject: [PATCH 08/41] HOR-3967 Fix PUT catalog and deprecate it. --- .../src/ProcessMaker/BusinessModel/Catalog.php | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Catalog.php b/workflow/engine/src/ProcessMaker/BusinessModel/Catalog.php index bdb01c969..f05549483 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Catalog.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Catalog.php @@ -43,20 +43,25 @@ class Catalog } /** - * Update Catalog + * Update Catalog. * * @param string $cat_uid Unique id of Group * @param string $cat_type Unique id of Group * @param array $arrayData Data * - * return array Return data of the new Group update - * - * @author Marco Antonio Nina + * @return array Return data of the new Group update + * + * @access private + * @deprecated since 3.2.2 */ public function update($cat_uid, $cat_type, $arrayData) { $catalog = new \Catalog(); - $response = $catalog->update($cat_uid, $cat_type, $arrayData); + $arrayData['CAT_UID'] = $cat_uid; + $arrayData['CAT_TYPE'] = !isset($arrayData['CAT_TYPE']) + ? $cat_type + : $arrayData['CAT_TYPE']; + $response = $catalog->createOrUpdate($arrayData); return $response; } From c93bd3fc6bfe4f9e8a8aba0b56e86b272cd7cc7b Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Wed, 18 Oct 2017 14:53:15 -0400 Subject: [PATCH 09/41] HOR-3968 --- .../src/ProcessMaker/Services/Api/Cases.php | 12 +++++++++ .../Services/Api/Cases/InputDocument.php | 3 +++ .../Services/Api/Cases/OutputDocument.php | 3 +++ .../Services/Api/Cases/Variable.php | 3 +++ .../src/ProcessMaker/Services/Api/Catalog.php | 3 +++ .../Services/Api/Consolidated.php | 2 ++ .../ProcessMaker/Services/Api/Dashboard.php | 12 +++++++++ .../ProcessMaker/Services/Api/Department.php | 5 ++++ .../ProcessMaker/Services/Api/EmailServer.php | 6 +++++ .../src/ProcessMaker/Services/Api/File.php | 6 +++++ .../src/ProcessMaker/Services/Api/Group.php | 3 +++ .../ProcessMaker/Services/Api/Group/User.php | 6 +++++ .../src/ProcessMaker/Services/Api/Light.php | 25 +++++++++++++++++++ .../src/ProcessMaker/Services/Api/Process.php | 2 ++ .../Api/Project/Activity/Assignee.php | 6 +++++ .../Services/Api/Project/Activity/Step.php | 6 +++++ .../Api/Project/Activity/Step/Trigger.php | 6 +++++ .../Services/Api/Project/CaseScheduler.php | 3 +++ .../Api/Project/CaseTrackerObject.php | 3 +++ .../Api/Project/DataBaseConnection.php | 4 +++ .../Services/Api/Project/DynaForm.php | 12 +++++++++ .../Services/Api/Project/EmailEvent.php | 3 +++ .../Services/Api/Project/FilesManager.php | 6 +++++ .../Services/Api/Project/InputDocument.php | 3 +++ .../Api/Project/MessageEventDefinition.php | 3 +++ .../Services/Api/Project/MessageType.php | 3 +++ .../Api/Project/MessageType/Variable.php | 3 +++ .../Services/Api/Project/OutputDocuments.php | 3 +++ .../Api/Project/ProcessPermissions.php | 2 ++ .../Api/Project/ProcessSupervisors.php | 9 +++++++ .../Services/Api/Project/ProjectUsers.php | 3 +++ .../Services/Api/Project/ReportTable.php | 2 ++ .../Services/Api/Project/ScriptTask.php | 3 +++ .../Services/Api/Project/TimerEvent.php | 3 +++ .../Services/Api/Project/Trigger.php | 2 ++ .../Services/Api/Project/TriggerWizard.php | 3 +++ .../Services/Api/Project/Variable.php | 9 +++++++ .../Services/Api/Project/WebEntry.php | 3 +++ .../Services/Api/Project/WebEntryEvent.php | 3 +++ 39 files changed, 197 insertions(+) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases.php index b6e1e1a1e..7915c2ea6 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases.php @@ -766,6 +766,9 @@ class Cases extends Api * @param string $tas_uid {@from body} {@min 32}{@max 32} * @param array $variables {@from body} * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_CASES} */ @@ -797,6 +800,9 @@ class Cases extends Api * @param string $tas_uid {@from body} {@min 32}{@max 32} * @param array $variables {@from body} * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_CASES} */ @@ -1121,6 +1127,9 @@ class Cases extends Api * @param string $note_content {@min 1}{@max 500} * @param int $send_mail {@choice 1,0} * + * @return void + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_CASES} */ @@ -1254,6 +1263,9 @@ class Cases extends Api * * @param string $tas_uid {@min 32}{@max 32} * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_CASES} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases/InputDocument.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases/InputDocument.php index 03da8e24b..29f528db7 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases/InputDocument.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases/InputDocument.php @@ -106,6 +106,9 @@ class InputDocument extends Api * @param string $app_doc_comment * @param string $inp_doc_uid {@min 32}{@max 32} * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_CASES} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases/OutputDocument.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases/OutputDocument.php index 04dfe4296..6fa6b917e 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases/OutputDocument.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases/OutputDocument.php @@ -148,6 +148,9 @@ class OutputDocument extends Api * @param int $del_index {@min 1} * @param string $out_doc_uid {@min 32}{@max 32} * + * @return object + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_CASES} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php index befc33e80..5fa8942ed 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases/Variable.php @@ -88,6 +88,9 @@ class Variable extends Api * @param string $var_name * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_CASES} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php b/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php index d8776f2fd..da9154a10 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Catalog.php @@ -45,6 +45,9 @@ class Catalog extends Api * * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_DASHBOARD} * @deprecated The method has been deprecated. diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php b/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php index 8874eb82e..7d490d646 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Consolidated.php @@ -141,7 +141,9 @@ class Consolidated extends Api * @param int $del_index * @param string $field_grid * @param string $field_grid_val + * * @return array + * @throws RestException * * @access protected * @class AccessControl {@permission PM_CASES} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php b/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php index 45a8a254d..efad1d0de 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php @@ -227,6 +227,9 @@ class Dashboard extends Api * * @param array $request_data * + * @return id + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_DASHBOARD} */ @@ -289,6 +292,9 @@ class Dashboard extends Api * * @param array $request_data * + * @return string + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_DASHBOARD} */ @@ -330,6 +336,9 @@ class Dashboard extends Api * * @param array $request_data * + * @return string + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_DASHBOARD} */ @@ -389,6 +398,9 @@ class Dashboard extends Api * * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_DASHBOARD} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Department.php b/workflow/engine/src/ProcessMaker/Services/Api/Department.php index 8403388a7..29da20f67 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Department.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Department.php @@ -112,6 +112,9 @@ class Department extends Api * @param string $dep_uid {@min 32}{@max 32} * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_USERS} */ @@ -192,7 +195,9 @@ class Department extends Api * * @param array $request_data * @param string $dep_title {@from body} {@min 1} + * * @return array + * @throws RestException * * @access protected * @class AccessControl {@permission PM_USERS} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php b/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php index 573e97a4e..507635894 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/EmailServer.php @@ -91,6 +91,9 @@ class EmailServer extends Api * * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_SETUP_EMAIL} */ @@ -115,6 +118,9 @@ class EmailServer extends Api * * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_SETUP_EMAIL} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/File.php b/workflow/engine/src/ProcessMaker/Services/Api/File.php index ca1d1593a..387733ce5 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/File.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/File.php @@ -18,6 +18,12 @@ class File extends Api * * @param array $request_data * + * @return array + * @throws RestException + * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Group.php b/workflow/engine/src/ProcessMaker/Services/Api/Group.php index 3e7b3bf3a..6f45b5e9f 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Group.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Group.php @@ -80,6 +80,9 @@ class Group extends Api * * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_USERS} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Group/User.php b/workflow/engine/src/ProcessMaker/Services/Api/Group/User.php index a25d45cbf..f58d16ba1 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Group/User.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Group/User.php @@ -20,6 +20,9 @@ class User extends Api * @param string $grp_uid {@min 32}{@max 32} * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_USERS} */ @@ -43,6 +46,9 @@ class User extends Api * * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_USERS} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Light.php b/workflow/engine/src/ProcessMaker/Services/Api/Light.php index f3eb5bf2f..59de9feb1 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Light.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Light.php @@ -975,6 +975,9 @@ class Light extends Api * @param string $step_uid {@min 32}{@max 32} * @param string $type {@choice before,after} * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_CASES} */ @@ -1144,6 +1147,9 @@ class Light extends Api * @param string $pro_uid {@min 32}{@max 32} * @param string $task_uid {@min 32}{@max 32} * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_CASES} */ @@ -1246,6 +1252,9 @@ class Light extends Api * @param float $latitude {@min -90}{@max 90} * @param float $longitude {@min -180}{@max 180} * + * @return mixed + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_CASES} */ @@ -1291,6 +1300,9 @@ class Light extends Api * * @param string $app_uid {@min 32}{@max 32} * + * @return mixed + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_CASES} */ @@ -1402,7 +1414,9 @@ class Light extends Api * * @param $access * @param $refresh + * * @return mixed + * @throws RestException * * @access protected * @class AccessControl {@permission PM_CASES} @@ -1435,7 +1449,9 @@ class Light extends Api * * @param $access * @param $refresh + * * @return mixed + * @throws RestException * * @access protected * @class AccessControl {@permission PM_CASES} @@ -1459,7 +1475,9 @@ class Light extends Api * @url POST /case/:app_uid/claim * * @param $app_uid {@min 1}{@max 32} + * * @return mixed + * @throws RestException * * @access protected * @class AccessControl {@permission PM_CASES} @@ -1559,6 +1577,9 @@ class Light extends Api * @param string $noteContent {@min 1}{@max 500} * @param int $sendMail {@choice 1,0} * + * @return mixed + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_CASES} */ @@ -1735,6 +1756,9 @@ class Light extends Api * * @param string $cas_uid {@min 1}{@max 32} * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_CASES} */ @@ -1912,6 +1936,7 @@ class Light extends Api * @url POST /get-next-step/:app_uid * * @return array + * @throws RestException * * @access protected * @class AccessControl {@permission PM_CASES} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Process.php b/workflow/engine/src/ProcessMaker/Services/Api/Process.php index 0d912cf66..6cfc22751 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Process.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Process.php @@ -67,7 +67,9 @@ class Process extends Api * Create process * * @param array $request_data + * * @return array + * @throws RestException * * @access protected * @class AccessControl {@permission PM_FACTORY} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Assignee.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Assignee.php index cce8b1699..214cab709 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Assignee.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Assignee.php @@ -102,6 +102,9 @@ class Assignee extends Api * @param string $aas_uid {@min 32} {@max 32} * @param string $aas_type {@choice user,group} * + * @return void + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ @@ -205,6 +208,9 @@ class Assignee extends Api * @param string $ada_uid {@min 32} {@max 32} * @param string $ada_type {@choice user,group} * + * @return void + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php index 143d38a1e..c9a5cbd1a 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php @@ -48,6 +48,9 @@ class Step extends Api * @param int $step_position {@from body}{@min 1} * @param string $step_mode {@from body}{@choice EDIT,VIEW}{@required true} * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ @@ -236,6 +239,9 @@ class Step extends Api * @param int $step_position {@from body}{@min 1} * @param string $step_mode {@from body}{@choice EDIT,VIEW}{@required true} * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php index 038e0b3b6..935d42390 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php @@ -44,6 +44,9 @@ class Trigger extends Api * @param string $prj_uid * @param StepTriggerPostStructure $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ @@ -135,6 +138,9 @@ class Trigger extends Api * @param string $prj_uid * @param StepAssignTaskTriggerPostStructure $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php index 648cb0555..596f00fb9 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php @@ -59,6 +59,9 @@ class CaseScheduler extends Api * @param string $prjUid {@min 32} {@max 32} * @param CaseSchedulerStructure $request_data * + * @return mixed + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php index 0ebcdf384..3205588e7 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php @@ -43,6 +43,9 @@ class CaseTrackerObject extends Api * @param string $cto_condition {@from body} * @param int $cto_position {@from body}{@min 1} * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php index 16392eb38..2ce5a2d33 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php @@ -68,7 +68,9 @@ class DataBaseConnection extends Api * @param string $dbs_encode {@from body} {@required true} * @param string $dbs_password {@from body} * @param string $dbs_description {@from body} + * * @return array + * @throws RestException * * @access protected * @class AccessControl {@permission PM_FACTORY} @@ -109,7 +111,9 @@ class DataBaseConnection extends Api * @param string $dbs_encode {@from body} {@required true} * @param string $dbs_password {@from body} * @param string $dbs_description {@from body} + * * @return array + * @throws RestException * * @access protected * @class AccessControl {@permission PM_FACTORY} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php index c5696cba0..36abed826 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php @@ -46,6 +46,9 @@ class DynaForm extends Api * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ @@ -148,6 +151,9 @@ class DynaForm extends Api * @param string $dyn_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} * + * @return void + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ @@ -170,6 +176,9 @@ class DynaForm extends Api * @param string $dyn_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} * + * @return void + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ @@ -210,6 +219,9 @@ class DynaForm extends Api * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php index b441a117d..ce18f7644 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php @@ -68,6 +68,9 @@ class EmailEvent extends Api * * @param string $prj_uid {@min 1} {@max 32} * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php index 823c6c74d..631a63790 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php @@ -45,6 +45,9 @@ class FilesManager extends Api * @param ProcessFilesManagerStructurePost $request_data * @param string $prf_content * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ @@ -73,6 +76,9 @@ class FilesManager extends Api * @param string $prj_uid {@min 32} {@max 32} * @param string $prf_uid {@min 32} {@max 32} * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php index b88fb893c..07045f527 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/InputDocument.php @@ -41,6 +41,9 @@ class InputDocument extends Api * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php index 80199cc76..3e97afbdd 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageEventDefinition.php @@ -88,6 +88,9 @@ class MessageEventDefinition extends Api * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php index f66f26b5e..6bef5a55c 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType.php @@ -73,6 +73,9 @@ class MessageType extends Api * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php index 5b658adcd..6ec5493e7 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php @@ -74,6 +74,9 @@ class Variable extends Api * @param string $msgt_uid {@min 32}{@max 32} * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php index 1152a34a1..4cec83fa1 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/OutputDocuments.php @@ -59,6 +59,9 @@ class OutputDocuments extends Api * @param string $prjUid {@min 32} {@max 32} * @param OutputDocumentStructure $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php index 394b06e4e..474460a41 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessPermissions.php @@ -76,7 +76,9 @@ class ProcessPermissions extends Api * @param string $dynaforms {@from body} * @param string $inputs {@from body} * @param string $outputs {@from body} + * * @return array + * @throws RestException * * @access protected * @class AccessControl {@permission PM_FACTORY} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php index 752298385..677c2386d 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php @@ -243,6 +243,9 @@ class ProcessSupervisors extends Api * @param string $usr_uid {@min 32} {@max 32} * @param string $pu_type {@choice SUPERVISOR,GROUP_SUPERVISOR} * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ @@ -270,6 +273,9 @@ class ProcessSupervisors extends Api * @param string $dyn_uid {@min 32} {@max 32} * @param int $pud_position * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ @@ -297,6 +303,9 @@ class ProcessSupervisors extends Api * @param string $inp_doc_uid {@min 32} {@max 32} * @param int $pui_position * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProjectUsers.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProjectUsers.php index 8512903ba..f698322e2 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProjectUsers.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProjectUsers.php @@ -78,6 +78,9 @@ class ProjectUsers extends Api * @param string $act_uid {@min 32} {@max 32} * @param wsUserCanStartTaskStructure $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php index d5fbb09ee..dc7a4622c 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ReportTable.php @@ -107,7 +107,9 @@ class ReportTable extends Api * @param string $rep_tab_connection {@from body} * @param string $rep_tab_type {@from body} {@choice NORMAL,GRID} * @param string $rep_tab_grid {@from body} + * * @return array + * @throws RestException * * @access protected * @class AccessControl {@permission PM_FACTORY} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php index 0483cfb42..3e869c296 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ScriptTask.php @@ -88,6 +88,9 @@ class ScriptTask extends Api * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php index 85aebb5c6..ef82437df 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/TimerEvent.php @@ -94,6 +94,9 @@ class TimerEvent extends Api * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php index 62d407352..749075eed 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Trigger.php @@ -67,7 +67,9 @@ class Trigger extends Api * @param string $tri_type {@from body} * @param string $tri_webbot {@from body} * @param string $tri_param {@from body} + * * @return array + * @throws RestException * * @access protected * @class AccessControl {@permission PM_FACTORY} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/TriggerWizard.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/TriggerWizard.php index 26933f187..55831359b 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/TriggerWizard.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/TriggerWizard.php @@ -76,6 +76,9 @@ class TriggerWizard extends Api * @param string $fn_name * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php index 4fa21db77..ad761a9ca 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php @@ -56,6 +56,9 @@ class Variable extends Api * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ @@ -123,6 +126,9 @@ class Variable extends Api * @param string $var_name * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY, PM_CASES} */ @@ -152,6 +158,9 @@ class Variable extends Api * @param string $var_name * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY, PM_CASES} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php index 203994a96..8ee08e56d 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntry.php @@ -79,6 +79,9 @@ class WebEntry extends Api * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php index 56e032837..538e6569e 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/WebEntryEvent.php @@ -96,6 +96,9 @@ class WebEntryEvent extends Api * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data * + * @return array + * @throws RestException + * * @access protected * @class AccessControl {@permission PM_FACTORY} */ From 17704c37932055d4fb2bf2f785454728761fefb8 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Wed, 18 Oct 2017 14:59:07 -0400 Subject: [PATCH 10/41] HOR-3968 --- .../ProcessMaker/Services/Api/Project/DataBaseConnection.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php index 2ce5a2d33..c5d2a6f9b 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/DataBaseConnection.php @@ -55,7 +55,7 @@ class DataBaseConnection extends Api } /** - * Tests a database connection with the provided settings. + * Test a database connection with the provided settings. * * @url POST /:prj_uid/database-connection/test * From 266c9824f36cd3e98565ddd8c143d31ffde7c9ac Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Wed, 18 Oct 2017 15:11:11 -0400 Subject: [PATCH 11/41] HOR-3968 --- .../Services/Api/Project/CaseTrackerObject.php | 2 +- .../src/ProcessMaker/Services/Api/Project/DynaForm.php | 9 +++++---- .../src/ProcessMaker/Services/Api/Project/EmailEvent.php | 3 +++ .../Services/Api/Project/MessageType/Variable.php | 2 ++ .../src/ProcessMaker/Services/Api/Project/Variable.php | 2 +- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php index 3205588e7..5c3a2cd77 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseTrackerObject.php @@ -31,7 +31,7 @@ class CaseTrackerObject extends Api } /** - * Assigns an object (Dynaform, Input Document, Output Document) to a case tracker. + * Assign an object (Dynaform, Input Document, Output Document) to a case tracker. * * @url POST /:prj_uid/case-tracker/object * @status 201 diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php index 36abed826..df38f3aa2 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php @@ -38,7 +38,7 @@ class DynaForm extends Api } /** - * Create dynaform. + * Create Dynaform. * * @url POST /:prj_uid/dynaform * @status 201 @@ -144,7 +144,7 @@ class DynaForm extends Api } /** - * Upload language for dynaform. + * Upload language for a Dynaform. * * @url POST /:prj_uid/dynaform/:dyn_uid/upload-language * @@ -169,12 +169,13 @@ class DynaForm extends Api } /** - * Delete language for dynaform. + * Delete language from a Dynaform. * * @url POST /:prj_uid/dynaform/:dyn_uid/delete-language/:lang * * @param string $dyn_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} + * @param string $lang * * @return void * @throws RestException @@ -211,7 +212,7 @@ class DynaForm extends Api } /** - * DynaForm History. + * Get Dynaform's history. * * @url POST /:prj_uid/dynaform/:dyn_uid/history * diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php index ce18f7644..8bbca7269 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/EmailEvent.php @@ -64,9 +64,12 @@ class EmailEvent extends Api } /** + * Save Data for email event. + * * @url POST /:prj_uid/email-event * * @param string $prj_uid {@min 1} {@max 32} + * @param array $request_data * * @return array * @throws RestException diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php index 6ec5493e7..331f44d84 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/MessageType/Variable.php @@ -67,6 +67,8 @@ class Variable extends Api } /** + * Return data of the new Message created. + * * @url POST /:prj_uid/message-type/:msgt_uid/variable * @status 201 * diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php index ad761a9ca..09cb9867a 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Variable.php @@ -148,7 +148,7 @@ class Variable extends Api } /** - * Queries the options in a suggest box, dropdown box, checkgroup or radiogroup, + * Gets the options in a suggest box, dropdown box, checkgroup or radiogroup, * which uses an SQL query to populate its list of options (or uses a datasource * which is "array variable" in version 3.0.1.8 or later). * From c501c56dd509b6a772bec779c9b107c8f2be6bc6 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Wed, 18 Oct 2017 15:22:09 -0400 Subject: [PATCH 12/41] HOR-3968 --- .../Services/Api/Project/Activity/Step/Trigger.php | 2 +- .../src/ProcessMaker/Services/Api/Project/DynaForm.php | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php index 935d42390..262b9261e 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php @@ -129,7 +129,7 @@ class Trigger extends Api } /** - * Assigns a trigger to the "Assignment" or "Routing" step section of an activity. + * Assign a trigger to the "Assignment" or "Routing" step section of an activity. * * @url POST /:prj_uid/activity/:act_uid/step/trigger * @status 201 diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php index df38f3aa2..5d4a986e7 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php @@ -147,7 +147,7 @@ class DynaForm extends Api * Upload language for a Dynaform. * * @url POST /:prj_uid/dynaform/:dyn_uid/upload-language - * + * * @param string $dyn_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} * @@ -172,7 +172,7 @@ class DynaForm extends Api * Delete language from a Dynaform. * * @url POST /:prj_uid/dynaform/:dyn_uid/delete-language/:lang - * + * * @param string $dyn_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} * @param string $lang @@ -215,7 +215,7 @@ class DynaForm extends Api * Get Dynaform's history. * * @url POST /:prj_uid/dynaform/:dyn_uid/history - * + * * @param string $dyn_uid {@min 32}{@max 32} * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data From 4c62c0f41134f21c0647d9e30a558c0a9947deac Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Wed, 18 Oct 2017 15:32:43 -0400 Subject: [PATCH 13/41] HOR-3968 --- .../src/ProcessMaker/Services/Api/Project/Activity/Step.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php index c9a5cbd1a..663b72e72 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step.php @@ -34,7 +34,7 @@ class Step extends Api } /** - * Assigns a step to a task. + * Assign a step to a task. * * @url POST /:prj_uid/activity/:act_uid/step * @status 201 From 0e12d2369d2b135722d9d92b635c4d831ddd1cf3 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Wed, 18 Oct 2017 16:29:01 -0400 Subject: [PATCH 14/41] HOR-3968 --- .../ProcessMaker/Services/Api/Project/Activity/Assignee.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Assignee.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Assignee.php index 214cab709..bdea6550b 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Assignee.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Assignee.php @@ -92,7 +92,7 @@ class Assignee extends Api } /** - * Assigns a user or group to a task. + * Assign an user or group to a task. * * @url POST /:prjUid/activity/:actUid/assignee * @status 201 @@ -198,7 +198,7 @@ class Assignee extends Api } /** - * Assigns a user or group to a task on an ad hoc basis. + * Assign an user or group to a task (Ad-hoc assignment). * * @url POST /:prjUid/activity/:actUid/adhoc-assignee * @status 201 From 5fe388fc902f5807b6f939c22d4d6ed90a77f0ad Mon Sep 17 00:00:00 2001 From: Marco Antonio Nina Mena Date: Thu, 19 Oct 2017 10:04:15 -0400 Subject: [PATCH 15/41] Change use array to object --- workflow/engine/classes/PMPluginRegistry.php | 555 +++++++++--------- .../ProcessMaker/Plugins/PluginRegistry.php | 31 +- .../Plugins/Traits/PluginStructure.php | 2 +- 3 files changed, 297 insertions(+), 291 deletions(-) diff --git a/workflow/engine/classes/PMPluginRegistry.php b/workflow/engine/classes/PMPluginRegistry.php index 6136b662a..9a50fcc01 100644 --- a/workflow/engine/classes/PMPluginRegistry.php +++ b/workflow/engine/classes/PMPluginRegistry.php @@ -5,39 +5,39 @@ use ProcessMaker\Plugins\PluginRegistry; class PMPluginRegistry { - private $_aPluginDetails = array (); - private $_aPlugins = array (); - private $_aMenus = array (); - private $_aFolders = array (); - private $_aTriggers = array (); - private $_aDashlets = array (); - private $_aReports = array (); - private $_aPmFunctions = array (); - private $_aRedirectLogin = array (); - private $_aSteps = array (); - private $_aCSSStyleSheets = array (); - private $_aToolbarFiles = array (); - private $_aCaseSchedulerPlugin = array (); - private $_aTaskExtendedProperties = array (); - private $_aDashboardPages = array (); - private $_aCronFiles = array (); + private $_aPluginDetails = array(); + private $_aPlugins = array(); + private $_aMenus = array(); + private $_aFolders = array(); + private $_aTriggers = array(); + private $_aDashlets = array(); + private $_aReports = array(); + private $_aPmFunctions = array(); + private $_aRedirectLogin = array(); + private $_aSteps = array(); + private $_aCSSStyleSheets = array(); + private $_aToolbarFiles = array(); + private $_aCaseSchedulerPlugin = array(); + private $_aTaskExtendedProperties = array(); + private $_aDashboardPages = array(); + private $_aCronFiles = array(); private $_arrayDesignerMenu = array(); - private $_aMenuOptionsToReplace = array (); - private $_aImportProcessCallbackFile = array (); - private $_aOpenReassignCallback = array (); + private $_aMenuOptionsToReplace = array(); + private $_aImportProcessCallbackFile = array(); + private $_aOpenReassignCallback = array(); private $_arrayDesignerSourcePath = array(); /** * Registry a plugin javascript to include with js core at same runtime */ - private $_aJavascripts = array (); + private $_aJavascripts = array(); /** * Contains all rest services classes from plugins */ - private $_restServices = array (); + private $_restServices = array(); - private $_restExtendServices = array (); + private $_restExtendServices = array(); private $_restServiceEnabled = array(); @@ -50,7 +50,7 @@ class PMPluginRegistry * * @return void */ - public function __construct () + public function __construct() { } @@ -83,9 +83,9 @@ class PMPluginRegistry * * @return void */ - public function serializeInstance () + public function serializeInstance() { - return serialize( $this ); + return serialize($this); } /** @@ -94,22 +94,22 @@ class PMPluginRegistry * @param string $serialized * @return void */ - public function unSerializeInstance ($serialized) + public function unSerializeInstance($serialized) { if (self::$instance == null) { self::$instance = new PMPluginRegistry(); } - $instance = unserialize( $serialized ); + $instance = unserialize($serialized); self::$instance = $instance; } /** * Save the current instance to the plugin singleton */ - public function save () + public function save() { - file_put_contents( PATH_DATA_SITE . 'plugin.singleton', $this->serializeInstance() ); + file_put_contents(PATH_DATA_SITE . 'plugin.singleton', $this->serializeInstance()); } /** @@ -119,24 +119,24 @@ class PMPluginRegistry * @param unknown_type $sNamespace * @param unknown_type $sFilename */ - public function registerPlugin ($sNamespace, $sFilename = null) + public function registerPlugin($sNamespace, $sFilename = null) { $sClassName = $sNamespace . "plugin"; - $plugin = new $sClassName( $sNamespace, $sFilename ); + $plugin = new $sClassName($sNamespace, $sFilename); - if (isset( $this->_aPluginDetails[$sNamespace] )) { + if (isset($this->_aPluginDetails[$sNamespace])) { $this->_aPluginDetails[$sNamespace]->iVersion = $plugin->iVersion; return; } - $detail = new PluginDetail( $sNamespace, $sClassName, $sFilename, $plugin->sFriendlyName, $plugin->sPluginFolder, $plugin->sDescription, $plugin->sSetupPage, $plugin->iVersion ); + $detail = new PluginDetail($sNamespace, $sClassName, $sFilename, $plugin->sFriendlyName, $plugin->sPluginFolder, $plugin->sDescription, $plugin->sSetupPage, $plugin->iVersion); - if (isset( $plugin->aWorkspaces )) { + if (isset($plugin->aWorkspaces)) { $detail->aWorkspaces = $plugin->aWorkspaces; } - if (isset( $plugin->bPrivate )) { + if (isset($plugin->bPrivate)) { $detail->bPrivate = $plugin->bPrivate; } @@ -153,10 +153,10 @@ class PMPluginRegistry * * @param unknown_type $sFilename */ - public function getPluginDetails ($sFilename) + public function getPluginDetails($sFilename) { foreach ($this->_aPluginDetails as $key => $row) { - if ($sFilename == baseName( $row->sFilename )) { + if ($sFilename == baseName($row->sFilename)) { return $row; } } @@ -168,20 +168,20 @@ class PMPluginRegistry * * @param unknown_type $sNamespace */ - public function enablePlugin ($sNamespace) + public function enablePlugin($sNamespace) { foreach ($this->_aPluginDetails as $namespace => $detail) { if ($sNamespace == $namespace) { - $this->registerFolder( $sNamespace, $sNamespace, $detail->sPluginFolder ); + $this->registerFolder($sNamespace, $sNamespace, $detail->sPluginFolder); //register the default directory, later we can have more $this->_aPluginDetails[$sNamespace]->enabled = true; if (class_exists($detail->sClassName)) { - $oPlugin = new $detail->sClassName( $detail->sNamespace, $detail->sFilename ); + $oPlugin = new $detail->sClassName($detail->sNamespace, $detail->sFilename); } else { $oPlugin = $detail; } $this->_aPlugins[$detail->sNamespace] = $oPlugin; - if (method_exists( $oPlugin, 'enable' )) { + if (method_exists($oPlugin, 'enable')) { $oPlugin->enable(); } @@ -207,7 +207,7 @@ class PMPluginRegistry return true; } } - throw new Exception( "Unable to enable plugin '$sNamespace' (plugin not found)" ); + throw new Exception("Unable to enable plugin '$sNamespace' (plugin not found)"); } /** @@ -215,7 +215,7 @@ class PMPluginRegistry * * @param unknown_type $sNamespace */ - public function disablePlugin ($sNamespace, $eventPlugin = 1) + public function disablePlugin($sNamespace, $eventPlugin = 1) { //require_once PATH_CORE . 'methods' . PATH_SEP . 'enterprise' . PATH_SEP . 'enterprise.php'; $sw = false; @@ -223,7 +223,7 @@ class PMPluginRegistry foreach ($this->_aPluginDetails as $namespace => $detail) { if ($namespace == $sNamespace) { //G::pr($detail);die; - unset( $this->_aPluginDetails[$sNamespace] ); + unset($this->_aPluginDetails[$sNamespace]); if ($eventPlugin == 1) { //$plugin = new $detail->sClassName( $detail->sNamespace, $detail->sFilename ); @@ -244,73 +244,73 @@ class PMPluginRegistry } } - if (! $sw) { - throw new Exception( "Unable to disable plugin '$sNamespace' (plugin not found)" ); + if (!$sw) { + throw new Exception("Unable to disable plugin '$sNamespace' (plugin not found)"); } foreach ($this->_aMenus as $key => $detail) { if ($detail->sNamespace == $sNamespace) { - unset( $this->_aMenus[$key] ); + unset($this->_aMenus[$key]); } } foreach ($this->_aFolders as $key => $detail) { if ($detail->sNamespace == $sNamespace) { - unset( $this->_aFolders[$key] ); + unset($this->_aFolders[$key]); } } foreach ($this->_aTriggers as $key => $detail) { if ($detail->sNamespace == $sNamespace) { - unset( $this->_aTriggers[$key] ); + unset($this->_aTriggers[$key]); } } foreach ($this->_aDashlets as $key => $detail) { if ($detail == $sNamespace) { - unset( $this->_aDashlets[$key] ); + unset($this->_aDashlets[$key]); } } foreach ($this->_aReports as $key => $detail) { if ($detail == $sNamespace) { - unset( $this->_aReports[$key] ); + unset($this->_aReports[$key]); } } foreach ($this->_aPmFunctions as $key => $detail) { if ($detail == $sNamespace) { - unset( $this->_aPmFunctions[$key] ); + unset($this->_aPmFunctions[$key]); } } foreach ($this->_aRedirectLogin as $key => $detail) { if ($detail->sNamespace == $sNamespace) { - unset( $this->_aRedirectLogin[$key] ); + unset($this->_aRedirectLogin[$key]); } } foreach ($this->_aSteps as $key => $detail) { if ($detail->sNamespace == $sNamespace) { - unset( $this->_aSteps[$key] ); + unset($this->_aSteps[$key]); } } foreach ($this->_aToolbarFiles as $key => $detail) { if ($detail->sNamespace == $sNamespace) { - unset( $this->_aToolbarFiles[$key] ); + unset($this->_aToolbarFiles[$key]); } } foreach ($this->_aCSSStyleSheets as $key => $detail) { if ($detail->sNamespace == $sNamespace) { - unset( $this->_aCSSStyleSheets[$key] ); + unset($this->_aCSSStyleSheets[$key]); } } foreach ($this->_aCaseSchedulerPlugin as $key => $detail) { if ($detail->sNamespace == $sNamespace) { - unset( $this->_aCaseSchedulerPlugin[$key] ); + unset($this->_aCaseSchedulerPlugin[$key]); } } foreach ($this->_aTaskExtendedProperties as $key => $detail) { if ($detail->sNamespace == $sNamespace) { - unset( $this->_aTaskExtendedProperties[$key] ); + unset($this->_aTaskExtendedProperties[$key]); } } foreach ($this->_aDashboardPages as $key => $detail) { if ($detail->sNamespace == $sNamespace) { - unset( $this->_aDashboardPages[$key] ); + unset($this->_aDashboardPages[$key]); } } @@ -319,32 +319,32 @@ class PMPluginRegistry unset($this->_arrayDesignerMenu[$key]); } } - + foreach ($this->_arrayDesignerSourcePath as $key => $detail) { if ($detail->pluginName == $sNamespace) { unset($this->_arrayDesignerSourcePath[$key]); } } - if(sizeof( $this->_aMenuOptionsToReplace )){ - unset( $this->_aMenuOptionsToReplace ); + if (count($this->_aMenuOptionsToReplace)) { + unset($this->_aMenuOptionsToReplace); } - if(sizeof( $this->_aImportProcessCallbackFile )){ - unset( $this->_aImportProcessCallbackFile ); + if (count($this->_aImportProcessCallbackFile)) { + unset($this->_aImportProcessCallbackFile); } - if(sizeof( $this->_aOpenReassignCallback )){ - unset( $this->_aOpenReassignCallback ); + if (count($this->_aOpenReassignCallback)) { + unset($this->_aOpenReassignCallback); } - if (sizeof($this->_restExtendServices)) { + if (count($this->_restExtendServices)) { $this->disableExtendsRestService($sNamespace); } //unregistering javascripts from this plugin - $this->unregisterJavascripts( $sNamespace ); + $this->unregisterJavascripts($sNamespace); //unregistering rest services from this plugin - $this->unregisterRestService( $sNamespace ); + $this->unregisterRestService($sNamespace); } /** @@ -357,7 +357,7 @@ class PMPluginRegistry public function getStatusPlugin($name) { try { - return (isset($this->_aPluginDetails[$name]))? (($this->_aPluginDetails[$name]->enabled)? "enabled" : "disabled") : 0; + return (isset($this->_aPluginDetails[$name])) ? (($this->_aPluginDetails[$name]->enabled) ? "enabled" : "disabled") : 0; } catch (Excepton $e) { throw $e; } @@ -370,30 +370,30 @@ class PMPluginRegistry * * @return bool true if enabled, false otherwise */ - public function installPluginArchive ($filename, $pluginName) + public function installPluginArchive($filename, $pluginName) { - $tar = new Archive_Tar( $filename ); + $tar = new Archive_Tar($filename); $files = $tar->listContent(); - $plugins = array (); - $namePlugin = array (); + $plugins = array(); + $namePlugin = array(); foreach ($files as $f) { if (preg_match("/^([\w\.]*).ini$/", $f["filename"], $matches)) { - //if (preg_match( "/^(.*pluginConfig)\.ini$/", $f["filename"], $matches )) { + //if (preg_match( "/^(.*pluginConfig)\.ini$/", $f["filename"], $matches )) { $plugins[] = $matches[1]; } - if (preg_match( "/^.*($pluginName)\.php$/", $f["filename"], $matches )) { + if (preg_match("/^.*($pluginName)\.php$/", $f["filename"], $matches)) { $namePlugin[] = $matches[1]; } } - if (count( $plugins ) > 1) { - throw new Exception( "Multiple plugins in one archive are not supported currently" ); + if (count($plugins) > 1) { + throw new Exception("Multiple plugins in one archive are not supported currently"); } //if (isset($pluginName) && !in_array($pluginName, $plugins)) { - if (isset( $pluginName ) && ! in_array( $pluginName, $namePlugin )) { - throw new Exception( "Plugin '$pluginName' not found in archive" ); + if (isset($pluginName) && !in_array($pluginName, $namePlugin)) { + throw new Exception("Plugin '$pluginName' not found in archive"); } //$pluginName = $plugins[0]; @@ -433,30 +433,30 @@ class PMPluginRegistry } */ - $res = $tar->extract( PATH_PLUGINS ); - if (! file_exists( PATH_PLUGINS . $pluginFile )) { - throw (new Exception( "File \"$pluginFile\" doesn't exist" )); + $res = $tar->extract(PATH_PLUGINS); + if (!file_exists(PATH_PLUGINS . $pluginFile)) { + throw (new Exception("File \"$pluginFile\" doesn't exist")); } $filter = new InputFilter(); $path = PATH_PLUGINS . $pluginFile; //$path = $filter->validateInput($path, 'path'); - require_once ($path); - $details = $this->getPluginDetails( $pluginFile ); + require_once($path); + $details = $this->getPluginDetails($pluginFile); - $this->installPlugin( $details->sNamespace ); + $this->installPlugin($details->sNamespace); $this->setupPlugins(); - $this->enablePlugin( $details->sNamespace ); + $this->enablePlugin($details->sNamespace); $this->save(); } - public function uninstallPlugin ($sNamespace) + public function uninstallPlugin($sNamespace) { $pluginFile = $sNamespace . ".php"; - if (! file_exists( PATH_PLUGINS . $pluginFile )) { - throw (new Exception( "File \"$pluginFile\" doesn't exist" )); + if (!file_exists(PATH_PLUGINS . $pluginFile)) { + throw (new Exception("File \"$pluginFile\" doesn't exist")); } /////// @@ -464,18 +464,18 @@ class PMPluginRegistry $filter = new InputFilter(); $path = $filter->validateInput($path, 'path'); - require_once ($path); + require_once($path); foreach ($this->_aPluginDetails as $namespace => $detail) { if ($namespace == $sNamespace) { - $this->enablePlugin( $detail->sNamespace ); - $this->disablePlugin( $detail->sNamespace ); + $this->enablePlugin($detail->sNamespace); + $this->disablePlugin($detail->sNamespace); /////// - $plugin = new $detail->sClassName( $detail->sNamespace, $detail->sFilename ); + $plugin = new $detail->sClassName($detail->sNamespace, $detail->sFilename); $this->_aPlugins[$detail->sNamespace] = $plugin; - if (method_exists( $plugin, "uninstall" )) { + if (method_exists($plugin, "uninstall")) { $plugin->uninstall(); } @@ -484,46 +484,46 @@ class PMPluginRegistry /////// $pluginDir = PATH_PLUGINS . $detail->sPluginFolder; - if (isset( $detail->sFilename ) && ! empty( $detail->sFilename ) && file_exists( $detail->sFilename )) { - unlink( $detail->sFilename ); + if (isset($detail->sFilename) && !empty($detail->sFilename) && file_exists($detail->sFilename)) { + unlink($detail->sFilename); } - if (isset( $detail->sPluginFolder ) && ! empty( $detail->sPluginFolder ) && file_exists( $pluginDir )) { - G::rm_dir( $pluginDir ); + if (isset($detail->sPluginFolder) && !empty($detail->sPluginFolder) && file_exists($pluginDir)) { + G::rm_dir($pluginDir); } /////// - $this->uninstallPluginWorkspaces( array ($sNamespace - ) ); + $this->uninstallPluginWorkspaces(array($sNamespace + )); /////// break; } } } - public function uninstallPluginWorkspaces ($arrayPlugin) + public function uninstallPluginWorkspaces($arrayPlugin) { $workspace = System::listWorkspaces(); foreach ($workspace as $indexWS => $ws) { $wsPathDataSite = PATH_DATA . "sites" . PATH_SEP . $ws->name . PATH_SEP; - if (file_exists( $wsPathDataSite . "plugin.singleton" )) { + if (file_exists($wsPathDataSite . "plugin.singleton")) { $pluginRegistry = &PMPluginRegistry::getSingleton(); - $pluginRegistry->unSerializeInstance( file_get_contents( $wsPathDataSite . "plugin.singleton" ) ); + $pluginRegistry->unSerializeInstance(file_get_contents($wsPathDataSite . "plugin.singleton")); /////// $attributes = $pluginRegistry->getAttributes(); foreach ($arrayPlugin as $index => $value) { - if (isset( $attributes["_aPluginDetails"][$value] )) { - $pluginRegistry->disablePlugin( $value, 0 ); + if (isset($attributes["_aPluginDetails"][$value])) { + $pluginRegistry->disablePlugin($value, 0); } } /////// - file_put_contents( $wsPathDataSite . "plugin.singleton", $pluginRegistry->serializeInstance() ); + file_put_contents($wsPathDataSite . "plugin.singleton", $pluginRegistry->serializeInstance()); } } } @@ -533,12 +533,12 @@ class PMPluginRegistry * * @param unknown_type $sNamespace */ - public function installPlugin ($sNamespace) + public function installPlugin($sNamespace) { try { foreach ($this->_aPluginDetails as $namespace => $detail) { if ($sNamespace == $namespace) { - $oPlugin = new $detail->sClassName( $detail->sNamespace, $detail->sFilename ); + $oPlugin = new $detail->sClassName($detail->sNamespace, $detail->sFilename); $this->_aPlugins[$detail->sNamespace] = $oPlugin; $oPlugin->install(); } @@ -547,8 +547,8 @@ class PMPluginRegistry global $G_PUBLISH; $aMessage['MESSAGE'] = $e->getMessage(); $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage ); - G::RenderPage( 'publish' ); + $G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage); + G::RenderPage('publish'); die(); } @@ -561,7 +561,7 @@ class PMPluginRegistry * @param unknown_type $sMenuId * @param unknown_type $sFilename */ - public function registerMenu ($sNamespace, $sMenuId, $sFilename) + public function registerMenu($sNamespace, $sMenuId, $sFilename) { $found = false; foreach ($this->_aMenus as $row => $detail) { @@ -569,8 +569,8 @@ class PMPluginRegistry $found = true; } } - if (! $found) { - $menuDetail = new menuDetail( $sNamespace, $sMenuId, $sFilename ); + if (!$found) { + $menuDetail = new menuDetail($sNamespace, $sMenuId, $sFilename); $this->_aMenus[] = $menuDetail; } } @@ -580,7 +580,7 @@ class PMPluginRegistry * * @param unknown_type $className */ - public function registerDashlets ($namespace) + public function registerDashlets($namespace) { $found = false; foreach ($this->_aDashlets as $row => $detail) { @@ -588,7 +588,7 @@ class PMPluginRegistry $found = true; } } - if (! $found) { + if (!$found) { $this->_aDashlets[] = $namespace; } } @@ -599,7 +599,7 @@ class PMPluginRegistry * @param unknown_type $sNamespace * @param unknown_type $sPage */ - public function registerCss ($sNamespace, $sCssFile) + public function registerCss($sNamespace, $sCssFile) { $found = false; foreach ($this->_aCSSStyleSheets as $row => $detail) { @@ -608,8 +608,8 @@ class PMPluginRegistry $found = true; } } - if (! $found) { - $cssFile = new cssFile( $sNamespace, $sCssFile ); + if (!$found) { + $cssFile = new cssFile($sNamespace, $sCssFile); $this->_aCSSStyleSheets[] = $cssFile; } } @@ -619,7 +619,7 @@ class PMPluginRegistry * * @return array */ - public function getRegisteredCss () + public function getRegisteredCss() { return $this->_aCSSStyleSheets; } @@ -629,21 +629,21 @@ class PMPluginRegistry * * @param string $sNamespace * @param string $coreJsFile - * @param array/string $pluginJsFile + * @param array /string $pluginJsFile */ - public function registerJavascript ($sNamespace, $sCoreJsFile, $pluginJsFile) + public function registerJavascript($sNamespace, $sCoreJsFile, $pluginJsFile) { foreach ($this->_aJavascripts as $i => $js) { if ($sCoreJsFile == $js->sCoreJsFile && $sNamespace == $js->sNamespace) { - if (is_string( $pluginJsFile )) { - if (! in_array( $pluginJsFile, $this->_aJavascripts[$i]->pluginJsFile )) { + if (is_string($pluginJsFile)) { + if (!in_array($pluginJsFile, $this->_aJavascripts[$i]->pluginJsFile)) { $this->_aJavascripts[$i]->pluginJsFile[] = $pluginJsFile; } - } elseif (is_array( $pluginJsFile )) { - $this->_aJavascripts[$i]->pluginJsFile = array_unique( array_merge( $pluginJsFile, $this->_aJavascripts[$i]->pluginJsFile ) ); + } elseif (is_array($pluginJsFile)) { + $this->_aJavascripts[$i]->pluginJsFile = array_unique(array_merge($pluginJsFile, $this->_aJavascripts[$i]->pluginJsFile)); } else { - throw new Exception( 'Invalid third param, $pluginJsFile should be a string or array - ' . gettype( $pluginJsFile ) . ' given.' ); + throw new Exception('Invalid third param, $pluginJsFile should be a string or array - ' . gettype($pluginJsFile) . ' given.'); } return $this->_aJavascripts[$i]; } @@ -652,14 +652,14 @@ class PMPluginRegistry $js = new StdClass(); $js->sNamespace = $sNamespace; $js->sCoreJsFile = $sCoreJsFile; - $js->pluginJsFile = Array (); + $js->pluginJsFile = Array(); - if (is_string( $pluginJsFile )) { + if (is_string($pluginJsFile)) { $js->pluginJsFile[] = $pluginJsFile; - } elseif (is_array( $pluginJsFile )) { - $js->pluginJsFile = array_merge( $js->pluginJsFile, $pluginJsFile ); + } elseif (is_array($pluginJsFile)) { + $js->pluginJsFile = array_merge($js->pluginJsFile, $pluginJsFile); } else { - throw new Exception( 'Invalid third param, $pluginJsFile should be a string or array - ' . gettype( $pluginJsFile ) . ' given.' ); + throw new Exception('Invalid third param, $pluginJsFile should be a string or array - ' . gettype($pluginJsFile) . ' given.'); } $this->_aJavascripts[] = $js; @@ -670,7 +670,7 @@ class PMPluginRegistry * * @return array */ - public function getRegisteredJavascript () + public function getRegisteredJavascript() { return $this->_aJavascripts; } @@ -682,20 +682,20 @@ class PMPluginRegistry * @param string $sNamespace * @return array */ - public function getRegisteredJavascriptBy ($sCoreJsFile, $sNamespace = '') + public function getRegisteredJavascriptBy($sCoreJsFile, $sNamespace = '') { - $scripts = array (); + $scripts = array(); if ($sNamespace == '') { foreach ($this->_aJavascripts as $i => $js) { if ($sCoreJsFile == $js->sCoreJsFile) { - $scripts = array_merge( $scripts, $this->_aJavascripts[$i]->pluginJsFile ); + $scripts = array_merge($scripts, $this->_aJavascripts[$i]->pluginJsFile); } } } else { foreach ($this->_aJavascripts as $i => $js) { if ($sCoreJsFile == $js->sCoreJsFile && $sNamespace == $js->sNamespace) { - $scripts = array_merge( $scripts, $this->_aJavascripts[$i]->pluginJsFile ); + $scripts = array_merge($scripts, $this->_aJavascripts[$i]->pluginJsFile); } } } @@ -709,23 +709,23 @@ class PMPluginRegistry * @param string $sCoreJsFile * @return array */ - public function unregisterJavascripts ($sNamespace, $sCoreJsFile = '') + public function unregisterJavascripts($sNamespace, $sCoreJsFile = '') { if ($sCoreJsFile == '') { // if $sCoreJsFile=='' unregister all js from this namespace foreach ($this->_aJavascripts as $i => $js) { if ($sNamespace == $js->sNamespace) { - unset( $this->_aJavascripts[$i] ); + unset($this->_aJavascripts[$i]); } } // Re-index when all js were unregistered - $this->_aJavascripts = array_values( $this->_aJavascripts ); + $this->_aJavascripts = array_values($this->_aJavascripts); } else { foreach ($this->_aJavascripts as $i => $js) { if ($sCoreJsFile == $js->sCoreJsFile && $sNamespace == $js->sNamespace) { - unset( $this->_aJavascripts[$i] ); + unset($this->_aJavascripts[$i]); // Re-index for each js that was unregistered - $this->_aJavascripts = array_values( $this->_aJavascripts ); + $this->_aJavascripts = array_values($this->_aJavascripts); } } } @@ -738,7 +738,7 @@ class PMPluginRegistry * @param unknown_type $sMenuId * @param unknown_type $sFilename */ - public function registerReport ($sNamespace) + public function registerReport($sNamespace) { $found = false; foreach ($this->_aReports as $row => $detail) { @@ -746,7 +746,7 @@ class PMPluginRegistry $found = true; } } - if (! $found) { + if (!$found) { $this->_aReports[] = $sNamespace; } } @@ -758,7 +758,7 @@ class PMPluginRegistry * @param unknown_type $sMenuId * @param unknown_type $sFilename */ - public function registerPmFunction ($sNamespace) + public function registerPmFunction($sNamespace) { $found = false; foreach ($this->_aPmFunctions as $row => $detail) { @@ -766,7 +766,7 @@ class PMPluginRegistry $found = true; } } - if (! $found) { + if (!$found) { $this->_aPmFunctions[] = $sNamespace; } } @@ -778,7 +778,7 @@ class PMPluginRegistry * @param unknown_type $sRole * @param unknown_type $sPath */ - public function registerRedirectLogin ($sNamespace, $sRole, $sPathMethod) + public function registerRedirectLogin($sNamespace, $sRole, $sPathMethod) { $found = false; foreach ($this->_aRedirectLogin as $row => $detail) { @@ -787,8 +787,8 @@ class PMPluginRegistry $found = true; } } - if (! $found) { - $this->_aRedirectLogin[] = new redirectDetail( $sNamespace, $sRole, $sPathMethod ); + if (!$found) { + $this->_aRedirectLogin[] = new redirectDetail($sNamespace, $sRole, $sPathMethod); } } @@ -797,7 +797,7 @@ class PMPluginRegistry * * @param unknown_type $sFolderName */ - public function registerFolder ($sNamespace, $sFolderId, $sFolderName) + public function registerFolder($sNamespace, $sFolderId, $sFolderName) { $found = false; foreach ($this->_aFolders as $row => $detail) { @@ -806,8 +806,8 @@ class PMPluginRegistry } } - if (! $found) { - $this->_aFolders[] = new folderDetail( $sNamespace, $sFolderId, $sFolderName ); + if (!$found) { + $this->_aFolders[] = new folderDetail($sNamespace, $sFolderId, $sFolderName); } } @@ -816,7 +816,7 @@ class PMPluginRegistry * * @param unknown_type $sFolderName */ - public function registerStep ($sNamespace, $sStepId, $sStepName, $sStepTitle, $setupStepPage = '') + public function registerStep($sNamespace, $sStepId, $sStepName, $sStepTitle, $setupStepPage = '') { $found = false; foreach ($this->_aSteps as $row => $detail) { @@ -825,8 +825,8 @@ class PMPluginRegistry } } - if (! $found) { - $this->_aSteps[] = new stepDetail( $sNamespace, $sStepId, $sStepName, $sStepTitle, $setupStepPage ); + if (!$found) { + $this->_aSteps[] = new stepDetail($sNamespace, $sStepId, $sStepName, $sStepTitle, $setupStepPage); } } @@ -835,12 +835,12 @@ class PMPluginRegistry * * @param unknown_type $sFolderName */ - public function isRegisteredFolder ($sFolderName) + public function isRegisteredFolder($sFolderName) { foreach ($this->_aFolders as $row => $folder) { - if ($sFolderName == $folder->sFolderName && is_dir( PATH_PLUGINS . $folder->sFolderName )) { + if ($sFolderName == $folder->sFolderName && is_dir(PATH_PLUGINS . $folder->sFolderName)) { return true; - } elseif ($sFolderName == $folder->sFolderName && is_dir( PATH_PLUGINS . $folder->sNamespace . PATH_SEP . $folder->sFolderName )) { + } elseif ($sFolderName == $folder->sFolderName && is_dir(PATH_PLUGINS . $folder->sNamespace . PATH_SEP . $folder->sFolderName)) { return $folder->sNamespace; } } @@ -852,11 +852,11 @@ class PMPluginRegistry * * @param unknown_type $menuId */ - public function getMenus ($menuId) + public function getMenus($menuId) { foreach ($this->_aMenus as $row => $detail) { - if ($menuId == $detail->sMenuId && file_exists( $detail->sFilename )) { - include ($detail->sFilename); + if ($menuId == $detail->sMenuId && file_exists($detail->sFilename)) { + include($detail->sFilename); } } } @@ -866,7 +866,7 @@ class PMPluginRegistry * * @return array */ - public function getDashlets () + public function getDashlets() { return $this->_aDashlets; } @@ -876,12 +876,12 @@ class PMPluginRegistry * * @return array */ - public function getReports () + public function getReports() { return $this->_aReports; - $report = array (); + $report = array(); foreach ($this->_aReports as $row => $detail) { - $sClassName = str_replace( 'plugin', 'class', $this->_aPluginDetails[$detail]->sClassName ); + $sClassName = str_replace('plugin', 'class', $this->_aPluginDetails[$detail]->sClassName); $report[] = $sClassName; } return $report; @@ -891,12 +891,12 @@ class PMPluginRegistry * This function returns all pmFunctions registered * @ array */ - public function getPmFunctions () + public function getPmFunctions() { return $this->_aPmFunctions; - $pmf = array (); + $pmf = array(); foreach ($this->_aPmFunctions as $row => $detail) { - $sClassName = str_replace( 'plugin', 'class', $this->_aPluginDetails[$detail]->sClassName ); + $sClassName = str_replace('plugin', 'class', $this->_aPluginDetails[$detail]->sClassName); $pmf[] = $sClassName; } return $pmf; @@ -907,7 +907,7 @@ class PMPluginRegistry * * @return string */ - public function getSteps () + public function getSteps() { return $this->_aSteps; } @@ -917,7 +917,7 @@ class PMPluginRegistry * * @return string */ - public function getRedirectLogins () + public function getRedirectLogins() { return $this->_aRedirectLogin; } @@ -928,7 +928,7 @@ class PMPluginRegistry * @param unknown_type $menuId * @return object */ - public function executeTriggers ($triggerId, $oData) + public function executeTriggers($triggerId, $oData) { foreach ($this->_aTriggers as $row => $detail) { @@ -939,18 +939,18 @@ class PMPluginRegistry foreach ($this->_aFolders as $row => $folder) { $fname = $folder->sNamespace == 'enterprise' ? PATH_CORE . 'classes' . PATH_SEP . 'class.' . $folder->sFolderName . '.php' : PATH_PLUGINS . $folder->sFolderName . PATH_SEP . 'class.' . $folder->sFolderName . '.php'; - if ($detail->sNamespace == $folder->sNamespace && file_exists( $fname )) { + if ($detail->sNamespace == $folder->sNamespace && file_exists($fname)) { $found = true; $classFile = $fname; } } if ($found) { - require_once ($classFile); - $sClassName = substr( $this->_aPluginDetails[$detail->sNamespace]->sClassName, 0, 1 ) . str_replace( 'plugin', 'class', substr( $this->_aPluginDetails[$detail->sNamespace]->sClassName, 1 ) ); + require_once($classFile); + $sClassName = substr($this->_aPluginDetails[$detail->sNamespace]->sClassName, 0, 1) . str_replace('plugin', 'class', substr($this->_aPluginDetails[$detail->sNamespace]->sClassName, 1)); $obj = new $sClassName(); $methodName = $detail->sTriggerName; - $response = $obj->{$methodName}( $oData ); - if (PEAR::isError( $response )) { + $response = $obj->{$methodName}($oData); + if (PEAR::isError($response)) { print $response->getMessage(); return; } @@ -967,7 +967,7 @@ class PMPluginRegistry * * @param unknown_type $triggerId */ - public function existsTrigger ($triggerId) + public function existsTrigger($triggerId) { $found = false; foreach ($this->_aTriggers as $row => $detail) { @@ -975,7 +975,7 @@ class PMPluginRegistry //review all folders registered for this namespace foreach ($this->_aFolders as $row => $folder) { $fname = $folder->sNamespace == 'enterprise' ? PATH_CORE . 'classes' . PATH_SEP . 'class.' . $folder->sFolderName . '.php' : PATH_PLUGINS . $folder->sFolderName . PATH_SEP . 'class.' . $folder->sFolderName . '.php'; - if ($detail->sNamespace == $folder->sNamespace && file_exists( $fname )) { + if ($detail->sNamespace == $folder->sNamespace && file_exists($fname)) { $found = true; } } @@ -991,7 +991,7 @@ class PMPluginRegistry * @param unknown_type $triggerId * @return object */ - public function getTriggerInfo ($triggerId) + public function getTriggerInfo($triggerId) { $found = null; foreach ($this->_aTriggers as $row => $detail) { @@ -999,7 +999,7 @@ class PMPluginRegistry //review all folders registered for this namespace foreach ($this->_aFolders as $row => $folder) { $fname = PATH_PLUGINS . $folder->sFolderName . PATH_SEP . 'class.' . $folder->sFolderName . '.php'; - if ($detail->sNamespace == $folder->sNamespace && file_exists( $fname )) { + if ($detail->sNamespace == $folder->sNamespace && file_exists($fname)) { $found = $detail; } } @@ -1015,7 +1015,7 @@ class PMPluginRegistry * @param unknown_type $sMethodFunction * @return void */ - public function registerTrigger ($sNamespace, $sTriggerId, $sTriggerName) + public function registerTrigger($sNamespace, $sTriggerId, $sTriggerName) { $found = false; foreach ($this->_aTriggers as $row => $detail) { @@ -1023,8 +1023,8 @@ class PMPluginRegistry $found = true; } } - if (! $found) { - $triggerDetail = new triggerDetail( $sNamespace, $sTriggerId, $sTriggerName ); + if (!$found) { + $triggerDetail = new triggerDetail($sNamespace, $sTriggerId, $sTriggerName); $this->_aTriggers[] = $triggerDetail; } } @@ -1035,10 +1035,10 @@ class PMPluginRegistry * @param unknown_type $sNamespace * @return void */ - public function &getPlugin ($sNamespace) + public function &getPlugin($sNamespace) { $oPlugin = null; - if (array_key_exists( $sNamespace, $this->_aPlugins )) { + if (array_key_exists($sNamespace, $this->_aPlugins)) { $oPlugin = $this->_aPlugins[$sNamespace]; } /* @@ -1065,7 +1065,7 @@ class PMPluginRegistry * @param unknown_type $filename * @return void */ - public function setCompanyLogo ($sNamespace, $filename) + public function setCompanyLogo($sNamespace, $filename) { $found = false; foreach ($this->_aPluginDetails as $row => $detail) { @@ -1081,11 +1081,11 @@ class PMPluginRegistry * @param unknown_type $default * @return void */ - public function getCompanyLogo ($default) + public function getCompanyLogo($default) { $sCompanyLogo = $default; foreach ($this->_aPluginDetails as $row => $detail) { - if (trim( $detail->sCompanyLogo ) != '') { + if (trim($detail->sCompanyLogo) != '') { $sCompanyLogo = $detail->sCompanyLogo; } } @@ -1098,25 +1098,25 @@ class PMPluginRegistry * @param unknown_type $default * @return void */ - public function setupPlugins () + public function setupPlugins() { try { $iPlugins = 0; - $oServerConf = & ServerConf::getSingleton(); - $oServerConf->addPlugin( SYS_SYS, $this->_aPluginDetails ); + $oServerConf = &ServerConf::getSingleton(); + $oServerConf->addPlugin(SYS_SYS, $this->_aPluginDetails); foreach ($this->_aPluginDetails as $namespace => $detail) { - if (isset( $detail->enabled ) && $detail->enabled) { - if (! empty( $detail->sFilename ) && file_exists( $detail->sFilename )) { + if (isset($detail->enabled) && $detail->enabled) { + if (!empty($detail->sFilename) && file_exists($detail->sFilename)) { $arrayFileInfo = pathinfo($detail->sFilename); - $sFilename = (($detail->sNamespace == "enterprise")? PATH_CORE. "methods" . PATH_SEP . "enterprise" . PATH_SEP : PATH_PLUGINS) . $arrayFileInfo["basename"]; - if (! file_exists( $sFilename )) { + $sFilename = (($detail->sNamespace == "enterprise") ? PATH_CORE . "methods" . PATH_SEP . "enterprise" . PATH_SEP : PATH_PLUGINS) . $arrayFileInfo["basename"]; + if (!file_exists($sFilename)) { continue; } require_once $sFilename; - if (class_exists( $detail->sClassName )) { - $oPlugin = new $detail->sClassName( $detail->sNamespace, $detail->sFilename ); + if (class_exists($detail->sClassName)) { + $oPlugin = new $detail->sClassName($detail->sNamespace, $detail->sFilename); $this->_aPlugins[$detail->sNamespace] = $oPlugin; - $iPlugins ++; + $iPlugins++; $oPlugin->setup(); } } @@ -1128,8 +1128,8 @@ class PMPluginRegistry global $G_PUBLISH; $aMessage['MESSAGE'] = $e->getMessage(); $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage ); - G::RenderPage( 'publish' ); + $G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage); + G::RenderPage('publish'); die(); } } @@ -1142,7 +1142,7 @@ class PMPluginRegistry * @param object $oData * @return object */ - public function executeMethod ($sNamespace, $methodName, $oData) + public function executeMethod($sNamespace, $methodName, $oData) { $response = null; try { @@ -1150,15 +1150,15 @@ class PMPluginRegistry $pluginFolder = $details->sPluginFolder; $className = $details->sClassName; $classFile = PATH_PLUGINS . $pluginFolder . PATH_SEP . 'class.' . $pluginFolder . '.php'; - if (file_exists( $classFile )) { - $sClassName = substr_replace( $className, "class", - 6, 6 ); + if (file_exists($classFile)) { + $sClassName = substr_replace($className, "class", -6, 6); //$sClassName = str_replace ( 'plugin', 'class', $className ); - if (! class_exists( $sClassName )) { + if (!class_exists($sClassName)) { require_once $classFile; } $obj = new $sClassName(); - if (! in_array( $methodName, get_class_methods( $obj ) )) { - throw (new Exception( "The method '$methodName' doesn't exist in class '$sClassName' " )); + if (!in_array($methodName, get_class_methods($obj))) { + throw (new Exception("The method '$methodName' doesn't exist in class '$sClassName' ")); } $obj->sNamespace = $details->sNamespace; $obj->sClassName = $details->sClassName; @@ -1166,7 +1166,7 @@ class PMPluginRegistry $obj->iVersion = $details->iVersion; $obj->sFriendlyName = $details->sFriendlyName; $obj->sPluginFolder = $details->sPluginFolder; - $response = $obj->{$methodName}( $oData ); + $response = $obj->{$methodName}($oData); } return $response; } catch (Exception $e) { @@ -1180,10 +1180,10 @@ class PMPluginRegistry * @param string $sNamespace * @return object */ - public function getFieldsForPageSetup ($sNamespace) + public function getFieldsForPageSetup($sNamespace) { $oData = null; - return $this->executeMethod( $sNamespace, 'getFieldsForPageSetup', $oData ); + return $this->executeMethod($sNamespace, 'getFieldsForPageSetup', $oData); } /** @@ -1192,26 +1192,26 @@ class PMPluginRegistry * @param string $sNamespace * @return void */ - public function updateFieldsForPageSetup ($sNamespace, $oData) + public function updateFieldsForPageSetup($sNamespace, $oData) { - if (! isset( $this->_aPluginDetails[$sNamespace] )) { - throw (new Exception( "The namespace '$sNamespace' doesn't exist in plugins folder." )); + if (!isset($this->_aPluginDetails[$sNamespace])) { + throw (new Exception("The namespace '$sNamespace' doesn't exist in plugins folder.")); } - return $this->executeMethod( $sNamespace, 'updateFieldsForPageSetup', $oData ); + return $this->executeMethod($sNamespace, 'updateFieldsForPageSetup', $oData); } - public function eevalidate () + public function eevalidate() { $fileL = PATH_DATA_SITE . 'license.dat'; $fileS = PATH_DATA . 'license.dat'; - if ((file_exists( $fileL )) || (file_exists( $fileS ))) { + if ((file_exists($fileL)) || (file_exists($fileS))) { //Found a License - if (class_exists( 'pmLicenseManager' )) { + if (class_exists('pmLicenseManager')) { $sSerializedFile = PATH_DATA_SITE . 'lmn.singleton'; - $pmLicenseManagerO = & PmLicenseManager::getSingleton(); - if (file_exists( $sSerializedFile )) { - $pmLicenseManagerO->unSerializeInstance( file_get_contents( $sSerializedFile ) ); + $pmLicenseManagerO = &PmLicenseManager::getSingleton(); + if (file_exists($sSerializedFile)) { + $pmLicenseManagerO->unSerializeInstance(file_get_contents($sSerializedFile)); } } } @@ -1224,7 +1224,7 @@ class PMPluginRegistry * @param unknown_type $sToolbarId * @param unknown_type $sFilename */ - public function registerToolbarFile ($sNamespace, $sToolbarId, $sFilename) + public function registerToolbarFile($sNamespace, $sToolbarId, $sFilename) { $found = false; foreach ($this->_aToolbarFiles as $row => $detail) { @@ -1232,8 +1232,8 @@ class PMPluginRegistry $found = true; } } - if (! $found) { - $toolbarDetail = new toolbarDetail( $sNamespace, $sToolbarId, $sFilename ); + if (!$found) { + $toolbarDetail = new toolbarDetail($sNamespace, $sToolbarId, $sFilename); $this->_aToolbarFiles[] = $toolbarDetail; } } @@ -1243,11 +1243,11 @@ class PMPluginRegistry * * @param unknown_type $sToolbarId (NORMAL, GRID) */ - public function getToolbarOptions ($sToolbarId) + public function getToolbarOptions($sToolbarId) { foreach ($this->_aToolbarFiles as $row => $detail) { - if ($sToolbarId == $detail->sToolbarId && file_exists( $detail->sFilename )) { - include ($detail->sFilename); + if ($sToolbarId == $detail->sToolbarId && file_exists($detail->sFilename)) { + include($detail->sFilename); } } } @@ -1255,7 +1255,7 @@ class PMPluginRegistry /** * Register a Case Scheduler Plugin */ - public function registerCaseSchedulerPlugin ($sNamespace, $sActionId, $sActionForm, $sActionSave, $sActionExecute, $sActionGetFields) + public function registerCaseSchedulerPlugin($sNamespace, $sActionId, $sActionForm, $sActionSave, $sActionExecute, $sActionGetFields) { $found = false; foreach ($this->_aCaseSchedulerPlugin as $row => $detail) { @@ -1264,8 +1264,8 @@ class PMPluginRegistry } } - if (! $found) { - $this->_aCaseSchedulerPlugin[] = new caseSchedulerPlugin( $sNamespace, $sActionId, $sActionForm, $sActionSave, $sActionExecute, $sActionGetFields ); + if (!$found) { + $this->_aCaseSchedulerPlugin[] = new caseSchedulerPlugin($sNamespace, $sActionId, $sActionForm, $sActionSave, $sActionExecute, $sActionGetFields); } } @@ -1274,7 +1274,7 @@ class PMPluginRegistry * * @return string */ - public function getCaseSchedulerPlugins () + public function getCaseSchedulerPlugins() { return $this->_aCaseSchedulerPlugin; } @@ -1286,7 +1286,7 @@ class PMPluginRegistry * @param unknown_type $sPage */ - public function registerTaskExtendedProperty ($sNamespace, $sPage, $sName, $sIcon) + public function registerTaskExtendedProperty($sNamespace, $sPage, $sName, $sIcon) { $found = false; foreach ($this->_aTaskExtendedProperties as $row => $detail) { @@ -1296,8 +1296,8 @@ class PMPluginRegistry $found = true; } } - if (! $found) { - $taskExtendedProperty = new taskExtendedProperty( $sNamespace, $sPage, $sName, $sIcon ); + if (!$found) { + $taskExtendedProperty = new taskExtendedProperty($sNamespace, $sPage, $sName, $sIcon); $this->_aTaskExtendedProperties[] = $taskExtendedProperty; } } @@ -1310,7 +1310,7 @@ class PMPluginRegistry * @param unknown_type $sName * @param unknown_type $sIcon */ - public function registerDashboardPage ($sNamespace, $sPage, $sName, $sIcon) + public function registerDashboardPage($sNamespace, $sPage, $sName, $sIcon) { foreach ($this->_aDashboardPages as $row => $detail) { if ($sPage == $detail->sPage && $sNamespace == $detail->sNamespace) { @@ -1319,8 +1319,8 @@ class PMPluginRegistry $found = true; } } - if (! $found) { - $dashboardPage = new dashboardPage( $sNamespace, $sPage, $sName, $sIcon ); + if (!$found) { + $dashboardPage = new dashboardPage($sNamespace, $sPage, $sName, $sIcon); $this->_aDashboardPages[] = $dashboardPage; } } @@ -1365,20 +1365,23 @@ class PMPluginRegistry /** * Register a extend rest service class from a plugin to be served by processmaker * - * @param string $sNamespace The namespace for the plugin + * @param string $namespace The namespace for the plugin * @param string $className The service (api) class name */ - public function registerExtendsRestService($sNamespace, $className) + public function registerExtendsRestService($namespace, $className) { - $baseSrcPluginPath = PATH_PLUGINS . $sNamespace . PATH_SEP . "src"; - $apiPath = PATH_SEP . "Services" . PATH_SEP . "Ext" . PATH_SEP; + $baseSrcPluginPath = PATH_PLUGINS . $namespace . PATH_SEP . 'src'; + $apiPath = PATH_SEP . 'Services' . PATH_SEP . 'Ext' . PATH_SEP; $classFile = $baseSrcPluginPath . $apiPath . 'Ext' . $className . '.php'; if (file_exists($classFile)) { - $this->_restExtendServices[$sNamespace][$className] = array( - "filePath" => $classFile, - "classParent" => $className, - "classExtend" => 'Ext' . $className - ); + if (empty($this->_restExtendServices[$namespace])) { + $this->_restExtendServices[$namespace] = new \stdClass(); + } + $this->_restExtendServices[$namespace]->{$className} = [ + 'filePath' => $classFile, + 'classParent' => $className, + 'classExtend' => 'Ext' . $className + ]; } } @@ -1391,9 +1394,9 @@ class PMPluginRegistry public function getExtendsRestService($className) { $responseRestExtendService = array(); - foreach ($this->_restExtendServices as $sNamespace => $restExtendService) { - if (isset($restExtendService[$className])) { - $responseRestExtendService = $restExtendService[$className]; + foreach ($this->_restExtendServices as $namespace => $restExtendService) { + if (isset($restExtendService->{$className})) { + $responseRestExtendService = $restExtendService->{$className}; break; } } @@ -1403,16 +1406,16 @@ class PMPluginRegistry /** * Remove a extend rest service class from a plugin to be served by processmaker * - * @param string $sNamespace + * @param string $namespace * @param string $className The service (api) class name * @return bool */ - public function disableExtendsRestService($sNamespace, $className = '') + public function disableExtendsRestService($namespace, $className = '') { - if (isset($this->_restExtendServices[$sNamespace][$className]) && !empty($className)) { - unset($this->_restExtendServices[$sNamespace][$className]); - } elseif (empty($className)) { - unset($this->_restExtendServices[$sNamespace]); + if (empty($className)) { + unset($this->_restExtendServices[$namespace]); + } elseif (isset($this->_restExtendServices[$namespace]->{$className})) { + unset($this->_restExtendServices[$namespace]->{$className}); } } @@ -1421,7 +1424,7 @@ class PMPluginRegistry * * @param string $sNamespace The namespace for the plugin */ - public function unregisterRestService ($sNamespace) + public function unregisterRestService($sNamespace) { unset($this->_restServices[$sNamespace]); \Maveriks\WebApplication::purgeRestApiCache(basename(PATH_DATA_SITE)); @@ -1437,7 +1440,7 @@ class PMPluginRegistry * * @return array */ - public function getDashboardPages () + public function getDashboardPages() { return $this->_aDashboardPages; } @@ -1447,22 +1450,22 @@ class PMPluginRegistry * * @return array */ - public function getTaskExtendedProperties () + public function getTaskExtendedProperties() { return $this->_aTaskExtendedProperties; } - public function registerDashboard () + public function registerDashboard() { // Dummy function for backwards compatibility } - public function getAttributes () + public function getAttributes() { - return get_object_vars( $this ); + return get_object_vars($this); } - public function verifyTranslation ($namePlugin) + public function verifyTranslation($namePlugin) { $language = new Language(); $pathPluginTranslations = PATH_PLUGINS . $namePlugin . PATH_SEP . 'translations' . PATH_SEP; @@ -1480,7 +1483,7 @@ class PMPluginRegistry * @param unknown_type $namespace * @param unknown_type $cronFile */ - public function registerCronFile ($namespace, $cronFile) + public function registerCronFile($namespace, $cronFile) { $found = false; foreach ($this->_aCronFiles as $row => $detail) { @@ -1490,7 +1493,7 @@ class PMPluginRegistry } } if (!$found) { - $cronFile = new cronFile( $namespace, $cronFile ); + $cronFile = new cronFile($namespace, $cronFile); $this->_aCronFiles[] = $cronFile; } } @@ -1565,7 +1568,7 @@ class PMPluginRegistry if (isset($pmPluginRegistry->_aPluginDetails[$pluginName])) { if (!is_writable($workspacePathDataSite . "plugin.singleton")) { - $strWorkspaceNoWritable .= (($strWorkspaceNoWritable != "")? ", " : "") . $workspace; + $strWorkspaceNoWritable .= (($strWorkspaceNoWritable != "") ? ", " : "") . $workspace; } $arrayWorkspace[] = $workspace; @@ -1600,7 +1603,7 @@ class PMPluginRegistry * Register designer menu file * * @param string $pluginName Plugin name - * @param string $file Designer menu file + * @param string $file Designer menu file * * @return void */ @@ -1653,12 +1656,12 @@ class PMPluginRegistry * * @return void */ - public function registerMenuOptionsToReplace ($namespace, $from, $options) + public function registerMenuOptionsToReplace($namespace, $from, $options) { - if(isset($from["section"]) && isset($from["menuId"])) { + if (isset($from["section"]) && isset($from["menuId"])) { $section = $from["section"]; $oMenuFromPlugin = $this->_aMenuOptionsToReplace; - if(array_key_exists($section,$oMenuFromPlugin)) { + if (array_key_exists($section, $oMenuFromPlugin)) { unset($this->_aMenuOptionsToReplace[$from["section"]]); } $this->_aMenuOptionsToReplace[$from["section"]][$from["menuId"]][] = $options; @@ -1673,8 +1676,8 @@ class PMPluginRegistry public function getMenuOptionsToReplace($strMenuName) { $oMenuFromPlugin = $this->_aMenuOptionsToReplace; - if(sizeof($oMenuFromPlugin)) { - if(array_key_exists($strMenuName,$oMenuFromPlugin)) { + if (count($oMenuFromPlugin)) { + if (array_key_exists($strMenuName, $oMenuFromPlugin)) { return $oMenuFromPlugin[$strMenuName]; } } @@ -1689,7 +1692,7 @@ class PMPluginRegistry * * @return void */ - public function registerImportProcessCallback ($namespace, $callBackFile) + public function registerImportProcessCallback($namespace, $callBackFile) { try { $found = false; @@ -1700,10 +1703,10 @@ class PMPluginRegistry } } if (!$found) { - $callBackFile = new importCallBack( $namespace, $callBackFile ); + $callBackFile = new importCallBack($namespace, $callBackFile); $this->_aImportProcessCallbackFile[] = $callBackFile; } - } catch(Excepton $e) { + } catch (Excepton $e) { throw $e; } } @@ -1725,7 +1728,7 @@ class PMPluginRegistry * * @return void */ - public function registerOpenReassignCallback ($callBackFile) + public function registerOpenReassignCallback($callBackFile) { try { $found = false; @@ -1736,10 +1739,10 @@ class PMPluginRegistry } } if (!$found) { - $callBackFile = new OpenReassignCallback( $callBackFile ); + $callBackFile = new OpenReassignCallback($callBackFile); $this->_aOpenReassignCallback[] = $callBackFile; } - } catch(Excepton $e) { + } catch (Excepton $e) { throw $e; } } @@ -1781,7 +1784,7 @@ class PMPluginRegistry * Checks if the plugin name is Enterprise Plugin * * @param string $pluginName Plugin name - * @param string $path Path to plugin + * @param string $path Path to plugin * * @return bool Returns TRUE when plugin name is Enterprise Plugin, FALSE otherwise */ diff --git a/workflow/engine/src/ProcessMaker/Plugins/PluginRegistry.php b/workflow/engine/src/ProcessMaker/Plugins/PluginRegistry.php index 803b531ac..be1b36684 100644 --- a/workflow/engine/src/ProcessMaker/Plugins/PluginRegistry.php +++ b/workflow/engine/src/ProcessMaker/Plugins/PluginRegistry.php @@ -1245,15 +1245,18 @@ class PluginRegistry */ public function registerExtendsRestService($Namespace, $ClassName) { - $baseSrcPluginPath = PATH_PLUGINS . $Namespace . PATH_SEP . "src"; - $apiPath = PATH_SEP . "Services" . PATH_SEP . "Ext" . PATH_SEP; + $baseSrcPluginPath = PATH_PLUGINS . $Namespace . PATH_SEP . 'src'; + $apiPath = PATH_SEP . 'Services' . PATH_SEP . 'Ext' . PATH_SEP; $classFile = $baseSrcPluginPath . $apiPath . 'Ext' . $ClassName . '.php'; - if (file_exists($classFile)) { - $this->_restExtendServices[$Namespace][$ClassName] = array( - "filePath" => $classFile, - "classParent" => $ClassName, - "classExtend" => 'Ext' . $ClassName - ); + if (\file_exists($classFile)) { + if (empty($this->_restExtendServices[$Namespace])) { + $this->_restExtendServices[$Namespace] = new \stdClass(); + } + $this->_restExtendServices[$Namespace]->{$ClassName} = [ + 'filePath' => $classFile, + 'classParent' => $ClassName, + 'classExtend' => 'Ext' . $ClassName + ]; } } @@ -1264,10 +1267,10 @@ class PluginRegistry */ public function getExtendsRestService($ClassName) { - $responseRestExtendService = array(); + $responseRestExtendService = []; foreach ($this->_restExtendServices as $Namespace => $restExtendService) { - if (isset($restExtendService[$ClassName])) { - $responseRestExtendService = $restExtendService[$ClassName]; + if (isset($restExtendService->{$ClassName})) { + $responseRestExtendService = $restExtendService->{$ClassName}; break; } } @@ -1282,10 +1285,10 @@ class PluginRegistry */ public function disableExtendsRestService($Namespace, $ClassName = '') { - if (isset($this->_restExtendServices[$Namespace][$ClassName]) && !empty($ClassName)) { - unset($this->_restExtendServices[$Namespace][$ClassName]); - } elseif (empty($ClassName)) { + if (empty($ClassName)) { unset($this->_restExtendServices[$Namespace]); + } elseif (isset($this->_restExtendServices[$Namespace]->{$ClassName})) { + unset($this->_restExtendServices[$Namespace]->{$ClassName}); } } diff --git a/workflow/engine/src/ProcessMaker/Plugins/Traits/PluginStructure.php b/workflow/engine/src/ProcessMaker/Plugins/Traits/PluginStructure.php index 4a2125cfb..bfd03254c 100644 --- a/workflow/engine/src/ProcessMaker/Plugins/Traits/PluginStructure.php +++ b/workflow/engine/src/ProcessMaker/Plugins/Traits/PluginStructure.php @@ -116,7 +116,7 @@ trait PluginStructure $this->buildCss(G::json_decode($plugin['PluginCss'], true)); $this->buildJs(G::json_decode($plugin['PluginJs'], true)); $this->buildRestService(G::json_decode($plugin['PluginRestService'], true)); - $this->buildAttributes($plugin['PluginNamespace'], G::json_decode($plugin['PluginAttributes'], true)); + $this->buildAttributes($plugin['PluginNamespace'], G::json_decode($plugin['PluginAttributes'])); } } } From 11498fca10c21785dcccb963f4a78319bb8e4722 Mon Sep 17 00:00:00 2001 From: Marco Antonio Nina Mena Date: Thu, 19 Oct 2017 11:39:00 -0400 Subject: [PATCH 16/41] Fix CR --- workflow/engine/classes/PMPluginRegistry.php | 2 +- .../ProcessMaker/Plugins/PluginRegistry.php | 26 ++++++++++--------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/workflow/engine/classes/PMPluginRegistry.php b/workflow/engine/classes/PMPluginRegistry.php index 9a50fcc01..69548adb5 100644 --- a/workflow/engine/classes/PMPluginRegistry.php +++ b/workflow/engine/classes/PMPluginRegistry.php @@ -1375,7 +1375,7 @@ class PMPluginRegistry $classFile = $baseSrcPluginPath . $apiPath . 'Ext' . $className . '.php'; if (file_exists($classFile)) { if (empty($this->_restExtendServices[$namespace])) { - $this->_restExtendServices[$namespace] = new \stdClass(); + $this->_restExtendServices[$namespace] = new stdClass(); } $this->_restExtendServices[$namespace]->{$className} = [ 'filePath' => $classFile, diff --git a/workflow/engine/src/ProcessMaker/Plugins/PluginRegistry.php b/workflow/engine/src/ProcessMaker/Plugins/PluginRegistry.php index be1b36684..b1c06227a 100644 --- a/workflow/engine/src/ProcessMaker/Plugins/PluginRegistry.php +++ b/workflow/engine/src/ProcessMaker/Plugins/PluginRegistry.php @@ -92,7 +92,7 @@ class PluginRegistry public static function newInstance() { self::$instance = new PluginRegistry(); - if (! is_object(self::$instance) || get_class(self::$instance) != "ProcessMaker\Plugins\PluginRegistry") { + if (!is_object(self::$instance) || get_class(self::$instance) != "ProcessMaker\Plugins\PluginRegistry") { throw new Exception("Can't load main PluginRegistry object."); } return self::$instance; @@ -122,10 +122,10 @@ class PluginRegistry $plugin->sDescription, $plugin->sSetupPage, $plugin->iVersion, - isset($plugin->sCompanyLogo) ? $plugin->sCompanyLogo: '', - isset($plugin->aWorkspaces) ? $plugin->aWorkspaces: [], - isset($plugin->enable) ? $plugin->enable: false, - isset($plugin->bPrivate) ? $plugin->bPrivate: false + isset($plugin->sCompanyLogo) ? $plugin->sCompanyLogo : '', + isset($plugin->aWorkspaces) ? $plugin->aWorkspaces : [], + isset($plugin->enable) ? $plugin->enable : false, + isset($plugin->bPrivate) ? $plugin->bPrivate : false ); $this->_aPluginDetails[$Namespace] = $detail; } @@ -204,6 +204,7 @@ class PluginRegistry } Cache::pull(self::NAME_CACHE); } + /** * Get the plugin details, by filename * @param string $Filename @@ -476,7 +477,7 @@ class PluginRegistry if (isset($this->_aPluginDetails[$Namespace])) { /** @var PluginDetail $detail */ $detail = $this->_aPluginDetails[$Namespace]; - $className= $detail->getClassName(); + $className = $detail->getClassName(); /** @var enterprisePlugin $oPlugin */ $oPlugin = new $className($detail->getNamespace(), $detail->getFile()); $oPlugin->setup(); @@ -857,13 +858,13 @@ class PluginRegistry require_once($classFile); $sClassNameA = substr($this->_aPluginDetails[$trigger->getNamespace()]->getClassName(), 0, 1) . str_replace( - ['Plugin','plugin'], + ['Plugin', 'plugin'], 'Class', substr($this->_aPluginDetails[$trigger->getNamespace()]->getClassName(), 1) ); $sClassNameB = substr($this->_aPluginDetails[$trigger->getNamespace()]->getClassName(), 0, 1) . str_replace( - ['Plugin','plugin'], + ['Plugin', 'plugin'], 'class', substr($this->_aPluginDetails[$trigger->getNamespace()]->getClassName(), 1) ); @@ -891,7 +892,7 @@ class PluginRegistry public function existsTrigger($TriggerId) { $found = false; - /** @var TriggerDetail $trigger */ + /** @var TriggerDetail $trigger */ foreach ($this->_aTriggers as $trigger) { if ($trigger->equalTriggerId($TriggerId)) { //review all folders registered for this namespace @@ -1125,7 +1126,8 @@ class PluginRegistry $ActionSave, $ActionExecute, $ActionGetFields - ) { + ) + { $found = false; /** @var CaseSchedulerPlugin $caseScheduler */ foreach ($this->_aCaseSchedulerPlugin as $caseScheduler) { @@ -1248,9 +1250,9 @@ class PluginRegistry $baseSrcPluginPath = PATH_PLUGINS . $Namespace . PATH_SEP . 'src'; $apiPath = PATH_SEP . 'Services' . PATH_SEP . 'Ext' . PATH_SEP; $classFile = $baseSrcPluginPath . $apiPath . 'Ext' . $ClassName . '.php'; - if (\file_exists($classFile)) { + if (file_exists($classFile)) { if (empty($this->_restExtendServices[$Namespace])) { - $this->_restExtendServices[$Namespace] = new \stdClass(); + $this->_restExtendServices[$Namespace] = new stdClass(); } $this->_restExtendServices[$Namespace]->{$ClassName} = [ 'filePath' => $classFile, From 519ce808954600d5b93d3f3e4b84d108788e6cad Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Thu, 19 Oct 2017 12:43:53 -0400 Subject: [PATCH 17/41] HOR-3968 --- workflow/engine/src/ProcessMaker/Services/Api/Cases.php | 2 +- .../engine/src/ProcessMaker/Services/Api/Dashboard.php | 6 +++--- workflow/engine/src/ProcessMaker/Services/Api/File.php | 5 +---- workflow/engine/src/ProcessMaker/Services/Api/Light.php | 9 ++++++--- .../Services/Api/Project/Activity/Step/Trigger.php | 2 +- .../Services/Api/Project/ProcessSupervisors.php | 4 ++-- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Cases.php b/workflow/engine/src/ProcessMaker/Services/Api/Cases.php index 7915c2ea6..d7ad3e7b4 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Cases.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Cases.php @@ -1263,7 +1263,7 @@ class Cases extends Api * * @param string $tas_uid {@min 32}{@max 32} * - * @return array + * @return void * @throws RestException * * @access protected diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php b/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php index efad1d0de..d5c8bb8da 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php @@ -227,7 +227,7 @@ class Dashboard extends Api * * @param array $request_data * - * @return id + * @return integer * @throws RestException * * @access protected @@ -292,7 +292,7 @@ class Dashboard extends Api * * @param array $request_data * - * @return string + * @return object * @throws RestException * * @access protected @@ -398,7 +398,7 @@ class Dashboard extends Api * * @param array $request_data * - * @return array + * @return integer * @throws RestException * * @access protected diff --git a/workflow/engine/src/ProcessMaker/Services/Api/File.php b/workflow/engine/src/ProcessMaker/Services/Api/File.php index 387733ce5..bb49a2b45 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/File.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/File.php @@ -19,10 +19,7 @@ class File extends Api * @param array $request_data * * @return array - * @throws RestException - * - * @return array - * @throws RestException + * @throws RestException * * @access protected * @class AccessControl {@permission PM_FACTORY} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Light.php b/workflow/engine/src/ProcessMaker/Services/Api/Light.php index 59de9feb1..8dd364a61 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Light.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Light.php @@ -1137,7 +1137,7 @@ class Light extends Api } /** - * Starts a new case and assigns the logged-in user to work on the initial task + * Starts a new case and assign the logged-in user to work on the initial task * in the case. Note that the logged-in user must be in the pool of assigned * users of the initial task. Also note that the new case's status will be * set to "DRAFT", not "TO_DO". @@ -1470,7 +1470,7 @@ class Light extends Api } /** - * Assigns the user logged-in to an unassigned case. + * Assign the user logged-in to an unassigned case. * * @url POST /case/:app_uid/claim * @@ -1726,7 +1726,7 @@ class Light extends Api * * @param string $app_uid {@min 1}{@max 32} * - * @return stdclass + * @return array * @throws RestException * * @access protected @@ -1935,6 +1935,9 @@ class Light extends Api * * @url POST /get-next-step/:app_uid * + * @param string $app_uid + * @param array $request_data + * * @return array * @throws RestException * diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php index 262b9261e..d1928dd1b 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity/Step/Trigger.php @@ -34,7 +34,7 @@ class Trigger extends Api } /** - * Assigns a trigger to a step. + * Assign a trigger to a step. * * @url POST /:prj_uid/activity/:act_uid/step/:step_uid/trigger * @status 201 diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php index 677c2386d..f2949d17e 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php @@ -264,7 +264,7 @@ class ProcessSupervisors extends Api } /** - * Assigns a Dynaform to a Process Supervisor. + * Assign a Dynaform to a Process Supervisor. * * @url POST /:prjUid/process-supervisor/dynaform * @status 201 @@ -294,7 +294,7 @@ class ProcessSupervisors extends Api } /** - * Assigns an input document to a Process Supervisor. + * Assign an input document to a Process Supervisor. * * @url POST /:prjUid/process-supervisor/input-document * @status 201 From d473d9afad42590fb66d982bfd0e406757fade51 Mon Sep 17 00:00:00 2001 From: davidcallizaya Date: Thu, 19 Oct 2017 15:54:11 -0400 Subject: [PATCH 18/41] HOR-3967 Fix CR obervations about documentation. --- workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php | 3 +++ workflow/engine/src/ProcessMaker/Services/Api/Light.php | 1 + workflow/engine/src/ProcessMaker/Services/Api/Pmtable.php | 1 + workflow/engine/src/ProcessMaker/Services/Api/Process.php | 6 +++--- .../src/ProcessMaker/Services/Api/Project/Activity.php | 3 ++- .../src/ProcessMaker/Services/Api/Project/CaseScheduler.php | 1 + .../src/ProcessMaker/Services/Api/Project/FilesManager.php | 1 + .../Services/Api/Project/ProcessSupervisors.php | 1 + 8 files changed, 13 insertions(+), 4 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php b/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php index fc47b510f..6bce76f2a 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Dashboard.php @@ -246,6 +246,7 @@ class Dashboard extends Api * * @param array $request_data * + * @return string * @throws RestException * * @access protected @@ -344,6 +345,7 @@ class Dashboard extends Api * * @param array $request_data * + * @return string * @throws RestException * * @class AccessControl {@permission PM_DASHBOARD} @@ -425,6 +427,7 @@ class Dashboard extends Api * * @param array $request_data * + * @return array * @throws RestException * * @access protected diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Light.php b/workflow/engine/src/ProcessMaker/Services/Api/Light.php index ab8457553..a7a970434 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Light.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Light.php @@ -1182,6 +1182,7 @@ class Light extends Api * @param int $del_index {@from body} * @param array $tasks {@from body} * + * @return array * @throws RestException * * @access protected diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Pmtable.php b/workflow/engine/src/ProcessMaker/Services/Api/Pmtable.php index 9919fad2d..36698c25a 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Pmtable.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Pmtable.php @@ -145,6 +145,7 @@ class Pmtable extends Api * @param array $request_data * * @return void + * @throw RestException * * @access protected * @class AccessControl {@permission PM_SETUP_PM_TABLES} diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Process.php b/workflow/engine/src/ProcessMaker/Services/Api/Process.php index 1d3b8bb5c..3a7619b78 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Process.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Process.php @@ -81,10 +81,10 @@ class Process extends Api /** * Update a process by UID. * - * @param type $processUid - * @param type $request_data + * @param string $processUid + * @param array $request_data * - * @return type + * @return array * @throws RestException * * @access protected diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php index f9bff74f6..4de02af2c 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php @@ -111,7 +111,7 @@ class Activity extends Api * @param ActivityPropertiesStructure $properties {@from body} * @param array $request_data * - * @return array + * @return void * @throws RestException * * @access protected @@ -228,6 +228,7 @@ class Activity extends Api * @param string $prj_uid {@min 32}{@max 32} * @param array $request_data * + * @return \StdClass * @throws RestException * * @access protected diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php index dd1b647c8..6a404f853 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/CaseScheduler.php @@ -83,6 +83,7 @@ class CaseScheduler extends Api * @param string $schUid {@min 32} {@max 32} * @param CaseSchedulerStructure $request_data * + * @return array * @throws RestException * * @access protected diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php index 4fe15ec6a..9f6e37924 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/FilesManager.php @@ -88,6 +88,7 @@ class FilesManager extends Api * @param ProcessFilesManagerStructure $request_data * @param string $prf_uid {@min 32} {@max 32} * + * @return array * @throws RestException * * @access protected diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php index cce54fd1e..f4bcd9876 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/ProcessSupervisors.php @@ -395,6 +395,7 @@ class ProcessSupervisors extends Api * @param string $pui_uid {@min 32} {@max 32} * @param int $pui_position * + * @return array * @throws RestException * * @access protected From 128e42e71e1a1d8a1852fec811c34389f3fe6fca Mon Sep 17 00:00:00 2001 From: davidcallizaya Date: Wed, 27 Sep 2017 15:35:11 -0400 Subject: [PATCH 19/41] HOR-3925 Create a user guest by default. --- gulliver/system/class.rbac.php | 151 ++++++++++++++++++++++++++ rbac/engine/data/mysql/insert.sql | 15 ++- workflow/engine/data/mysql/insert.sql | 3 +- 3 files changed, 163 insertions(+), 6 deletions(-) diff --git a/gulliver/system/class.rbac.php b/gulliver/system/class.rbac.php index 38faf54f6..8bddbc112 100644 --- a/gulliver/system/class.rbac.php +++ b/gulliver/system/class.rbac.php @@ -50,6 +50,13 @@ use ProcessMaker\Exception\RBACException; class RBAC { const SETUPERMISSIONUID= '00000000000000000000000000000002'; + const PER_SYSTEM = '00000000000000000000000000000002'; + const PM_GUEST_CASE = 'PM_GUEST_CASE'; + const PM_GUEST_CASE_UID = '00000000000000000000000000000066'; + const PROCESSMAKER_GUEST = 'PROCESSMAKER_GUEST'; + const PROCESSMAKER_GUEST_UID = '00000000000000000000000000000005'; + const GUEST_USER_UID = '00000000000000000000000000000002'; + /** * * @access private @@ -396,6 +403,149 @@ class RBAC return $permissionsAdmin; } + /** + * Create if not exists GUEST user. + * + */ + private function verifyGuestUser(Roles $role) + { + try { + $strRole = $role->getRolCode(); + + $arrayData = array(); + $arrayData["USR_UID"] = self::GUEST_USER_UID; + $arrayData["USR_USERNAME"] = 'Guest'; + $arrayData["USR_PASSWORD"] = '674ba9750749d735ec9787d606170d78'; + $arrayData["USR_FIRSTNAME"] = 'Guest'; + $arrayData["USR_LASTNAME"] = ''; + $arrayData["USR_EMAIL"] = 'guest@processmaker.com'; + $arrayData["USR_DUE_DATE"] = '2200-01-01'; + $arrayData["USR_CREATE_DATE"] = date("Y-m-d H:i:s"); + $arrayData["USR_UPDATE_DATE"] = date("Y-m-d H:i:s"); + $arrayData["USR_BIRTHDAY"] = '2009-02-01'; + $arrayData["USR_AUTH_USER_DN"] = ""; + $arrayData["USR_STATUS"] = 0; + + $rbacUserExists = RbacUsersPeer::retrieveByPK(self::GUEST_USER_UID); + if (!$rbacUserExists) { + $rbacUser = new RbacUsers(); + $rbacUser->fromArray($arrayData, BasePeer::TYPE_FIELDNAME); + $rbacUser->save(); + + $arrayData["USR_UID"] = $rbacUser->getUsrUid(); + $arrayData["USR_STATUS"] = 'INACTIVE'; + $arrayData["USR_COUNTRY"] = ""; + $arrayData["USR_CITY"] = ""; + $arrayData["USR_LOCATION"] = ""; + $arrayData["USR_ADDRESS"] = ""; + $arrayData["USR_PHONE"] = ""; + $arrayData["USR_ZIP_CODE"] = ""; + $arrayData["USR_POSITION"] = ""; + $arrayData["USR_ROLE"] = $strRole; + + $user = new Users(); + $user->create($arrayData); + $this->assignRoleToUser($user->getUsrUid(), $strRole); + } elseif( + $rbacUserExists + && $rbacUserExists->getUserRole($rbacUserExists->getUsrUid())['ROL_CODE']!==self::PROCESSMAKER_GUEST + ) { + $this->assignRoleToUser($rbacUserExists->getUsrUid(), $strRole); + } + } catch (Exception $exception) { + throw new Exception( + "Can not create guest user: ".$exception->getMessage(), + 0, + $exception + ); + } + } + + /** + * Create if not exists GUEST role. + * + */ + private function verifyGuestRole($permissions) + { + try { + $criteria = new Criteria; + $criteria->add(RolesPeer::ROL_CODE, self::PROCESSMAKER_GUEST); + $roleExists = RolesPeer::doSelectOne($criteria); + if ($roleExists) { + return $roleExists; + } + $aData = [ + 'ROL_UID' => self::PROCESSMAKER_GUEST_UID, + 'ROL_CODE' => self::PROCESSMAKER_GUEST, + 'ROL_SYSTEM' => self::PER_SYSTEM, + 'ROL_STATUS' => 1, + 'ROL_NAME' => self::PROCESSMAKER_GUEST, + 'ROL_CREATE_DATE' => date('Y-m-d H:i:s'), + 'ROL_UPDATE_DATE' => date('Y-m-d H:i:s'), + ]; + $this->createRole($aData); + $role = RolesPeer::doSelectOne($criteria); + foreach($permissions as $permission) { + $o = new RolesPermissions(); + $o->setPerUid($permission->getPerUid()); + $o->setPermissionName('Guest case'); + $o->setRolUid($role->getRolUid()); + $o->save(); + } + return $role; + } catch (Exception $exception) { + throw new Exception( + "Can not create guest role: " . $exception->getMessage(), + 0, + $exception + ); + } + } + + /** + * Create if not exists GUEST permissions. + * + */ + private function verifyGuestPermissions() + { + try { + $criteria = new Criteria(); + $criteria->add(PermissionsPeer::PER_CODE, self::PM_GUEST_CASE); + $perm = PermissionsPeer::doSelectOne($criteria); + if ($perm) { + return [$perm]; + } + $permission = new Permissions(); + $permission->setPerUid(self::PM_GUEST_CASE_UID); + $permission->setPerCode(self::PM_GUEST_CASE); + $permission->setPerCreateDate(date('Y-m-d H:i:s')); + $permission->setPerUpdateDate(date('Y-m-d H:i:s')); + $permission->setPerStatus(1); + $permission->setPerSystem(self::PER_SYSTEM); + $permission->save(); + return [$permission]; + } catch (Exception $exception) { + throw new Exception( + "Can not set guest permissions: " . $exception->getMessage(), + 0, + $exception + ); + } + } + + /** + * Create if not exists GUEST user. + * Create if not exists GUEST role. + * Create if not exists GUEST permissions. + * + */ + private function verifyGuestUserRolePermission() + { + $permissions = $this->verifyGuestPermissions(); + $role = $this->verifyGuestRole($permissions); + $this->verifyGuestUser($role); + } + /** * Gets the roles and permission for one RBAC_user * @@ -1444,6 +1594,7 @@ class RBAC public function verifyPermissions() { $message = array(); + $this->verifyGuestUserRolePermission(); $listPermissions = $this->loadPermissionAdmin(); $criteria = new Criteria('rbac'); $dataset = PermissionsPeer::doSelectRS($criteria); diff --git a/rbac/engine/data/mysql/insert.sql b/rbac/engine/data/mysql/insert.sql index 87f76ab87..a4e23d6dc 100644 --- a/rbac/engine/data/mysql/insert.sql +++ b/rbac/engine/data/mysql/insert.sql @@ -63,13 +63,15 @@ INSERT INTO `RBAC_PERMISSIONS` VALUES ('00000000000000000000000000000062','PM_EDIT_USER_PROFILE_DEFAULT_MAIN_MENU_OPTIONS','2016-07-18 00:00:00','2016-07-18 00:00:00',1,'00000000000000000000000000000002'), ('00000000000000000000000000000063','PM_EDIT_USER_PROFILE_DEFAULT_CASES_MENU_OPTIONS','2016-07-18 00:00:00','2016-07-18 00:00:00',1,'00000000000000000000000000000002'), ('00000000000000000000000000000064','PM_REASSIGNCASE_SUPERVISOR','2016-09-01 00:00:00','2016-09-01 00:00:00',1,'00000000000000000000000000000002'), -('00000000000000000000000000000065','PM_SETUP_CUSTOM_CASES_LIST','2017-03-27 00:00:00','2017-03-27 00:00:00',1,'00000000000000000000000000000002'); +('00000000000000000000000000000065','PM_SETUP_CUSTOM_CASES_LIST','2017-03-27 00:00:00','2017-03-27 00:00:00',1,'00000000000000000000000000000002'), +('00000000000000000000000000000066','PM_GUEST_CASE','2017-03-27 00:00:00','2017-03-27 00:00:00',1,'00000000000000000000000000000002'); INSERT INTO `RBAC_ROLES` VALUES ('00000000000000000000000000000001','','00000000000000000000000000000001','RBAC_ADMIN','2007-07-31 19:10:22','2007-08-03 12:24:36',1), ('00000000000000000000000000000002','','00000000000000000000000000000002','PROCESSMAKER_ADMIN','2007-07-31 19:10:22','2007-08-03 12:24:36',1), ('00000000000000000000000000000003','','00000000000000000000000000000002','PROCESSMAKER_OPERATOR','2007-07-31 19:10:22','2007-08-03 12:24:36',1), -('00000000000000000000000000000004', '', '00000000000000000000000000000002', 'PROCESSMAKER_MANAGER', '2010-03-29 09:14:15', '2010-03-29 09:19:53', 1); +('00000000000000000000000000000004', '', '00000000000000000000000000000002', 'PROCESSMAKER_MANAGER', '2010-03-29 09:14:15', '2010-03-29 09:19:53', 1), +('00000000000000000000000000000005', '', '00000000000000000000000000000002', 'PROCESSMAKER_GUEST', '2009-02-01 12:24:36', '2009-02-01 12:24:36', 1); INSERT INTO `RBAC_ROLES_PERMISSIONS` VALUES @@ -213,8 +215,11 @@ INSERT INTO `RBAC_ROLES_PERMISSIONS` VALUES ('00000000000000000000000000000004','00000000000000000000000000000060'), ('00000000000000000000000000000004','00000000000000000000000000000061'), ('00000000000000000000000000000004','00000000000000000000000000000062'), -('00000000000000000000000000000004','00000000000000000000000000000063'); +('00000000000000000000000000000004','00000000000000000000000000000063'), +('00000000000000000000000000000005','00000000000000000000000000000066'); INSERT INTO `RBAC_SYSTEMS` VALUES ('00000000000000000000000000000001','RBAC','2007-07-31 19:10:22','2007-08-03 12:24:36',1),('00000000000000000000000000000002','PROCESSMAKER','2007-07-31 19:10:22','2007-08-03 12:24:36',1); -INSERT INTO `RBAC_USERS` VALUES ('00000000000000000000000000000001','admin','21232f297a57a5a743894a0e4a801fc3','Administrator','','admin@processmaker.com','2020-01-01','2007-08-03 12:24:36','2008-02-13 07:24:07',1,'MYSQL','00000000000000000000000000000000','',''); -INSERT INTO `RBAC_USERS_ROLES` VALUES ('00000000000000000000000000000001','00000000000000000000000000000002'); +INSERT INTO `RBAC_USERS` VALUES ('00000000000000000000000000000001','admin','21232f297a57a5a743894a0e4a801fc3','Administrator','','admin@processmaker.com','2020-01-01','2007-08-03 12:24:36','2008-02-13 07:24:07',1,'MYSQL','00000000000000000000000000000000','',''), +('00000000000000000000000000000002','guest','674ba9750749d735ec9787d606170d78','Guest','','guest@processmaker.com','2200-01-01','2009-02-01 12:24:36','2009-02-01 12:24:36',0,'MYSQL','00000000000000000000000000000000','',''); +INSERT INTO `RBAC_USERS_ROLES` VALUES ('00000000000000000000000000000001','00000000000000000000000000000002'), +('00000000000000000000000000000002','00000000000000000000000000000005'); diff --git a/workflow/engine/data/mysql/insert.sql b/workflow/engine/data/mysql/insert.sql index 524d1777b..eda4d65bc 100644 --- a/workflow/engine/data/mysql/insert.sql +++ b/workflow/engine/data/mysql/insert.sql @@ -1,5 +1,6 @@ INSERT INTO USERS (USR_UID,USR_USERNAME,USR_PASSWORD,USR_FIRSTNAME,USR_LASTNAME,USR_EMAIL,USR_DUE_DATE,USR_CREATE_DATE,USR_UPDATE_DATE,USR_STATUS,USR_COUNTRY,USR_CITY,USR_LOCATION,USR_ADDRESS,USR_PHONE,USR_FAX,USR_CELLULAR,USR_ZIP_CODE,DEP_UID,USR_POSITION,USR_RESUME,USR_BIRTHDAY,USR_ROLE,USR_REPORTS_TO,USR_REPLACED_BY ) VALUES -('00000000000000000000000000000001','admin','21232f297a57a5a743894a0e4a801fc3','Administrator',' ', 'admin@processmaker.com','2020-01-01','1999-11-30 00:00:00','2008-05-23 18:36:19','ACTIVE', 'US','FL','MMK','','', '1-305-402-0282','1-305-675-1400','','','Administrator', '','1999-02-25','PROCESSMAKER_ADMIN','',''); +('00000000000000000000000000000001','admin','21232f297a57a5a743894a0e4a801fc3','Administrator',' ', 'admin@processmaker.com','2020-01-01','1999-11-30 00:00:00','2008-05-23 18:36:19','ACTIVE', 'US','FL','MMK','','', '1-305-402-0282','1-305-675-1400','','','Administrator', '','1999-02-25','PROCESSMAKER_ADMIN','',''), +('00000000000000000000000000000002','admin','674ba9750749d735ec9787d606170d78','Guest',' ', 'admin@processmaker.com','2200-01-01','2009-02-01 12:24:36','2009-02-01 12:24:36','INACTIVE', 'US','FL','MMK','','', '1-305-402-0282','1-305-675-1400','','','Guest', '','2009-02-01','PROCESSMAKER_GUEST','',''); INSERT INTO CONTENT (CON_CATEGORY,CON_PARENT,CON_ID,CON_LANG,CON_VALUE) VALUES ('ROL_NAME','','00000000000000000000000000000002','en','System Administrator'), From 2509ba1612fa96bb71b9a583cadc01edf941edeb Mon Sep 17 00:00:00 2001 From: davidcallizaya Date: Thu, 28 Sep 2017 14:14:06 -0400 Subject: [PATCH 20/41] HOR-3925 Fix CR observations --- gulliver/system/class.rbac.php | 25 +++++++++++++++++-------- workflow/engine/data/mysql/insert.sql | 2 +- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/gulliver/system/class.rbac.php b/gulliver/system/class.rbac.php index 8bddbc112..aa57625bd 100644 --- a/gulliver/system/class.rbac.php +++ b/gulliver/system/class.rbac.php @@ -406,6 +406,8 @@ class RBAC /** * Create if not exists GUEST user. * + * @param Roles $role + * @throws Exception */ private function verifyGuestUser(Roles $role) { @@ -427,7 +429,11 @@ class RBAC $arrayData["USR_STATUS"] = 0; $rbacUserExists = RbacUsersPeer::retrieveByPK(self::GUEST_USER_UID); - if (!$rbacUserExists) { + $isNotRbacUserGuest = !empty($rbacUserExists) + && $rbacUserExists instanceof RbacUsers + && $rbacUserExists->getUserRole($rbacUserExists->getUsrUid())['ROL_CODE'] + !== self::PROCESSMAKER_GUEST; + if (empty($rbacUserExists)) { $rbacUser = new RbacUsers(); $rbacUser->fromArray($arrayData, BasePeer::TYPE_FIELDNAME); $rbacUser->save(); @@ -446,15 +452,12 @@ class RBAC $user = new Users(); $user->create($arrayData); $this->assignRoleToUser($user->getUsrUid(), $strRole); - } elseif( - $rbacUserExists - && $rbacUserExists->getUserRole($rbacUserExists->getUsrUid())['ROL_CODE']!==self::PROCESSMAKER_GUEST - ) { + } elseif ($isNotRbacUserGuest) { $this->assignRoleToUser($rbacUserExists->getUsrUid(), $strRole); } } catch (Exception $exception) { throw new Exception( - "Can not create guest user: ".$exception->getMessage(), + "Can not create guest user: " . $exception->getMessage(), 0, $exception ); @@ -464,6 +467,9 @@ class RBAC /** * Create if not exists GUEST role. * + * @param type $permissions + * @return type + * @throws Exception */ private function verifyGuestRole($permissions) { @@ -471,7 +477,7 @@ class RBAC $criteria = new Criteria; $criteria->add(RolesPeer::ROL_CODE, self::PROCESSMAKER_GUEST); $roleExists = RolesPeer::doSelectOne($criteria); - if ($roleExists) { + if (!empty($roleExists)) { return $roleExists; } $aData = [ @@ -505,6 +511,8 @@ class RBAC /** * Create if not exists GUEST permissions. * + * @return type + * @throws Exception */ private function verifyGuestPermissions() { @@ -512,7 +520,7 @@ class RBAC $criteria = new Criteria(); $criteria->add(PermissionsPeer::PER_CODE, self::PM_GUEST_CASE); $perm = PermissionsPeer::doSelectOne($criteria); - if ($perm) { + if (!empty($perm)) { return [$perm]; } $permission = new Permissions(); @@ -538,6 +546,7 @@ class RBAC * Create if not exists GUEST role. * Create if not exists GUEST permissions. * + * @throws Exception */ private function verifyGuestUserRolePermission() { diff --git a/workflow/engine/data/mysql/insert.sql b/workflow/engine/data/mysql/insert.sql index eda4d65bc..e51d19fd4 100644 --- a/workflow/engine/data/mysql/insert.sql +++ b/workflow/engine/data/mysql/insert.sql @@ -1,6 +1,6 @@ INSERT INTO USERS (USR_UID,USR_USERNAME,USR_PASSWORD,USR_FIRSTNAME,USR_LASTNAME,USR_EMAIL,USR_DUE_DATE,USR_CREATE_DATE,USR_UPDATE_DATE,USR_STATUS,USR_COUNTRY,USR_CITY,USR_LOCATION,USR_ADDRESS,USR_PHONE,USR_FAX,USR_CELLULAR,USR_ZIP_CODE,DEP_UID,USR_POSITION,USR_RESUME,USR_BIRTHDAY,USR_ROLE,USR_REPORTS_TO,USR_REPLACED_BY ) VALUES ('00000000000000000000000000000001','admin','21232f297a57a5a743894a0e4a801fc3','Administrator',' ', 'admin@processmaker.com','2020-01-01','1999-11-30 00:00:00','2008-05-23 18:36:19','ACTIVE', 'US','FL','MMK','','', '1-305-402-0282','1-305-675-1400','','','Administrator', '','1999-02-25','PROCESSMAKER_ADMIN','',''), -('00000000000000000000000000000002','admin','674ba9750749d735ec9787d606170d78','Guest',' ', 'admin@processmaker.com','2200-01-01','2009-02-01 12:24:36','2009-02-01 12:24:36','INACTIVE', 'US','FL','MMK','','', '1-305-402-0282','1-305-675-1400','','','Guest', '','2009-02-01','PROCESSMAKER_GUEST','',''); +('00000000000000000000000000000002','guest','674ba9750749d735ec9787d606170d78','Guest',' ', 'guest@processmaker.com','2200-01-01','2009-02-01 12:24:36','2009-02-01 12:24:36','INACTIVE', 'US','FL','MMK','','', '1-305-402-0282','1-305-675-1400','','','Guest', '','2009-02-01','PROCESSMAKER_GUEST','',''); INSERT INTO CONTENT (CON_CATEGORY,CON_PARENT,CON_ID,CON_LANG,CON_VALUE) VALUES ('ROL_NAME','','00000000000000000000000000000002','en','System Administrator'), From 465264d57c839321f459f23794cc686635f4ae6f Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Thu, 28 Sep 2017 16:50:35 -0400 Subject: [PATCH 21/41] HOR-3926 --- gulliver/system/class.rbac.php | 15 ++++++++++++++ workflow/engine/methods/users/usersEdit.php | 7 +++++++ workflow/engine/methods/users/users_Ajax.php | 5 +++++ .../src/ProcessMaker/BusinessModel/User.php | 20 +++++++++++++++++++ 4 files changed, 47 insertions(+) diff --git a/gulliver/system/class.rbac.php b/gulliver/system/class.rbac.php index aa57625bd..d41a8e1ea 100644 --- a/gulliver/system/class.rbac.php +++ b/gulliver/system/class.rbac.php @@ -1766,5 +1766,20 @@ class RBAC { return $this->enableLoginHash; } + + /** + * Returns true in case the parameter corresponds to the invited user, + * otherwise it returns false. + * + * @param boolean $usrUid + * @return void + */ + public static function isGuestUserUid($usrUid) + { + if (RBAC::GUEST_USER_UID === $usrUid) { + return true; + } + return false; + } } diff --git a/workflow/engine/methods/users/usersEdit.php b/workflow/engine/methods/users/usersEdit.php index 4148507e2..badb3fa5e 100644 --- a/workflow/engine/methods/users/usersEdit.php +++ b/workflow/engine/methods/users/usersEdit.php @@ -1,4 +1,11 @@ getWebEntryRelatedToUser($userUid); } + //check user guest + if (RBAC::isGuestUserUid($userUid)) { + $total++; + } + $response = '{success: true, candelete: '; $response .= ($total > 0) ? 'false' : 'true'; $response .= ', hashistory: '; diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/User.php b/workflow/engine/src/ProcessMaker/BusinessModel/User.php index 8a9860917..bff974731 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/User.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/User.php @@ -640,6 +640,10 @@ class User { try { + //check user guest + if (RBAC::isGuestUserUid($userUid)) { + throw new Exception(G::LoadTranslation("ID_USER_CAN_NOT_UPDATE", array($userUid))); + } //Verify data $validator = new Validator(); @@ -1078,6 +1082,12 @@ class User $history += ApplicationPeer::doCount($c); $c = $oProcessMap->getCriteriaUsersCases('CANCELLED', $USR_UID); $history += ApplicationPeer::doCount($c); + + //check user guest + if (RBAC::isGuestUserUid($usrUid)) { + throw new Exception(G::LoadTranslation("ID_MSG_CANNOT_DELETE_USER", array($USR_UID))); + } + if ($total > 0) { throw new Exception(G::LoadTranslation("ID_USER_CAN_NOT_BE_DELETED", array($USR_UID))); } else { @@ -1182,6 +1192,9 @@ class User //Query $criteria = $this->getUserCriteria(); + //Remove the guest user + $criteria->add(UsersPeer::USR_UID, RBAC::GUEST_USER_UID, Criteria::NOT_EQUAL); + if ($flagCondition && !empty($arrayWhere['condition'])) { foreach ($arrayWhere['condition'] as $value) { $criteria->add($value[0], $value[1], $value[2]); @@ -1556,6 +1569,9 @@ class User } $oCriteria->add(UsersPeer::USR_STATUS, array('CLOSED'), Criteria::NOT_IN); + //Remove the guest user + $oCriteria->add(UsersPeer::USR_UID, RBAC::GUEST_USER_UID, Criteria::NOT_EQUAL); + if ($authSource != '') { $totalRows = sizeof($aUsers); } else { @@ -1583,6 +1599,10 @@ class User $oCriteria->addAsColumn('DUE_DATE_OK', 1); $sep = "'"; $oCriteria->add(UsersPeer::USR_STATUS, array('CLOSED'), Criteria::NOT_IN); + + //Remove the guest user + $oCriteria->add(UsersPeer::USR_UID, RBAC::GUEST_USER_UID, Criteria::NOT_EQUAL); + if ($filter != '') { $cc = $oCriteria->getNewCriterion(UsersPeer::USR_USERNAME, '%' . $filter . '%', Criteria::LIKE) ->addOr($oCriteria->getNewCriterion(UsersPeer::USR_FIRSTNAME, '%' . $filter . '%', Criteria::LIKE) From fb4a8a4bc3b6bf07bb9f4f78b6849d0a3ad8c4d4 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Fri, 29 Sep 2017 09:10:20 -0400 Subject: [PATCH 22/41] HOR-3926 --- gulliver/system/class.rbac.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gulliver/system/class.rbac.php b/gulliver/system/class.rbac.php index d41a8e1ea..93687574b 100644 --- a/gulliver/system/class.rbac.php +++ b/gulliver/system/class.rbac.php @@ -1776,7 +1776,7 @@ class RBAC */ public static function isGuestUserUid($usrUid) { - if (RBAC::GUEST_USER_UID === $usrUid) { + if (self::GUEST_USER_UID === $usrUid) { return true; } return false; From 77b828d67abb4ba60f5fe92789784fa4940e2546 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Fri, 29 Sep 2017 09:12:54 -0400 Subject: [PATCH 23/41] HOR-3926 --- gulliver/system/class.rbac.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gulliver/system/class.rbac.php b/gulliver/system/class.rbac.php index 93687574b..13be2742d 100644 --- a/gulliver/system/class.rbac.php +++ b/gulliver/system/class.rbac.php @@ -1771,8 +1771,8 @@ class RBAC * Returns true in case the parameter corresponds to the invited user, * otherwise it returns false. * - * @param boolean $usrUid - * @return void + * @param string $usrUid + * @return boolean */ public static function isGuestUserUid($usrUid) { From 69f26c6eeef1c4dd252ed1469d2e363beb5f7105 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Fri, 29 Sep 2017 09:15:41 -0400 Subject: [PATCH 24/41] HOR-3926 --- gulliver/system/class.rbac.php | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/gulliver/system/class.rbac.php b/gulliver/system/class.rbac.php index 13be2742d..96562f8c2 100644 --- a/gulliver/system/class.rbac.php +++ b/gulliver/system/class.rbac.php @@ -1776,10 +1776,7 @@ class RBAC */ public static function isGuestUserUid($usrUid) { - if (self::GUEST_USER_UID === $usrUid) { - return true; - } - return false; + return self::GUEST_USER_UID === $usrUid; } } From 8ef2eb692d6b7b044d367045cde88374e0f1c42f Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Thu, 28 Sep 2017 12:28:55 -0400 Subject: [PATCH 25/41] HOR-3929 --- .../src/ProcessMaker/BusinessModel/User.php | 12 ++ .../BusinessModel/WebEntryEvent.php | 150 +++++++++++------- 2 files changed, 106 insertions(+), 56 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/User.php b/workflow/engine/src/ProcessMaker/BusinessModel/User.php index bff974731..8c05cfca9 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/User.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/User.php @@ -110,6 +110,8 @@ class User 'PREF_DEFAULT_CASES_MENUSELECTED' => 'PM_EDIT_USER_PROFILE_DEFAULT_CASES_MENU_OPTIONS' ); + private $guestUser = '00000000000000000000000000000002'; + /** * Constructor of the class */ @@ -124,6 +126,16 @@ class User } } + /** + * This function get the guest user defined + * + * @return string guestUser, uid related to this user + */ + public function getGuestUser() + { + return $this->guestUser; + } + /** * @return array */ diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php b/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php index 62ef10aba..810493363 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php @@ -9,6 +9,23 @@ use WebEntryPeer; use Exception; use G; use BpmnFlowPeer; +use ProcessMaker\BusinessModel\Process as BusinessModelProcess; +use ProcessMaker\BusinessModel\Validator as BusinessModelValidator; +use ProcessMaker\Project\Workflow; +use WebEntryEvent as ModelWebEntryEvent; +use ProcessMaker\Util\Common; +use Task as ModelTask; +use Propel; +use BasePeer; +use Content; +use Tasks; +use Step; +use TaskPeer; +use StepPeer; +use ResultSet; +use TaskUser; +use TaskUserPeer; + class WebEntryEvent { @@ -358,13 +375,7 @@ class WebEntryEvent $arrayFinalData = array_merge($arrayWebEntryEventData, $arrayData); - //Verify data - Field definition - $process = new \ProcessMaker\BusinessModel\Process(); - //Dependent fields: - if (!isset($arrayData['WE_AUTHENTICATION']) || $arrayData['WE_AUTHENTICATION'] - == 'ANONYMOUS') { - $this->arrayFieldDefinition['USR_UID']['required'] = true; - } + //Define the required dependent fields: if (!isset($arrayData['WE_TYPE']) || $arrayData['WE_TYPE'] == 'SINGLE') { $this->arrayFieldDefinition['DYN_UID']['required'] = true; @@ -391,6 +402,7 @@ class WebEntryEvent $this->arrayFieldDefinition['WE_LINK_LANGUAGE']['defaultValues'] = $languages; } + $process = new BusinessModelProcess(); $process->throwExceptionIfDataNotMetFieldDefinition($arrayData, $this->arrayFieldDefinition, $this->arrayFieldNameForException, $flagInsert); @@ -513,11 +525,11 @@ class WebEntryEvent $arrayEventData = $bpmn->getEvent($eventUid); //Task - $task = new \Task(); + $task = new ModelTask(); $tasUid = static::getTaskUidFromEvnUid($eventUid); - if (\TaskPeer::retrieveByPK($tasUid)) { + if (TaskPeer::retrieveByPK($tasUid)) { $this->webEntryEventWebEntryTaskUid = $tasUid; } else { $this->webEntryEventWebEntryTaskUid = $task->create( @@ -535,7 +547,7 @@ class WebEntryEvent if (!isset($arrayData['WE_TYPE']) || $arrayData['WE_TYPE'] === 'SINGLE') { //Task - Step - $step = new \Step(); + $step = new Step(); $stepUid = $step->create(array( "PRO_UID" => $projectUid, @@ -553,13 +565,13 @@ class WebEntryEvent } //Task - User - $task = new \Tasks(); + $task = new Tasks(); if (!(isset($arrayData['WE_AUTHENTICATION']) && $arrayData['WE_AUTHENTICATION'] === 'LOGIN_REQUIRED')) { $task->assignUser($this->webEntryEventWebEntryTaskUid, $userUid, 1); } //Route - $workflow = \ProcessMaker\Project\Workflow::load($projectUid); + $workflow = Workflow::load($projectUid); $result = $workflow->addRoute($this->webEntryEventWebEntryTaskUid, $activityUid, "SEQUENTIAL"); @@ -622,10 +634,10 @@ class WebEntryEvent { try { if ($webEntryTaskUid != "") { - $obj = \TaskPeer::retrieveByPK($webEntryTaskUid); + $obj = TaskPeer::retrieveByPK($webEntryTaskUid); if (!is_null($obj)) { - $task = new \Tasks(); + $task = new Tasks(); $task->deleteTask($webEntryTaskUid); } @@ -657,8 +669,8 @@ class WebEntryEvent { try { //Verify data - $process = new \ProcessMaker\BusinessModel\Process(); - $validator = new \ProcessMaker\BusinessModel\Validator(); + $process = new BusinessModelProcess(); + $validator = new BusinessModelValidator(); $validator->throwExceptionIfDataIsNotArray($arrayData, "\$arrayData"); $validator->throwExceptionIfDataIsEmpty($arrayData, "\$arrayData"); @@ -693,17 +705,18 @@ class WebEntryEvent $arrayData["WEE_TITLE"] = null; } - //Verify data + //Verify data related to the process $process->throwExceptionIfNotExistsProcess($projectUid, $this->arrayFieldNameForException["projectUid"]); - + //Define if the webEntry need to use the guest user + $weUserUid = isset($arrayData["USR_UID"]) ? $arrayData["USR_UID"] : ''; + $arrayData["USR_UID"] = $this->getWebEntryUser($arrayData["WE_AUTHENTICATION"], $weUserUid); + //Verify data with the required fields $this->throwExceptionIfDataIsInvalid("", $projectUid, $arrayData); - //Create - $cnn = \Propel::getConnection("workflow"); - $this->webEntryEventWebEntryUid = ""; $this->webEntryEventWebEntryTaskUid = ""; - + //Create the connection + $cnn = Propel::getConnection("workflow"); try { //WebEntry $this->createWebEntry( @@ -719,11 +732,11 @@ class WebEntryEvent ); //WebEntry-Event - $webEntryEvent = new \WebEntryEvent(); + $webEntryEvent = new ModelWebEntryEvent(); - $webEntryEvent->fromArray($arrayData, \BasePeer::TYPE_FIELDNAME); + $webEntryEvent->fromArray($arrayData, BasePeer::TYPE_FIELDNAME); - $webEntryEventUid = \ProcessMaker\Util\Common::generateUID(); + $webEntryEventUid = Common::generateUID(); $webEntryEvent->setWeeUid($webEntryEventUid); $webEntryEvent->setPrjUid($projectUid); @@ -739,13 +752,13 @@ class WebEntryEvent //Set WEE_TITLE if (isset($arrayData["WEE_TITLE"])) { - $result = \Content::addContent("WEE_TITLE", "", $webEntryEventUid, SYS_LANG, + $result = Content::addContent("WEE_TITLE", "", $webEntryEventUid, SYS_LANG, $arrayData["WEE_TITLE"]); } //Set WEE_DESCRIPTION if (isset($arrayData["WEE_DESCRIPTION"])) { - $result = \Content::addContent("WEE_DESCRIPTION", "", $webEntryEventUid, SYS_LANG, + $result = Content::addContent("WEE_DESCRIPTION", "", $webEntryEventUid, SYS_LANG, $arrayData["WEE_DESCRIPTION"]); } @@ -786,8 +799,8 @@ class WebEntryEvent { try { //Verify data - $process = new \ProcessMaker\BusinessModel\Process(); - $validator = new \ProcessMaker\BusinessModel\Validator(); + $process = new BusinessModelProcess(); + $validator = new BusinessModelValidator(); $validator->throwExceptionIfDataIsNotArray($arrayData, "\$arrayData"); $validator->throwExceptionIfDataIsEmpty($arrayData, "\$arrayData"); @@ -806,14 +819,17 @@ class WebEntryEvent $arrayFinalData = array_merge($arrayWebEntryEventData, $arrayData); - //Verify data + //Verify data related to the process $this->throwExceptionIfNotExistsWebEntryEvent($webEntryEventUid, $this->arrayFieldNameForException["webEntryEventUid"]); - + //Define if the webEntry need to use the guest user + $weUserUid = isset($arrayData["USR_UID"]) ? $arrayData["USR_UID"] : ''; + $arrayData["USR_UID"] = $this->getWebEntryUser($arrayData["WE_AUTHENTICATION"], $weUserUid); + //Verify data with the required fields $this->throwExceptionIfDataIsInvalid($webEntryEventUid, $arrayWebEntryEventData["PRJ_UID"], $arrayData); //Update - $cnn = \Propel::getConnection("workflow"); + $cnn = Propel::getConnection("workflow"); $this->webEntryEventWebEntryUid = ""; $this->webEntryEventWebEntryTaskUid = ""; @@ -821,20 +837,20 @@ class WebEntryEvent try { //WebEntry if ($arrayWebEntryEventData["WEE_WE_UID"] != "") { - $task = new \Tasks(); + $task = new Tasks(); //Task - Step for WE_TYPE=SINGLE $weType = !empty($arrayData["WE_TYPE"]) ? $arrayData["WE_TYPE"] : $arrayWebEntryEventData["WE_TYPE"]; if (isset($arrayData["DYN_UID"]) && $arrayData["DYN_UID"] !== $arrayWebEntryEventData["DYN_UID"] && $weType === 'SINGLE') { //Delete - $step = new \Step(); + $step = new Step(); $criteria = new Criteria("workflow"); - $criteria->add(\StepPeer::TAS_UID, $arrayWebEntryEventData["WEE_WE_TAS_UID"]); + $criteria->add(StepPeer::TAS_UID, $arrayWebEntryEventData["WEE_WE_TAS_UID"]); - $rsCriteria = \StepPeer::doSelectRS($criteria); - $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); + $rsCriteria = StepPeer::doSelectRS($criteria); + $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); @@ -843,7 +859,7 @@ class WebEntryEvent } //Add - $step = new \Step(); + $step = new Step(); $stepUid = $step->create(array( "PRO_UID" => $arrayWebEntryEventData["PRJ_UID"], @@ -861,14 +877,14 @@ class WebEntryEvent //Task - User if (!empty($arrayData["USR_UID"]) && $arrayData["USR_UID"] != $arrayWebEntryEventData["USR_UID"]) { //Unassign - $taskUser = new \TaskUser(); + $taskUser = new TaskUser(); $criteria = new Criteria("workflow"); - $criteria->add(\TaskUserPeer::TAS_UID, $arrayWebEntryEventData["WEE_WE_TAS_UID"]); + $criteria->add(TaskUserPeer::TAS_UID, $arrayWebEntryEventData["WEE_WE_TAS_UID"]); - $rsCriteria = \TaskUserPeer::doSelectRS($criteria); - $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); + $rsCriteria = TaskUserPeer::doSelectRS($criteria); + $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); @@ -878,8 +894,11 @@ class WebEntryEvent } //Assign - $result = $task->assignUser($arrayWebEntryEventData["WEE_WE_TAS_UID"], $arrayData["USR_UID"], - 1); + $result = $task->assignUser( + $arrayWebEntryEventData["WEE_WE_TAS_UID"], + $arrayData["USR_UID"], + 1 + ); } //Route @@ -892,7 +911,7 @@ class WebEntryEvent } //Add - $workflow = \ProcessMaker\Project\Workflow::load($arrayWebEntryEventData["PRJ_UID"]); + $workflow = Workflow::load($arrayWebEntryEventData["PRJ_UID"]); $result = $workflow->addRoute($arrayWebEntryEventData["WEE_WE_TAS_UID"], $arrayData["ACT_UID"], "SEQUENTIAL"); @@ -925,15 +944,18 @@ class WebEntryEvent } if (count($arrayDataAux) > 0) { - $arrayDataAux = $this->webEntry->update($arrayWebEntryEventData["WEE_WE_UID"], $userUidUpdater, - $arrayDataAux); + $arrayDataAux = $this->webEntry->update( + $arrayWebEntryEventData["WEE_WE_UID"], + $userUidUpdater, + $arrayDataAux + ); } } //WebEntry-Event $webEntryEvent = WebEntryEventPeer::retrieveByPK($webEntryEventUid); - $webEntryEvent->fromArray($arrayData, \BasePeer::TYPE_FIELDNAME); + $webEntryEvent->fromArray($arrayData, BasePeer::TYPE_FIELDNAME); if ($webEntryEvent->validate()) { $cnn->begin(); @@ -944,13 +966,13 @@ class WebEntryEvent //Set WEE_TITLE if (isset($arrayData["WEE_TITLE"])) { - $result = \Content::addContent("WEE_TITLE", "", $webEntryEventUid, SYS_LANG, + $result = Content::addContent("WEE_TITLE", "", $webEntryEventUid, SYS_LANG, $arrayData["WEE_TITLE"]); } //Set WEE_DESCRIPTION if (isset($arrayData["WEE_DESCRIPTION"])) { - $result = \Content::addContent("WEE_DESCRIPTION", "", $webEntryEventUid, SYS_LANG, + $result = Content::addContent("WEE_DESCRIPTION", "", $webEntryEventUid, SYS_LANG, $arrayData["WEE_DESCRIPTION"]); } @@ -1123,7 +1145,7 @@ class WebEntryEvent $arrayWebEntryEvent = array(); //Verify data - $process = new \ProcessMaker\BusinessModel\Process(); + $process = new BusinessModelProcess(); $process->throwExceptionIfNotExistsProcess($projectUid, $this->arrayFieldNameForException["projectUid"]); @@ -1133,7 +1155,7 @@ class WebEntryEvent $criteria->add(WebEntryEventPeer::PRJ_UID, $projectUid, Criteria::EQUAL); $rsCriteria = WebEntryEventPeer::doSelectRS($criteria); - $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); + $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); @@ -1174,7 +1196,7 @@ class WebEntryEvent } $criteria->add(ProcessPeer::PRO_STATUS, 'ACTIVE', Criteria::EQUAL); $rsCriteria = WebEntryEventPeer::doSelectRS($criteria); - $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); + $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $result[] = $this->getWebEntryEventDataFromRecord($row); @@ -1208,7 +1230,7 @@ class WebEntryEvent $criteria->add(WebEntryEventPeer::WEE_UID, $webEntryEventUid, Criteria::EQUAL); $rsCriteria = WebEntryEventPeer::doSelectRS($criteria); - $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); + $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rsCriteria->next(); @@ -1235,7 +1257,7 @@ class WebEntryEvent { try { //Verify data - $process = new \ProcessMaker\BusinessModel\Process(); + $process = new BusinessModelProcess(); $process->throwExceptionIfNotExistsProcess($projectUid, $this->arrayFieldNameForException["projectUid"]); @@ -1251,7 +1273,7 @@ class WebEntryEvent $criteria->add(WebEntryEventPeer::EVN_UID, $eventUid, Criteria::EQUAL); $rsCriteria = WebEntryEventPeer::doSelectRS($criteria); - $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); + $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rsCriteria->next(); @@ -1361,4 +1383,20 @@ class WebEntryEvent return $url . "/" . $weData; } } + + /** + * This function return the uid of user related to the webEntry + * @param string $authentication, can be ANONYMOUS, LOGIN_REQUIRED + * @param string $usrUid + * @return string + */ + public function getWebEntryUser($authentication = 'ANONYMOUS', $usrUid = '') + { + if ($authentication === 'ANONYMOUS') { + $user = new User(); + return $user->getGuestUser(); + } else { + return $usrUid; + } + } } From 961bc072f2306eeeadb7e65419e01f7de6e2d39f Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Mon, 2 Oct 2017 11:36:32 -0400 Subject: [PATCH 26/41] HOR:3929 Changes for the import process with Web Entry --- .../engine/src/ProcessMaker/BusinessModel/User.php | 2 +- .../src/ProcessMaker/BusinessModel/WebEntryEvent.php | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/User.php b/workflow/engine/src/ProcessMaker/BusinessModel/User.php index 8c05cfca9..1d9d4fe47 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/User.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/User.php @@ -110,7 +110,7 @@ class User 'PREF_DEFAULT_CASES_MENUSELECTED' => 'PM_EDIT_USER_PROFILE_DEFAULT_CASES_MENU_OPTIONS' ); - private $guestUser = '00000000000000000000000000000002'; + private $guestUser = RBAC::GUEST_USER_UID; /** * Constructor of the class diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php b/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php index 810493363..2b588f6a6 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php @@ -709,7 +709,8 @@ class WebEntryEvent $process->throwExceptionIfNotExistsProcess($projectUid, $this->arrayFieldNameForException["projectUid"]); //Define if the webEntry need to use the guest user $weUserUid = isset($arrayData["USR_UID"]) ? $arrayData["USR_UID"] : ''; - $arrayData["USR_UID"] = $this->getWebEntryUser($arrayData["WE_AUTHENTICATION"], $weUserUid); + $weAuthentication = isset($arrayData["WE_AUTHENTICATION"]) ? $arrayData["WE_AUTHENTICATION"] : ''; + $arrayData["USR_UID"] = $this->getWebEntryUser($weAuthentication, $weUserUid); //Verify data with the required fields $this->throwExceptionIfDataIsInvalid("", $projectUid, $arrayData); @@ -824,7 +825,8 @@ class WebEntryEvent $this->arrayFieldNameForException["webEntryEventUid"]); //Define if the webEntry need to use the guest user $weUserUid = isset($arrayData["USR_UID"]) ? $arrayData["USR_UID"] : ''; - $arrayData["USR_UID"] = $this->getWebEntryUser($arrayData["WE_AUTHENTICATION"], $weUserUid); + $weAuthentication = isset($arrayData["WE_AUTHENTICATION"]) ? $arrayData["WE_AUTHENTICATION"] : ''; + $arrayData["USR_UID"] = $this->getWebEntryUser($weAuthentication, $weUserUid); //Verify data with the required fields $this->throwExceptionIfDataIsInvalid($webEntryEventUid, $arrayWebEntryEventData["PRJ_UID"], $arrayData); @@ -1392,7 +1394,9 @@ class WebEntryEvent */ public function getWebEntryUser($authentication = 'ANONYMOUS', $usrUid = '') { - if ($authentication === 'ANONYMOUS') { + //The webEntry old does not have type of authentication defined + //The webEntry2.0 can be has values ANONYMOUS or LOGIN_REQUIRED + if ($authentication === 'ANONYMOUS' || empty($authentication)) { $user = new User(); return $user->getGuestUser(); } else { From c2bcc087eb5961e7667958b65577627d4b42fb76 Mon Sep 17 00:00:00 2001 From: davidcallizaya Date: Mon, 2 Oct 2017 13:35:23 -0400 Subject: [PATCH 27/41] HOR-3926 Fixes Please enter the commit message for your changes. Lines starting --- rbac/engine/classes/model/Roles.php | 5 +++-- workflow/engine/methods/cases/casesList_Ajax.php | 1 + workflow/engine/methods/groups/groups_Ajax.php | 3 ++- .../engine/src/ProcessMaker/BusinessModel/Department.php | 1 + workflow/engine/src/ProcessMaker/BusinessModel/Role/User.php | 1 + 5 files changed, 8 insertions(+), 3 deletions(-) diff --git a/rbac/engine/classes/model/Roles.php b/rbac/engine/classes/model/Roles.php index cc8f0cd33..a05e301ea 100644 --- a/rbac/engine/classes/model/Roles.php +++ b/rbac/engine/classes/model/Roles.php @@ -115,6 +115,7 @@ class Roles extends BaseRoles { $oCriteria->addSelectColumn(RolesPeer::ROL_UPDATE_DATE); $oCriteria->addSelectColumn(RolesPeer::ROL_STATUS); $oCriteria->add(RolesPeer::ROL_UID, '', Criteria::NOT_EQUAL); + $oCriteria->add(RolesPeer::ROL_CODE, RBAC::PROCESSMAKER_GUEST, Criteria::NOT_EQUAL); $oCriteria->add(SystemsPeer::SYS_CODE, $systemCode); $oCriteria->add(RolesPeer::ROL_CREATE_DATE, '', Criteria::NOT_EQUAL); $oCriteria->add(RolesPeer::ROL_UPDATE_DATE, '', Criteria::NOT_EQUAL); @@ -158,7 +159,7 @@ class Roles extends BaseRoles { $oCriteria->addSelectColumn(RolesPeer::ROL_CREATE_DATE); $oCriteria->addSelectColumn(RolesPeer::ROL_UPDATE_DATE); $oCriteria->addSelectColumn(RolesPeer::ROL_STATUS); - $oCriteria->add(RolesPeer::ROL_UID, '', Criteria::NOT_EQUAL); + $oCriteria->add(RolesPeer::ROL_UID, ['', RBAC::PROCESSMAKER_GUEST_UID], Criteria::NOT_IN); $oCriteria->add(SystemsPeer::SYS_CODE, $systemCode); $oCriteria->add(RolesPeer::ROL_CREATE_DATE, '', Criteria::NOT_EQUAL); $oCriteria->add(RolesPeer::ROL_UPDATE_DATE, '', Criteria::NOT_EQUAL); @@ -572,7 +573,7 @@ class Roles extends BaseRoles { $result->setFetchmode(ResultSet::FETCHMODE_ASSOC); $result->next(); - $a = Array(); + $a = [RBAC::PM_GUEST_CASE_UID]; while( $row = $result->getRow() ) { $a[] = $row['PER_UID']; $result->next(); diff --git a/workflow/engine/methods/cases/casesList_Ajax.php b/workflow/engine/methods/cases/casesList_Ajax.php index 303d521a4..1eb7234fb 100644 --- a/workflow/engine/methods/cases/casesList_Ajax.php +++ b/workflow/engine/methods/cases/casesList_Ajax.php @@ -64,6 +64,7 @@ if ($actionAjax == "userValues") { $cUsers->addSelectColumn(UsersPeer::USR_ID); break; } + $cUsers->add(UsersPeer::USR_UID, [RBAC::GUEST_USER_UID], Criteria::NOT_IN); $cUsers->add(UsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL); if (!is_null($query)) { $filters = $cUsers->getNewCriterion(UsersPeer::USR_FIRSTNAME, '%' . $query . '%', Criteria::LIKE)->addOr( diff --git a/workflow/engine/methods/groups/groups_Ajax.php b/workflow/engine/methods/groups/groups_Ajax.php index 4721bd8e9..0ed7df35b 100644 --- a/workflow/engine/methods/groups/groups_Ajax.php +++ b/workflow/engine/methods/groups/groups_Ajax.php @@ -252,7 +252,8 @@ switch ($_POST['action']) { $subQuery = "SELECT " . GroupUserPeer::USR_UID . " FROM " . GroupUserPeer::TABLE_NAME . " WHERE " . GroupUserPeer::GRP_UID . " = '" . - $inputFilter->quoteSmart($_REQUEST['gUID'], Propel::getConnection("workflow")) . "'"; + $inputFilter->quoteSmart($_REQUEST['gUID'], Propel::getConnection("workflow")) . "'\n" . + "UNION SELECT '" . RBAC::GUEST_USER_UID . "'"; $aUsers = Array (); $oCriteria = new Criteria( 'workflow' ); diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Department.php b/workflow/engine/src/ProcessMaker/BusinessModel/Department.php index 080de4542..b42b1dea2 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Department.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Department.php @@ -352,6 +352,7 @@ class Department break; case 'AVAILABLE': $criteria->add(\UsersPeer::DEP_UID, '', \Criteria::EQUAL); + $criteria->add(\UsersPeer::USR_UID, \RBAC::GUEST_USER_UID, \Criteria::NOT_EQUAL); break; } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Role/User.php b/workflow/engine/src/ProcessMaker/BusinessModel/Role/User.php index 0825c16f5..275af16ba 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Role/User.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Role/User.php @@ -321,6 +321,7 @@ class User break; case "AVAILABLE-USERS": $criteria->add(\UsersRolesPeer::ROL_UID, $roleUid, \Criteria::NOT_EQUAL); + $criteria->add(\RbacUsersPeer::USR_UID, [\RBAC::GUEST_USER_UID], \Criteria::NOT_IN); break; } From a92c858ccfd37082249aac7f1360730d70574959 Mon Sep 17 00:00:00 2001 From: davidcallizaya Date: Mon, 2 Oct 2017 14:40:48 -0400 Subject: [PATCH 28/41] HOR-3946 Fix CR and code style of the modified classes. --- .../ProcessMaker/BusinessModel/Department.php | 195 ++++++++---------- .../ProcessMaker/BusinessModel/Role/User.php | 134 ++++++------ 2 files changed, 155 insertions(+), 174 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Department.php b/workflow/engine/src/ProcessMaker/BusinessModel/Department.php index b42b1dea2..bdff87b7a 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Department.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Department.php @@ -1,14 +1,20 @@ - * @copyright Colosa - Bolivia - */ class Department { /** @@ -16,27 +22,26 @@ class Department * * @param string $departmentTitle Title * @param string $departmentUidExclude Unique id of Department to exclude - * - * return bool Return true if exists the title of a Department, false otherwise + * @return bool Return true if exists the title of a Department, false otherwise */ public function existsTitle($departmentTitle, $departmentUidExclude = "") { try { - $criteria = new \Criteria("workflow"); + $criteria = new Criteria("workflow"); - $criteria->addSelectColumn(\DepartmentPeer::DEP_UID); - $criteria->addSelectColumn(\DepartmentPeer::DEP_TITLE); + $criteria->addSelectColumn(DepartmentPeer::DEP_UID); + $criteria->addSelectColumn(DepartmentPeer::DEP_TITLE); if ($departmentUidExclude != "") { - $criteria->add(\DepartmentPeer::DEP_UID, $departmentUidExclude, \Criteria::NOT_EQUAL); + $criteria->add(DepartmentPeer::DEP_UID, $departmentUidExclude, Criteria::NOT_EQUAL); } - $criteria->add(\DepartmentPeer::DEP_TITLE, $departmentTitle, \Criteria::EQUAL); + $criteria->add(DepartmentPeer::DEP_TITLE, $departmentTitle, Criteria::EQUAL); - $rsCriteria = \DepartmentPeer::doSelectRS($criteria); + $rsCriteria = DepartmentPeer::doSelectRS($criteria); return ($rsCriteria->next())? true : false; - } catch (\Exception $e) { + } catch (Exception $e) { throw $e; } } @@ -46,18 +51,17 @@ class Department * * @param string $departmentUid * @param string $userUid - * - * return void Throw exception user not exists + * @return void Throw exception user not exists */ private function throwExceptionUserNotExistsInDepartment($departmentUid, $userUid) { try { - $user = \UsersPeer::retrieveByPK($userUid); + $user = UsersPeer::retrieveByPK($userUid); if (is_null($user) || $user->getDepUid() != $departmentUid) { - throw new \Exception(\G::LoadTranslation('ID_USER_NOT_EXIST_DEPARTMENT', [$userUid])); + throw new Exception(G::LoadTranslation('ID_USER_NOT_EXIST_DEPARTMENT', [$userUid])); } - } catch (\Exception $e) { + } catch (Exception $e) { throw $e; } } @@ -68,16 +72,15 @@ class Department * @param string $departmentTitle Title * @param string $fieldNameForException Field name for the exception * @param string $departmentUidExclude Unique id of Department to exclude - * - * return void Throw exception if exists the title of a Department + * @return void Throw exception if exists the title of a Department */ public function throwExceptionIfExistsTitle($departmentTitle, $fieldNameForException, $departmentUidExclude = "") { try { if ($this->existsTitle($departmentTitle, $departmentUidExclude)) { - throw new \Exception(\G::LoadTranslation("ID_DEPARTMENT_TITLE_ALREADY_EXISTS", array($fieldNameForException, $departmentTitle))); + throw new Exception(G::LoadTranslation("ID_DEPARTMENT_TITLE_ALREADY_EXISTS", array($fieldNameForException, $departmentTitle))); } - } catch (\Exception $e) { + } catch (Exception $e) { throw $e; } } @@ -89,7 +92,6 @@ class Department * @param array $arrayVariableNameForException Variable name for exception * @param bool $throwException Flag to throw the exception if the main parameters are invalid or do not exist * (TRUE: throw the exception; FALSE: returns FALSE) - * * @return array Returns an array with Department record, ThrowTheException/FALSE otherwise */ public function getDepartmentRecordByPk( @@ -98,11 +100,11 @@ class Department $throwException = true ) { try { - $obj = \DepartmentPeer::retrieveByPK($departmentUid); + $obj = DepartmentPeer::retrieveByPK($departmentUid); if (is_null($obj)) { if ($throwException) { - throw new \Exception(\G::LoadTranslation( + throw new Exception(G::LoadTranslation( 'ID_DEPARTMENT_NOT_EXIST', [$arrayVariableNameForException['$departmentUid'], $departmentUid] )); } else { @@ -111,8 +113,8 @@ class Department } //Return - return $obj->toArray(\BasePeer::TYPE_FIELDNAME); - } catch (\Exception $e) { + return $obj->toArray(BasePeer::TYPE_FIELDNAME); + } catch (Exception $e) { throw $e; } } @@ -121,14 +123,11 @@ class Department * Get list for Departments * * @access public - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * * @return array */ public function getDepartments() { - $oDepartment = new \Department(); + $oDepartment = new DepartmentModel(); $aDepts = $oDepartment->getDepartments(''); foreach ($aDepts as &$depData) { $depData['DEP_CHILDREN'] = $this->getChildren($depData); @@ -142,15 +141,14 @@ class Department * * @param string $departmentUid Unique id of Department * @param array $arrayData Data - * * return array Return data of the User assigned to Department */ public function assignUser($departmentUid, array $arrayData) { try { //Verify data - $process = new \ProcessMaker\BusinessModel\Process(); - $validator = new \ProcessMaker\BusinessModel\Validator(); + $process = new Process(); + $validator = new Validator(); $validator->throwExceptionIfDataIsNotArray($arrayData, "\$arrayData"); $validator->throwExceptionIfDataIsEmpty($arrayData, "\$arrayData"); @@ -172,14 +170,14 @@ class Department ); //Verify data - $departmentUid = \ProcessMaker\BusinessModel\Validator::depUid($departmentUid); + $departmentUid = Validator::depUid($departmentUid); $process->throwExceptionIfDataNotMetFieldDefinition($arrayData, $arrayUserFieldDefinition, $arrayUserFieldNameForException, true); $process->throwExceptionIfNotExistsUser($arrayData["USR_UID"], $arrayUserFieldNameForException["userUid"]); //Assign User - $department = new \Department(); + $department = new DepartmentModel(); $department->load($departmentUid); @@ -192,7 +190,7 @@ class Department $arrayData = array_change_key_case($arrayData, CASE_LOWER); return $arrayData; - } catch (\Exception $e) { + } catch (Exception $e) { throw $e; } } @@ -201,9 +199,6 @@ class Department * Post Unassign User * * @access public - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * * @return void */ public function unassignUser($dep_uid, $usr_uid) @@ -213,7 +208,7 @@ class Department $this->throwExceptionUserNotExistsInDepartment($dep_uid, $usr_uid); - $dep = new \Department(); + $dep = new DepartmentModel(); $dep->load( $dep_uid ); $manager = $dep->getDepManager(); $dep->removeUserFromDepartment( $dep_uid, $usr_uid ); @@ -229,7 +224,6 @@ class Department * Get custom record * * @param array $record Record - * * @return array Return an array with custom record */ private function __getUserCustomRecordFromRecord(array $record) @@ -248,7 +242,7 @@ class Department } return $recordc; - } catch (\Exception $e) { + } catch (Exception $e) { throw $e; } } @@ -266,7 +260,6 @@ class Department * @param bool $flagRecord Flag that set the "getting" of record * @param bool $throwException Flag to throw the exception (This only if the parameters are invalid) * (TRUE: throw the exception; FALSE: returns FALSE) - * * @return array Return an array with all Users of a Department, ThrowTheException/FALSE otherwise */ public function getUsers( @@ -288,14 +281,14 @@ class Department //Verify data and Set variables $flagFilter = !is_null($arrayFilterData) && is_array($arrayFilterData) && isset($arrayFilterData['filter']); - $result = \ProcessMaker\BusinessModel\Validator::validatePagerDataByPagerDefinition( + $result = Validator::validatePagerDataByPagerDefinition( ['$start' => $start, '$limit' => $limit], ['$start' => '$start', '$limit' => '$limit'] ); if ($result !== true) { if ($throwException) { - throw new \Exception($result); + throw new Exception($result); } else { return false; } @@ -336,23 +329,23 @@ class Department } //Query - $criteria = new \Criteria('workflow'); + $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->addSelectColumn(\UsersPeer::USR_STATUS); + $criteria->addSelectColumn(UsersPeer::USR_UID); + $criteria->addSelectColumn(UsersPeer::USR_USERNAME); + $criteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); + $criteria->addSelectColumn(UsersPeer::USR_LASTNAME); + $criteria->addSelectColumn(UsersPeer::USR_STATUS); - $criteria->add(\UsersPeer::USR_STATUS, 'CLOSED', \Criteria::NOT_EQUAL); + $criteria->add(UsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL); switch ($option) { case 'ASSIGNED': - $criteria->add(\UsersPeer::DEP_UID, $departmentUid, \Criteria::EQUAL); + $criteria->add(UsersPeer::DEP_UID, $departmentUid, Criteria::EQUAL); break; case 'AVAILABLE': - $criteria->add(\UsersPeer::DEP_UID, '', \Criteria::EQUAL); - $criteria->add(\UsersPeer::USR_UID, \RBAC::GUEST_USER_UID, \Criteria::NOT_EQUAL); + $criteria->add(UsersPeer::DEP_UID, '', Criteria::EQUAL); + $criteria->add(UsersPeer::USR_UID, RBAC::GUEST_USER_UID, Criteria::NOT_EQUAL); break; } @@ -368,24 +361,24 @@ class Department ]; $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))) + $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))) ); } //Number records total - $numRecTotal = \UsersPeer::doCount($criteria); + $numRecTotal = UsersPeer::doCount($criteria); //Query - $conf = new \Configurations(); - $sortFieldDefault = \UsersPeer::TABLE_NAME . '.' . $conf->userNameFormatGetFirstFieldByUsersTable(); + $conf = new Configurations(); + $sortFieldDefault = UsersPeer::TABLE_NAME . '.' . $conf->userNameFormatGetFirstFieldByUsersTable(); if (!is_null($sortField) && trim($sortField) != '') { $sortField = strtoupper($sortField); - if (in_array(\UsersPeer::TABLE_NAME . '.' . $sortField, $criteria->getSelectColumns())) { - $sortField = \UsersPeer::TABLE_NAME . '.' . $sortField; + if (in_array(UsersPeer::TABLE_NAME . '.' . $sortField, $criteria->getSelectColumns())) { + $sortField = UsersPeer::TABLE_NAME . '.' . $sortField; } else { $sortField = $sortFieldDefault; } @@ -407,8 +400,8 @@ class Department $criteria->setLimit((int)($limit)); } - $rsCriteria = \UsersPeer::doSelectRS($criteria); - $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); + $rsCriteria = UsersPeer::doSelectRS($criteria); + $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); while ($rsCriteria->next()) { $record = $rsCriteria->getRow(); @@ -432,7 +425,7 @@ class Department $filterName => ($flagFilter)? $arrayFilterData['filter'] : '', 'data' => $arrayUser ]; - } catch (\Exception $e) { + } catch (Exception $e) { throw $e; } } @@ -441,9 +434,6 @@ class Department * Put Set Manager User * * @access public - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * * @return void */ public function setManagerUser($dep_uid, $usr_uid) @@ -451,23 +441,23 @@ class Department $dep_uid = Validator::depUid($dep_uid); $usr_uid = Validator::usrUid($usr_uid); - $oCriteria = new \Criteria( 'workflow' ); + $oCriteria = new Criteria( 'workflow' ); $oCriteria->addSelectColumn( DepartmentPeer::DEP_UID ); - $oCriteria->add( DepartmentPeer::DEP_MANAGER, $usr_uid, \Criteria::EQUAL ); + $oCriteria->add( DepartmentPeer::DEP_MANAGER, $usr_uid, Criteria::EQUAL ); $oDataset = DepartmentPeer::doSelectRS( $oCriteria ); - $oDataset->setFetchmode( \ResultSet::FETCHMODE_ASSOC ); + $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); if ($oDataset->next()) { - throw (new \Exception(\G::LoadTranslation("ID_DEPARTMENT_MANAGER_EXIST", array('usr_uid',$usr_uid)))); + throw (new Exception(G::LoadTranslation("ID_DEPARTMENT_MANAGER_EXIST", array('usr_uid',$usr_uid)))); } $editDepartment['DEP_UID'] = $dep_uid; $editDepartment['DEP_MANAGER'] = $usr_uid; - $oDept = new \Department(); + $oDept = new DepartmentModel(); $oDept->update( $editDepartment ); $oDept->updateDepartmentManager( $dep_uid ); - $oDept = new \Department(); + $oDept = new DepartmentModel(); $oDept->Load($dep_uid); $oDept->addUserToDepartment($dep_uid, $usr_uid, ($oDept->getDepManager() == "")? true : false, false); $oDept->updateDepartmentManager($dep_uid); @@ -475,22 +465,19 @@ class Department /** * Get list for Departments + * * @var string $dep_uid. Uid for Department - * * @access public - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * * @return array */ public function getDepartment($dep_uid) { $dep_uid = Validator::depUid($dep_uid); - $criteria = new \Criteria( 'workflow' ); - $criteria->add( DepartmentPeer::DEP_UID, $dep_uid, \Criteria::EQUAL ); - $con = \Propel::getConnection( DepartmentPeer::DATABASE_NAME ); + $criteria = new Criteria( 'workflow' ); + $criteria->add( DepartmentPeer::DEP_UID, $dep_uid, Criteria::EQUAL ); + $con = Propel::getConnection( DepartmentPeer::DATABASE_NAME ); $objects = DepartmentPeer::doSelect( $criteria, $con ); - $oUsers = new \Users(); + $oUsers = new Users(); $node = array (); foreach ($objects as $oDepartment) { @@ -514,14 +501,14 @@ class Department $node['DEP_MANAGER_LASTNAME'] = ''; } - $criteria = new \Criteria(); - $criteria->add(UsersPeer::DEP_UID, $dep_uid, \Criteria::EQUAL ); + $criteria = new Criteria(); + $criteria->add(UsersPeer::DEP_UID, $dep_uid, Criteria::EQUAL ); $node['DEP_MEMBERS'] = UsersPeer::doCount($criteria); - $criteriaCount = new \Criteria( 'workflow' ); + $criteriaCount = new Criteria( 'workflow' ); $criteriaCount->clearSelectColumns(); $criteriaCount->addSelectColumn( 'COUNT(*)' ); - $criteriaCount->add( DepartmentPeer::DEP_PARENT, $oDepartment->getDepUid(), \Criteria::EQUAL ); + $criteriaCount->add( DepartmentPeer::DEP_PARENT, $oDepartment->getDepUid(), Criteria::EQUAL ); $rs = DepartmentPeer::doSelectRS( $criteriaCount ); $rs->next(); $row = $rs->getRow(); @@ -533,13 +520,10 @@ class Department /** * Save Department + * * @var string $dep_data. Data for Process * @var string $create. Flag for create or update - * * @access public - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * * @return array */ public function saveDepartment($dep_data, $create = true) @@ -554,7 +538,7 @@ class Department unset($dep_data["DEP_UID"]); } - $oDepartment = new \Department(); + $oDepartment = new DepartmentModel(); if (isset($dep_data['DEP_UID']) && $dep_data['DEP_UID'] != '') { Validator::depUid($dep_data['DEP_UID']); } @@ -581,7 +565,7 @@ class Department if (isset($dep_data['DEP_TITLE'])) { $this->throwExceptionIfExistsTitle($dep_data["DEP_TITLE"], strtolower("DEP_TITLE")); } else { - throw (new \Exception(\G::LoadTranslation("ID_FIELD_REQUIRED", array('dep_title')))); + throw (new Exception(G::LoadTranslation("ID_FIELD_REQUIRED", array('dep_title')))); } $dep_uid = $oDepartment->create($dep_data); @@ -595,41 +579,35 @@ class Department * @var string $dep_uid. Uid for department * * @access public - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * * @return array */ public function deleteDepartment($dep_uid) { $dep_uid = Validator::depUid($dep_uid); - $oDepartment = new \Department(); + $oDepartment = new DepartmentModel(); $countUsers = $oDepartment->cantUsersInDepartment($dep_uid); if ($countUsers != 0) { - throw (new \Exception(\G::LoadTranslation("ID_CANT_DELETE_DEPARTMENT_HAS_USERS"))); + throw (new Exception(G::LoadTranslation("ID_CANT_DELETE_DEPARTMENT_HAS_USERS"))); } $dep_data = $this->getDepartment($dep_uid); if ($dep_data['has_children'] != 0) { - throw (new \Exception(\G::LoadTranslation("ID_CANT_DELETE_DEPARTMENT_HAS_CHILDREN"))); + throw (new Exception(G::LoadTranslation("ID_CANT_DELETE_DEPARTMENT_HAS_CHILDREN"))); } $oDepartment->remove($dep_uid); } /** * Look for Children for department + * * @var array $dataDep. Data for child department - * * @access public - * @author Brayan Pereyra (Cochalo) - * @copyright Colosa - Bolivia - * * @return array */ protected function getChildren ($dataDep) { $children = array(); if ((int)$dataDep['HAS_CHILDREN'] > 0) { - $oDepartment = new \Department(); + $oDepartment = new DepartmentModel(); $aDepts = $oDepartment->getDepartments($dataDep['DEP_UID']); foreach ($aDepts as &$depData) { $depData['DEP_CHILDREN'] = $this->getChildren($depData); @@ -640,4 +618,3 @@ class Department return $children; } } - diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Role/User.php b/workflow/engine/src/ProcessMaker/BusinessModel/Role/User.php index 275af16ba..e15d4289a 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Role/User.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Role/User.php @@ -1,6 +1,19 @@ arrayFieldDefinition as $key => $value) { $this->arrayFieldNameForException[$value["fieldNameAux"]] = $key; } - } catch (\Exception $e) { + } catch (Exception $e) { throw $e; } } @@ -36,8 +49,7 @@ class User * Set the format of the fields name (uppercase, lowercase) * * @param bool $flag Value that set the format - * - * return void + * @return void */ public function setFormatFieldNameInUppercase($flag) { @@ -45,7 +57,7 @@ class User $this->formatFieldNameInUppercase = $flag; $this->setArrayFieldNameForException($this->arrayFieldNameForException); - } catch (\Exception $e) { + } catch (Exception $e) { throw $e; } } @@ -54,8 +66,7 @@ class User * Set exception messages for fields * * @param array $arrayData Data with the fields - * - * return void + * @return void */ public function setArrayFieldNameForException(array $arrayData) { @@ -63,7 +74,7 @@ class User foreach ($arrayData as $key => $value) { $this->arrayFieldNameForException[$key] = $this->getFieldNameByFormatFieldName($value); } - } catch (\Exception $e) { + } catch (Exception $e) { throw $e; } } @@ -72,14 +83,13 @@ class User * Get the name of the field according to the format * * @param string $fieldName Field name - * - * return string Return the field name according the format + * @return string Return the field name according the format */ public function getFieldNameByFormatFieldName($fieldName) { try { return ($this->formatFieldNameInUppercase)? strtoupper($fieldName) : strtolower($fieldName); - } catch (\Exception $e) { + } catch (Exception $e) { throw $e; } } @@ -90,18 +100,17 @@ class User * @param string $roleUid Unique id of Role * @param string $userUid Unique id of User * @param string $fieldNameForException Field name for the exception - * - * return void Throw exception if it's assigned the User to Role + * @return void Throw exception if it's assigned the User to Role */ public function throwExceptionIfItsAssignedUserToRole($roleUid, $userUid, $fieldNameForException) { try { - $obj = \UsersRolesPeer::retrieveByPK($userUid, $roleUid); + $obj = UsersRolesPeer::retrieveByPK($userUid, $roleUid); if (!is_null($obj)) { - throw new \Exception(\G::LoadTranslation("ID_ROLE_USER_IS_ALREADY_ASSIGNED", array($fieldNameForException, $userUid))); + throw new Exception(G::LoadTranslation("ID_ROLE_USER_IS_ALREADY_ASSIGNED", array($fieldNameForException, $userUid))); } - } catch (\Exception $e) { + } catch (Exception $e) { throw $e; } } @@ -112,18 +121,17 @@ class User * @param string $roleUid Unique id of Role * @param string $userUid Unique id of User * @param string $fieldNameForException Field name for the exception - * - * return void Throw exception if not it's assigned the User to Role + * @return void Throw exception if not it's assigned the User to Role */ public function throwExceptionIfNotItsAssignedUserToRole($roleUid, $userUid, $fieldNameForException) { try { - $obj = \UsersRolesPeer::retrieveByPK($userUid, $roleUid); + $obj = UsersRolesPeer::retrieveByPK($userUid, $roleUid); if (is_null($obj)) { - throw new \Exception(\G::LoadTranslation("ID_ROLE_USER_IS_NOT_ASSIGNED", array($fieldNameForException, $userUid))); + throw new Exception(G::LoadTranslation("ID_ROLE_USER_IS_NOT_ASSIGNED", array($fieldNameForException, $userUid))); } - } catch (\Exception $e) { + } catch (Exception $e) { throw $e; } } @@ -133,15 +141,14 @@ class User * * @param string $roleUid Unique id of Role * @param array $arrayData Data - * - * return array Return data of the User assigned to Role + * @return array Return data of the User assigned to Role */ public function create($roleUid, array $arrayData) { try { //Verify data - $process = new \ProcessMaker\BusinessModel\Process(); - $validator = new \ProcessMaker\BusinessModel\Validator(); + $process = new Process(); + $validator = new Validator(); $validator->throwExceptionIfDataIsEmpty($arrayData, "\$arrayData"); @@ -151,7 +158,7 @@ class User unset($arrayData["ROL_UID"]); //Verify data - $role = new \ProcessMaker\BusinessModel\Role(); + $role = new Role(); $role->throwExceptionIfNotExistsRole($roleUid, $this->arrayFieldNameForException["roleUid"]); @@ -162,11 +169,11 @@ class User $this->throwExceptionIfItsAssignedUserToRole($roleUid, $arrayData["USR_UID"], $this->arrayFieldNameForException["userUid"]); if ($arrayData["USR_UID"] == "00000000000000000000000000000001") { - throw new \Exception(\G::LoadTranslation("ID_ADMINISTRATOR_ROLE_CANT_CHANGED")); + throw new Exception(G::LoadTranslation("ID_ADMINISTRATOR_ROLE_CANT_CHANGED")); } //Create - $role = new \Roles(); + $role = new Roles(); $arrayData = array_merge(array("ROL_UID" => $roleUid), $arrayData); @@ -178,7 +185,7 @@ class User } return $arrayData; - } catch (\Exception $e) { + } catch (Exception $e) { throw $e; } } @@ -188,15 +195,14 @@ class User * * @param string $roleUid Unique id of Role * @param string $userUid Unique id of User - * - * return void + * @return void */ public function delete($roleUid, $userUid) { try { //Verify data - $process = new \ProcessMaker\BusinessModel\Process(); - $role = new \ProcessMaker\BusinessModel\Role(); + $process = new Process(); + $role = new Role(); $role->throwExceptionIfNotExistsRole($roleUid, $this->arrayFieldNameForException["roleUid"]); @@ -205,14 +211,14 @@ class User $this->throwExceptionIfNotItsAssignedUserToRole($roleUid, $userUid, $this->arrayFieldNameForException["userUid"]); if ($userUid == "00000000000000000000000000000001") { - throw new \Exception(\G::LoadTranslation("ID_ADMINISTRATOR_ROLE_CANT_CHANGED")); + throw new Exception(G::LoadTranslation("ID_ADMINISTRATOR_ROLE_CANT_CHANGED")); } //Delete - $role = new \Roles(); + $role = new Roles(); $role->deleteUserRole($roleUid, $userUid); - } catch (\Exception $e) { + } catch (Exception $e) { throw $e; } } @@ -221,8 +227,7 @@ class User * Get data of a User from a record * * @param array $record Record - * - * return array Return an array with data User + * @return array Return an array with data User */ public function getUserDataFromRecord(array $record) { @@ -234,7 +239,7 @@ class User $this->getFieldNameByFormatFieldName("USR_LASTNAME") => $record["USR_LASTNAME"] . "", $this->getFieldNameByFormatFieldName("USR_STATUS") => ($record["USR_STATUS"] . "" == "1")? "ACTIVE" : "INACTIVE" ); - } catch (\Exception $e) { + } catch (Exception $e) { throw $e; } } @@ -249,8 +254,7 @@ class User * @param string $sortDir Direction of sorting (ASC, DESC) * @param int $start Start * @param int $limit Limit - * - * return array Return an array with all Users of a Role + * @return array Return an array with all Users of a Role */ public function getUsers($roleUid, $option, array $arrayFilterData = null, $sortField = null, $sortDir = null, $start = null, $limit = null) { @@ -262,8 +266,8 @@ class User //Verify data and Set variables $flagFilter = !is_null($arrayFilterData) && is_array($arrayFilterData) && isset($arrayFilterData['filter']); - $process = new \ProcessMaker\BusinessModel\Process(); - $role = new \ProcessMaker\BusinessModel\Role(); + $process = new Process(); + $role = new Role(); $role->throwExceptionIfNotExistsRole($roleUid, $this->arrayFieldNameForException["roleUid"]); @@ -303,25 +307,25 @@ class User } //Query - $criteria = new \Criteria('rbac'); + $criteria = new Criteria('rbac'); - $criteria->addSelectColumn(\RbacUsersPeer::USR_UID); - $criteria->addSelectColumn(\RbacUsersPeer::USR_USERNAME); - $criteria->addSelectColumn(\RbacUsersPeer::USR_FIRSTNAME); - $criteria->addSelectColumn(\RbacUsersPeer::USR_LASTNAME); - $criteria->addSelectColumn(\RbacUsersPeer::USR_STATUS); + $criteria->addSelectColumn(RbacUsersPeer::USR_UID); + $criteria->addSelectColumn(RbacUsersPeer::USR_USERNAME); + $criteria->addSelectColumn(RbacUsersPeer::USR_FIRSTNAME); + $criteria->addSelectColumn(RbacUsersPeer::USR_LASTNAME); + $criteria->addSelectColumn(RbacUsersPeer::USR_STATUS); - $criteria->addJoin(\RbacUsersPeer::USR_UID, \UsersRolesPeer::USR_UID, \Criteria::LEFT_JOIN); + $criteria->addJoin(RbacUsersPeer::USR_UID, UsersRolesPeer::USR_UID, Criteria::LEFT_JOIN); - $criteria->add(\RbacUsersPeer::USR_USERNAME, '', \Criteria::NOT_EQUAL); + $criteria->add(RbacUsersPeer::USR_USERNAME, '', Criteria::NOT_EQUAL); switch ($option) { case "USERS": - $criteria->add(\UsersRolesPeer::ROL_UID, $roleUid, \Criteria::EQUAL); + $criteria->add(UsersRolesPeer::ROL_UID, $roleUid, Criteria::EQUAL); break; case "AVAILABLE-USERS": - $criteria->add(\UsersRolesPeer::ROL_UID, $roleUid, \Criteria::NOT_EQUAL); - $criteria->add(\RbacUsersPeer::USR_UID, [\RBAC::GUEST_USER_UID], \Criteria::NOT_IN); + $criteria->add(UsersRolesPeer::ROL_UID, $roleUid, Criteria::NOT_EQUAL); + $criteria->add(RbacUsersPeer::USR_UID, [RBAC::GUEST_USER_UID], Criteria::NOT_IN); break; } @@ -337,24 +341,24 @@ class User ]; $criteria->add( - $criteria->getNewCriterion(\RbacUsersPeer::USR_USERNAME, $search, \Criteria::LIKE)->addOr( - $criteria->getNewCriterion(\RbacUsersPeer::USR_FIRSTNAME, $search, \Criteria::LIKE)->addOr( - $criteria->getNewCriterion(\RbacUsersPeer::USR_LASTNAME, $search, \Criteria::LIKE))) + $criteria->getNewCriterion(RbacUsersPeer::USR_USERNAME, $search, Criteria::LIKE)->addOr( + $criteria->getNewCriterion(RbacUsersPeer::USR_FIRSTNAME, $search, Criteria::LIKE)->addOr( + $criteria->getNewCriterion(RbacUsersPeer::USR_LASTNAME, $search, Criteria::LIKE))) ); } //Number records total - $numRecTotal = \RbacUsersPeer::doCount($criteria); + $numRecTotal = RbacUsersPeer::doCount($criteria); //Query - $conf = new \Configurations(); - $sortFieldDefault = \RbacUsersPeer::TABLE_NAME . '.' . $conf->userNameFormatGetFirstFieldByUsersTable(); + $conf = new Configurations(); + $sortFieldDefault = RbacUsersPeer::TABLE_NAME . '.' . $conf->userNameFormatGetFirstFieldByUsersTable(); if (!is_null($sortField) && trim($sortField) != '') { $sortField = strtoupper($sortField); - if (in_array(\RbacUsersPeer::TABLE_NAME . '.' . $sortField, $criteria->getSelectColumns())) { - $sortField = \RbacUsersPeer::TABLE_NAME . '.' . $sortField; + if (in_array(RbacUsersPeer::TABLE_NAME . '.' . $sortField, $criteria->getSelectColumns())) { + $sortField = RbacUsersPeer::TABLE_NAME . '.' . $sortField; } else { $sortField = $sortFieldDefault; } @@ -376,8 +380,8 @@ class User $criteria->setLimit((int)($limit)); } - $rsCriteria = \RbacUsersPeer::doSelectRS($criteria); - $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); + $rsCriteria = RbacUsersPeer::doSelectRS($criteria); + $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); @@ -393,7 +397,7 @@ class User $filterName => ($flagFilter)? $arrayFilterData['filter'] : '', 'data' => $arrayUser ]; - } catch (\Exception $e) { + } catch (Exception $e) { throw $e; } } From ed32b004f161f480f744491ae093cf032f75c94e Mon Sep 17 00:00:00 2001 From: davidcallizaya Date: Tue, 3 Oct 2017 16:33:50 -0400 Subject: [PATCH 29/41] HOR-3946 Fix guest username. --- gulliver/system/class.rbac.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gulliver/system/class.rbac.php b/gulliver/system/class.rbac.php index 96562f8c2..01e28a9c2 100644 --- a/gulliver/system/class.rbac.php +++ b/gulliver/system/class.rbac.php @@ -416,7 +416,7 @@ class RBAC $arrayData = array(); $arrayData["USR_UID"] = self::GUEST_USER_UID; - $arrayData["USR_USERNAME"] = 'Guest'; + $arrayData["USR_USERNAME"] = 'guest'; $arrayData["USR_PASSWORD"] = '674ba9750749d735ec9787d606170d78'; $arrayData["USR_FIRSTNAME"] = 'Guest'; $arrayData["USR_LASTNAME"] = ''; From bdf7faa1f0d1442d578866265724bed55e6691c2 Mon Sep 17 00:00:00 2001 From: dheeyi william Date: Wed, 4 Oct 2017 12:19:40 -0400 Subject: [PATCH 30/41] FBI-2182 Web Entry 2.0 User field Improvements request --- config/enviromentvariables.json | 12 ++++++++++++ gulpfile.js | 20 +++++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 config/enviromentvariables.json diff --git a/config/enviromentvariables.json b/config/enviromentvariables.json new file mode 100644 index 000000000..57d9fc8da --- /dev/null +++ b/config/enviromentvariables.json @@ -0,0 +1,12 @@ +{ + "name": "Environment variables", + "description": "Definition of system constants", + "constants": { + "userguest": { + "uid": "00000000000000000000000000000002", + "firstname": "Guest", + "lastname": "Guest", + "username": "guest" + } + } +} \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index 85dcb13b8..d3480a82f 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -6,6 +6,7 @@ const path = require('path'), _ = require('underscore'), gutil = require('gulp-util'), grename = require('gulp-rename'), + createFile = require('fs'), del = require('del'), exec = require('child_process').exec, execFile = require('child_process').execFile, @@ -471,7 +472,24 @@ gulp.task('clean', function () { cleanDirectory('workflow/public_html/lib'); }); -gulp.task('default', ['clean'], function (cb) { +/** + * This scheduled task is to be able to create the guest user constants + */ +gulp.task('__env', function (cb) { + var data = require('./config/enviromentvariables.json'), + pathEnviroment = 'vendor/colosa/MichelangeloFE/src/enviromentVariables/', + content = 'var __env = __env || {};'; + + gutil.log(gutil.colors.green('Creating guest user constants...')); + + createFile.writeFile( + pathEnviroment + 'enviromentVariables.js', + content + '__env.USER_GUEST = ' + JSON.stringify(data.constants.userguest) + ';', + cb + ); +}); + +gulp.task('default', ['clean', '__env'], function (cb) { var i, tasks = []; gutil.log(gutil.colors.green('Initializing ProcessMaker building...')); From 0d294b0da76e38d3b8f09d1c71155b5a18b09a0e Mon Sep 17 00:00:00 2001 From: dheeyi william Date: Wed, 4 Oct 2017 15:03:16 -0400 Subject: [PATCH 31/41] FBI-2182 Web Entry 2.0 User field Improvements request --- Rakefile | 15 ++++++++++++++- gulpfile.js | 6 +++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/Rakefile b/Rakefile index 412773015..75b4bb983 100644 --- a/Rakefile +++ b/Rakefile @@ -1,5 +1,5 @@ require 'rubygems' - +require 'json' desc "Default Task - Build Library" task :default => [:required] do Rake::Task['build'].execute @@ -53,6 +53,7 @@ task :build => [:required] do mafeDir = targetDir + "/mafe" pmdynaformDir = targetDir + "/pmdynaform" + generateEnviromentVariables prepareDirs([targetDir, pmUIDir, mafeDir, pmdynaformDir, jsTargetDir, cssTargetDir, cssImagesTargetDir, imgTargetDir, pmUIFontsDir]) buildPmUi(Dir.pwd + "/vendor/colosa/pmUI", targetDir, mode) @@ -134,6 +135,18 @@ task :build => [:required] do #task argv1.to_sym do ; end end +def generateEnviromentVariables() + puts "Creating System Constants..." + content = "var __env = __env || {};" + file = File.read('./config/enviromentvariables.json') + data_hash = JSON.parse(file) + content = content + "__env.USER_GUEST = " + JSON.generate(data_hash['constants']['userguest']) + dir = "vendor/colosa/MichelangeloFE/src/enviroment/" + File.open(dir +'constans.js', 'w') { |fileWrite| + fileWrite.write content + ';' + } +end + def buildPmUi(homeDir, targetDir, mode) puts "\nBuilding PMUI library".green.bold diff --git a/gulpfile.js b/gulpfile.js index d3480a82f..c47b63a27 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -477,13 +477,13 @@ gulp.task('clean', function () { */ gulp.task('__env', function (cb) { var data = require('./config/enviromentvariables.json'), - pathEnviroment = 'vendor/colosa/MichelangeloFE/src/enviromentVariables/', + pathEnviroment = 'vendor/colosa/MichelangeloFE/src/enviroment/', content = 'var __env = __env || {};'; - gutil.log(gutil.colors.green('Creating guest user constants...')); + gutil.log(gutil.colors.green('Creating System Constants...')); createFile.writeFile( - pathEnviroment + 'enviromentVariables.js', + pathEnviroment + 'constans.js', content + '__env.USER_GUEST = ' + JSON.stringify(data.constants.userguest) + ';', cb ); From 79b907f4a2ccee67fe10a8cd919c05b3b769be83 Mon Sep 17 00:00:00 2001 From: dheeyi william Date: Wed, 4 Oct 2017 15:34:37 -0400 Subject: [PATCH 32/41] FBI-2182 Web Entry 2.0 User field Improvements request --- Rakefile | 6 +++--- gulpfile.js | 5 ++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Rakefile b/Rakefile index 75b4bb983..ca5f47cd6 100644 --- a/Rakefile +++ b/Rakefile @@ -139,10 +139,10 @@ def generateEnviromentVariables() puts "Creating System Constants..." content = "var __env = __env || {};" file = File.read('./config/enviromentvariables.json') - data_hash = JSON.parse(file) - content = content + "__env.USER_GUEST = " + JSON.generate(data_hash['constants']['userguest']) + dataUser = JSON.parse(file) + content = content + "__env.USER_GUEST = " + JSON.generate(dataUser['constants']['userguest']) dir = "vendor/colosa/MichelangeloFE/src/enviroment/" - File.open(dir +'constans.js', 'w') { |fileWrite| + File.open(dir +'constants.js', 'w') { |fileWrite| fileWrite.write content + ';' } end diff --git a/gulpfile.js b/gulpfile.js index c47b63a27..cbc28789e 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -6,7 +6,6 @@ const path = require('path'), _ = require('underscore'), gutil = require('gulp-util'), grename = require('gulp-rename'), - createFile = require('fs'), del = require('del'), exec = require('child_process').exec, execFile = require('child_process').execFile, @@ -482,8 +481,8 @@ gulp.task('__env', function (cb) { gutil.log(gutil.colors.green('Creating System Constants...')); - createFile.writeFile( - pathEnviroment + 'constans.js', + fs.writeFile( + pathEnviroment + 'constants.js', content + '__env.USER_GUEST = ' + JSON.stringify(data.constants.userguest) + ';', cb ); From 49bd973e2190dadfa8d63b27ca9843b8af35cb50 Mon Sep 17 00:00:00 2001 From: dheeyi william Date: Wed, 4 Oct 2017 16:11:11 -0400 Subject: [PATCH 33/41] FBI-2182 Web Entry 2.0 User field Improvements request --- Rakefile | 2 ++ gulpfile.js | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Rakefile b/Rakefile index ca5f47cd6..7f75a4613 100644 --- a/Rakefile +++ b/Rakefile @@ -142,6 +142,8 @@ def generateEnviromentVariables() dataUser = JSON.parse(file) content = content + "__env.USER_GUEST = " + JSON.generate(dataUser['constants']['userguest']) dir = "vendor/colosa/MichelangeloFE/src/enviroment/" + # create a directory enviroment + Dir.mkdir dir File.open(dir +'constants.js', 'w') { |fileWrite| fileWrite.write content + ';' } diff --git a/gulpfile.js b/gulpfile.js index cbc28789e..2ecbb281b 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -480,7 +480,9 @@ gulp.task('__env', function (cb) { content = 'var __env = __env || {};'; gutil.log(gutil.colors.green('Creating System Constants...')); - + if (!fs.existsSync(pathEnviroment)){ + fs.mkdirSync(pathEnviroment); + } fs.writeFile( pathEnviroment + 'constants.js', content + '__env.USER_GUEST = ' + JSON.stringify(data.constants.userguest) + ';', From 7d99f1e69e02872b10bddeaac759374672792b35 Mon Sep 17 00:00:00 2001 From: davidcallizaya Date: Thu, 5 Oct 2017 12:20:25 -0400 Subject: [PATCH 34/41] HOR-3956 + Enable access to guest user to use the PM_CASES. + Add PM_DASHBOARD permission to KPIs. + Add internal permission alias: RBAC->userCanAccess() * Verify if the user has a right over the permission. Ex. * $rbac->userCanAccess("PM_CASES"); * * Alias of permissions: * PM_CASES has alias: PM_GUES_CASE * This means that a role with PM_GUES_CASE could access like one with PM_CASES * unless the permission is required as strict, like this: * $rbac->userCanAccess("PM_CASES/strict"); --- gulliver/system/class.rbac.php | 42 ++++++++++++++----- rbac/engine/classes/model/RbacUsers.php | 2 +- workflow/engine/classes/WsBase.php | 2 +- workflow/engine/methods/cases/main.php | 2 +- .../engine/methods/login/authentication.php | 2 +- workflow/engine/methods/services/soap2.php | 9 +--- .../methods/strategicDashboard/main.php | 1 + 7 files changed, 37 insertions(+), 23 deletions(-) diff --git a/gulliver/system/class.rbac.php b/gulliver/system/class.rbac.php index 01e28a9c2..14a042a4d 100644 --- a/gulliver/system/class.rbac.php +++ b/gulliver/system/class.rbac.php @@ -82,6 +82,8 @@ class RBAC private static $instance = null; public $authorizedActions = array(); + private $aliasPermissions = []; + /** * To enable compatibility with soap login. * @var bool @@ -146,13 +148,13 @@ class RBAC ), 'home.php' => array( 'login' => array('PM_LOGIN'), - 'index' => array('PM_CASES'), - 'indexSingle' => array('PM_CASES'), - 'appList' => array('PM_CASES'), + 'index' => array('PM_CASES/strict'), + 'indexSingle' => array('PM_CASES/strict'), + 'appList' => array('PM_CASES/strict'), 'appAdvancedSearch' => array('PM_ALLCASES'), 'getApps' => array('PM_ALLCASES'), 'getAppsData' => array('PM_ALLCASES'), - 'startCase' => array('PM_CASES'), + 'startCase' => array('PM_CASES/strict'), 'error' => array(), 'getUserArray' => array('PM_ALLCASES'), 'getCategoryArray' => array('PM_ALLCASES'), @@ -187,6 +189,8 @@ class RBAC 'TEST' => array('PM_SETUP') ) ); + $this->aliasPermissions['PM_CASES'] = [self::PM_GUEST_CASE]; + $this->aliasPermissions['PM_LOGIN'] = [self::PM_GUEST_CASE]; } /** @@ -760,28 +764,44 @@ class RBAC } /** - * Verify if the user has a right over the permission + * Verify if the user has a right over the permission. Ex. + * $rbac->userCanAccess("PM_CASES"); + * + * Alias of permissions: + * PM_CASES has alias: PM_GUES_CASE + * This means that a role with PM_GUES_CASE could access like one with PM_CASES + * unless the permission is required as strict, like this: + * $rbac->userCanAccess("PM_CASES/strict"); * - * @author Fernando Ontiveros * @access public - * * @param string $uid id of user * @param string $system Code of System - * @param string $perm id of Permissions + * @param string $permBase id of Permissions * @return int 1: If it is ok * -1: System doesn't exists * -2: The User has not a Role * -3: The User has not this Permission. */ - public function userCanAccess ($perm) + public function userCanAccess($permBase) { - if (isset( $this->aUserInfo[$this->sSystem]['PERMISSIONS'] )) { + $strict = substr($permBase, -7, 7) === '/strict'; + $perm = $strict ? substr($permBase, 0, -7) : $permBase; + if (isset($this->aUserInfo[$this->sSystem]['PERMISSIONS'])) { $res = - 3; - //if ( !isset ( $this->aUserInfo[ $this->sSystem ]['ROLE'. 'x'] ) ) $res = -2; foreach ($this->aUserInfo[$this->sSystem]['PERMISSIONS'] as $key => $val) { if ($perm == $val['PER_CODE']) { $res = 1; } + $hasAliasPermission = !$strict + && isset($this->aliasPermissions[$perm]) + && array_search( + $val['PER_CODE'], + $this->aliasPermissions[$perm] + ) !== false; + if ($hasAliasPermission) { + $res = 1; + break; + } } } else { $res = - 1; diff --git a/rbac/engine/classes/model/RbacUsers.php b/rbac/engine/classes/model/RbacUsers.php index 9e76fd516..904ac16ab 100644 --- a/rbac/engine/classes/model/RbacUsers.php +++ b/rbac/engine/classes/model/RbacUsers.php @@ -87,7 +87,7 @@ class RbacUsers extends BaseRbacUsers if ($aFields['USR_DUE_DATE'] < date('Y-m-d')) { return -4; } - if ($aFields['USR_STATUS'] != 1) { + if ($aFields['USR_STATUS'] != 1 && $aFields['USR_UID']!== RBAC::GUEST_USER_UID) { return -3; } $role = $this->getUserRole($aFields['USR_UID']); diff --git a/workflow/engine/classes/WsBase.php b/workflow/engine/classes/WsBase.php index 6455e8f68..047b14385 100644 --- a/workflow/engine/classes/WsBase.php +++ b/workflow/engine/classes/WsBase.php @@ -72,7 +72,7 @@ class WsBase $RBAC->loadUserRolePermission($RBAC->sSystem, $uid); $res = $RBAC->userCanAccess("PM_LOGIN"); - if ($res != 1) { + if ($res != 1 && $uid!== RBAC::GUEST_USER_UID) { $wsResponse = new WsResponse(2, G::loadTranslation('ID_USER_HAVENT_RIGHTS_SYSTEM')); throw (new Exception(serialize($wsResponse))); } diff --git a/workflow/engine/methods/cases/main.php b/workflow/engine/methods/cases/main.php index 6ba9c640f..183638749 100644 --- a/workflow/engine/methods/cases/main.php +++ b/workflow/engine/methods/cases/main.php @@ -22,7 +22,7 @@ * Coral Gables, FL, 33134, USA, or email info@colosa.com. */ -$RBAC->requirePermissions( 'PM_CASES' ); +$RBAC->requirePermissions( 'PM_CASES/strict' ); $G_MAIN_MENU = 'processmaker'; $G_ID_MENU_SELECTED = 'CASES'; diff --git a/workflow/engine/methods/login/authentication.php b/workflow/engine/methods/login/authentication.php index d6abdd619..906825422 100644 --- a/workflow/engine/methods/login/authentication.php +++ b/workflow/engine/methods/login/authentication.php @@ -293,7 +293,7 @@ try { // Assign the uid of user to userloggedobj $RBAC->loadUserRolePermission($RBAC->sSystem, $uid); - $res = $RBAC->userCanAccess('PM_LOGIN'); + $res = $RBAC->userCanAccess('PM_LOGIN/strict'); if ($res != 1 ) { if ($res == -2) { G::SendTemporalMessage ('ID_USER_HAVENT_RIGHTS_SYSTEM', "error"); diff --git a/workflow/engine/methods/services/soap2.php b/workflow/engine/methods/services/soap2.php index 45520398d..80c645310 100644 --- a/workflow/engine/methods/services/soap2.php +++ b/workflow/engine/methods/services/soap2.php @@ -981,14 +981,7 @@ function ifPermission($sessionId, $permission) $oRBAC = RBAC::getSingleton(); $oRBAC->loadUserRolePermission($oRBAC->sSystem, $user['USR_UID']); - $aPermissions = $oRBAC->aUserInfo[$oRBAC->sSystem]['PERMISSIONS']; - $sw = 0; - - foreach ($aPermissions as $aPermission) { - if ($aPermission['PER_CODE'] == $permission) { - $sw = 1; - } - } + $sw = $oRBAC->userCanAccess($permission) === 1 ? 1 : 0; return $sw; } diff --git a/workflow/engine/methods/strategicDashboard/main.php b/workflow/engine/methods/strategicDashboard/main.php index e239d2420..4bed42b11 100644 --- a/workflow/engine/methods/strategicDashboard/main.php +++ b/workflow/engine/methods/strategicDashboard/main.php @@ -22,6 +22,7 @@ * Coral Gables, FL, 33134, USA, or email info@colosa.com. */ +$RBAC->requirePermissions( 'PM_DASHBOARD' ); $licensedFeatures = & PMLicensedFeatures::getSingleton(); if (!$licensedFeatures->verifyfeature('r19Vm5DK1UrT09MenlLYjZxejlhNUZ1b1NhV0JHWjBsZEJ6dnpJa3dTeWVLVT0=')) { G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); From 2a81bba175c04171dfbc091fb1e32f52284da2a4 Mon Sep 17 00:00:00 2001 From: davidcallizaya Date: Thu, 5 Oct 2017 15:01:09 -0400 Subject: [PATCH 35/41] HOR-3956 Fix CR --- gulliver/system/class.rbac.php | 4 +-- rbac/engine/classes/model/RbacUsers.php | 2 +- workflow/engine/classes/WsBase.php | 2 +- workflow/engine/methods/cases/main.php | 32 +++--------------- .../methods/strategicDashboard/main.php | 33 +++---------------- 5 files changed, 14 insertions(+), 59 deletions(-) diff --git a/gulliver/system/class.rbac.php b/gulliver/system/class.rbac.php index 14a042a4d..a61c7e282 100644 --- a/gulliver/system/class.rbac.php +++ b/gulliver/system/class.rbac.php @@ -768,8 +768,8 @@ class RBAC * $rbac->userCanAccess("PM_CASES"); * * Alias of permissions: - * PM_CASES has alias: PM_GUES_CASE - * This means that a role with PM_GUES_CASE could access like one with PM_CASES + * PM_CASES has alias: PM_GUEST_CASE + * This means that a role with PM_GUEST_CASE could access like one with PM_CASES * unless the permission is required as strict, like this: * $rbac->userCanAccess("PM_CASES/strict"); * diff --git a/rbac/engine/classes/model/RbacUsers.php b/rbac/engine/classes/model/RbacUsers.php index 904ac16ab..cd67c61d0 100644 --- a/rbac/engine/classes/model/RbacUsers.php +++ b/rbac/engine/classes/model/RbacUsers.php @@ -87,7 +87,7 @@ class RbacUsers extends BaseRbacUsers if ($aFields['USR_DUE_DATE'] < date('Y-m-d')) { return -4; } - if ($aFields['USR_STATUS'] != 1 && $aFields['USR_UID']!== RBAC::GUEST_USER_UID) { + if ($aFields['USR_STATUS'] != 1 && $aFields['USR_UID'] !== RBAC::GUEST_USER_UID) { return -3; } $role = $this->getUserRole($aFields['USR_UID']); diff --git a/workflow/engine/classes/WsBase.php b/workflow/engine/classes/WsBase.php index 047b14385..9cc4780bd 100644 --- a/workflow/engine/classes/WsBase.php +++ b/workflow/engine/classes/WsBase.php @@ -72,7 +72,7 @@ class WsBase $RBAC->loadUserRolePermission($RBAC->sSystem, $uid); $res = $RBAC->userCanAccess("PM_LOGIN"); - if ($res != 1 && $uid!== RBAC::GUEST_USER_UID) { + if ($res != 1 && $uid !== RBAC::GUEST_USER_UID) { $wsResponse = new WsResponse(2, G::loadTranslation('ID_USER_HAVENT_RIGHTS_SYSTEM')); throw (new Exception(serialize($wsResponse))); } diff --git a/workflow/engine/methods/cases/main.php b/workflow/engine/methods/cases/main.php index 183638749..1df695d55 100644 --- a/workflow/engine/methods/cases/main.php +++ b/workflow/engine/methods/cases/main.php @@ -1,38 +1,16 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - */ - -$RBAC->requirePermissions( 'PM_CASES/strict' ); +$RBAC->requirePermissions('PM_CASES/strict'); $G_MAIN_MENU = 'processmaker'; $G_ID_MENU_SELECTED = 'CASES'; -$_POST['qs'] = isset( $_SERVER['QUERY_STRING'] ) && $_SERVER['QUERY_STRING'] != '' ? '?' . $_SERVER['QUERY_STRING'] : ''; +$_POST['qs'] = isset($_SERVER['QUERY_STRING']) + && $_SERVER['QUERY_STRING'] != '' ? '?' . $_SERVER['QUERY_STRING'] : ''; $G_PUBLISH = new Publisher(); -$G_PUBLISH->AddContent( 'view', 'cases/cases_Load' ); +$G_PUBLISH->AddContent('view', 'cases/cases_Load'); $oHeadPublisher = & headPublisher::getSingleton(); $oHeadPublisher->addScriptFile('/jscore/src/PM.js'); $oHeadPublisher->addScriptFile('/jscore/src/Sessions.js'); -G::RenderPage( 'publish' ); +G::RenderPage('publish'); diff --git a/workflow/engine/methods/strategicDashboard/main.php b/workflow/engine/methods/strategicDashboard/main.php index 4bed42b11..9608e48be 100644 --- a/workflow/engine/methods/strategicDashboard/main.php +++ b/workflow/engine/methods/strategicDashboard/main.php @@ -1,32 +1,9 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - */ - -$RBAC->requirePermissions( 'PM_DASHBOARD' ); +$RBAC->requirePermissions('PM_DASHBOARD'); $licensedFeatures = & PMLicensedFeatures::getSingleton(); if (!$licensedFeatures->verifyfeature('r19Vm5DK1UrT09MenlLYjZxejlhNUZ1b1NhV0JHWjBsZEJ6dnpJa3dTeWVLVT0=')) { - G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); - G::header( 'location: ../login/login' ); + G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); + G::header('location: ../login/login'); die; } @@ -34,10 +11,10 @@ $G_MAIN_MENU = 'processmaker'; $G_ID_MENU_SELECTED = 'DASHBOARD+'; $G_PUBLISH = new Publisher(); -$G_PUBLISH->AddContent( 'view', 'strategicDashboard/load' ); +$G_PUBLISH->AddContent('view', 'strategicDashboard/load'); $oHeadPublisher = & headPublisher::getSingleton(); $oHeadPublisher->addScriptFile('/jscore/src/PM.js'); $oHeadPublisher->addScriptFile('/jscore/src/Sessions.js'); -G::RenderPage( 'publish' ); +G::RenderPage('publish'); From 951de45cc525cf9ae438887520331a9f80ebd576 Mon Sep 17 00:00:00 2001 From: davidcallizaya Date: Tue, 10 Oct 2017 11:38:28 -0400 Subject: [PATCH 36/41] HOR-3906 Do not upgrade usr_uid to guest when the process is updated. It will be modified from any other place (webentry UI dialog, endpoint) --- .../engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php | 6 ++++-- .../src/ProcessMaker/Project/Adapter/BpmnWorkflow.php | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php b/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php index 2b588f6a6..e26705140 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php @@ -796,7 +796,7 @@ class WebEntryEvent * @return array Return data of the WebEntry-Event updated * @throws Exception */ - public function update($webEntryEventUid, $userUidUpdater, array $arrayData) + public function update($webEntryEventUid, $userUidUpdater, array $arrayData, $updateUser = true) { try { //Verify data @@ -826,7 +826,9 @@ class WebEntryEvent //Define if the webEntry need to use the guest user $weUserUid = isset($arrayData["USR_UID"]) ? $arrayData["USR_UID"] : ''; $weAuthentication = isset($arrayData["WE_AUTHENTICATION"]) ? $arrayData["WE_AUTHENTICATION"] : ''; - $arrayData["USR_UID"] = $this->getWebEntryUser($weAuthentication, $weUserUid); + if ($updateUser) { + $arrayData["USR_UID"] = $this->getWebEntryUser($weAuthentication, $weUserUid); + } //Verify data with the required fields $this->throwExceptionIfDataIsInvalid($webEntryEventUid, $arrayWebEntryEventData["PRJ_UID"], $arrayData); diff --git a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php index fb79e87eb..6083ac8ad 100644 --- a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php +++ b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php @@ -2086,7 +2086,8 @@ class BpmnWorkflow extends Project\Bpmn $arrayResult = $webEntryEvent->update( $arrayWebEntryEventData['WEE_UID'], $bpmnProject->getPrjAuthor(), - (!is_null($arrayData))? $arrayData : $arrayWebEntryEventData + (!is_null($arrayData))? $arrayData : $arrayWebEntryEventData, + false ); } } From b221d72311ffb8e5e9bc6910f80b3182ea83558d Mon Sep 17 00:00:00 2001 From: dheeyi william Date: Tue, 10 Oct 2017 16:01:37 -0400 Subject: [PATCH 37/41] FBI-2189 It is not possible to execute the "rake" command --- Rakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rakefile b/Rakefile index 7f75a4613..8ffc4d77f 100644 --- a/Rakefile +++ b/Rakefile @@ -143,7 +143,7 @@ def generateEnviromentVariables() content = content + "__env.USER_GUEST = " + JSON.generate(dataUser['constants']['userguest']) dir = "vendor/colosa/MichelangeloFE/src/enviroment/" # create a directory enviroment - Dir.mkdir dir + FileUtils.mkdir_p(dir) File.open(dir +'constants.js', 'w') { |fileWrite| fileWrite.write content + ';' } From 5327ecdfd536dd76fe621b0d5ce92886f739ea2f Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Tue, 17 Oct 2017 11:45:53 -0400 Subject: [PATCH 38/41] HOR-3926 --- gulliver/system/class.rbac.php | 1312 +++++++++++--------- rbac/engine/classes/model/RbacUsers.php | 307 +++-- workflow/engine/classes/Groups.php | 45 +- workflow/engine/classes/WsBase.php | 122 +- workflow/engine/classes/model/TaskUser.php | 54 +- workflow/engine/classes/model/Users.php | 14 +- 6 files changed, 1072 insertions(+), 782 deletions(-) diff --git a/gulliver/system/class.rbac.php b/gulliver/system/class.rbac.php index a61c7e282..f4639e2c3 100644 --- a/gulliver/system/class.rbac.php +++ b/gulliver/system/class.rbac.php @@ -34,22 +34,16 @@ use ProcessMaker\Exception\RBACException; * RBAC class definition * * @package gulliver.system - * @copyright (C) 2002 by Colosa Development Team. - * @link http://www.colosa.com - * @link http://manuals.colosa.com/gulliver/rbac.html - * @author Fernando Ontiveros */ /** * Clase Wrapper * * @package gulliver.system - * @author Fernando Ontiveros */ - class RBAC { - const SETUPERMISSIONUID= '00000000000000000000000000000002'; + const SETUPERMISSIONUID = '00000000000000000000000000000002'; const PER_SYSTEM = '00000000000000000000000000000002'; const PM_GUEST_CASE = 'PM_GUEST_CASE'; const PM_GUEST_CASE_UID = '00000000000000000000000000000066'; @@ -73,14 +67,14 @@ class RBAC public $rolesPermissionsObj; public $authSourcesObj; - public $aUserInfo = array (); - public $aRbacPlugins = array (); + public $aUserInfo = []; + public $aRbacPlugins = []; public $sSystem = ''; public $singleSignOn = false; private static $instance = null; - public $authorizedActions = array(); + public $authorizedActions = []; private $aliasPermissions = []; @@ -90,105 +84,105 @@ class RBAC */ private $enableLoginHash = false; - public function __construct () + public function __construct() { - $this->authorizedActions = array( - 'users_Ajax.php' => array( - 'availableUsers' => array('PM_FACTORY'), - 'assign' => array('PM_FACTORY'), - 'changeView' => array(), - 'ofToAssign' => array('PM_FACTORY'), - 'usersGroup' => array('PM_FACTORY'), - 'canDeleteUser' => array('PM_USERS'), - 'deleteUser' => array('PM_USERS'), - 'changeUserStatus' => array('PM_USERS'), - 'availableGroups' => array('PM_USERS'), - 'assignedGroups' => array('PM_USERS'), - 'assignGroupsToUserMultiple' => array('PM_USERS'), - 'deleteGroupsToUserMultiple' => array('PM_USERS'), - 'authSources' => array('PM_USERS'), - 'loadAuthSourceByUID' => array('PM_USERS'), - 'updateAuthServices' => array('PM_USERS'), - 'usersList' => array('PM_USERS'), - 'updatePageSize' => array(), - 'summaryUserData' => array('PM_USERS'), - 'verifyIfUserAssignedAsSupervisor' => array('PM_USERS') - ), - 'skin_Ajax.php' => array( - 'updatePageSize' => array(), - 'skinList' => array('PM_SETUP_SKIN'), - 'newSkin' => array('PM_SETUP_SKIN'), - 'importSkin' => array('PM_SETUP_SKIN'), - 'exportSkin' => array('PM_SETUP_SKIN'), - 'deleteSkin' => array('PM_SETUP_SKIN'), - 'streamSkin' => array('PM_SETUP_SKIN'), - 'addTarFolder' => array('PM_SETUP_SKIN'), - 'copy_skin_folder' => array('PM_SETUP_SKIN') - ), - 'processes_DownloadFile.php' => array( - 'downloadFileHash' => array('PM_FACTORY') - ), - 'processProxy.php' => array( - 'categoriesList' => array('PM_SETUP_PROCESS_CATEGORIES'), - 'getCategoriesList' => array('PM_FACTORY'), - 'saveProcess' => array('PM_FACTORY'), - 'changeStatus' => array('PM_FACTORY'), - 'changeDebugMode' => array('PM_FACTORY'), - 'getUsers' => array(), - 'getGroups' => array(), - 'assignActorsTask' => array(), - 'removeActorsTask' => array(), - 'getActorsTask' => array(), - 'getProcessDetail' => array(), - 'getProperties' => array(), - 'saveProperties' => array(), - 'getCaledarList' => array(), - 'getPMVariables' => array(), - 'generateBpmn' => array('PM_FACTORY') - ), - 'home.php' => array( - 'login' => array('PM_LOGIN'), - 'index' => array('PM_CASES/strict'), - 'indexSingle' => array('PM_CASES/strict'), - 'appList' => array('PM_CASES/strict'), - 'appAdvancedSearch' => array('PM_ALLCASES'), - 'getApps' => array('PM_ALLCASES'), - 'getAppsData' => array('PM_ALLCASES'), - 'startCase' => array('PM_CASES/strict'), - 'error' => array(), - 'getUserArray' => array('PM_ALLCASES'), - 'getCategoryArray' => array('PM_ALLCASES'), - 'getAllUsersArray' => array('PM_ALLCASES'), - 'getStatusArray' => array('PM_ALLCASES'), - 'getProcessArray' => array('PM_ALLCASES'), - 'getProcesses' => array('PM_ALLCASES'), - 'getUsers' => array('PM_ALLCASES') - ), - 'newSite.php' => array( - 'newSite.php' => array('PM_SETUP_ADVANCE') - ), - 'emailsAjax.php' => array( - 'MessageList' => array('PM_SETUP', 'PM_SETUP_LOGS'), - 'updateStatusMessage' => array('PM_SETUP', 'PM_SETUP_LOGS'), - ), - 'processCategory_Ajax.php' => array( - 'processCategoryList' => array('PM_SETUP', 'PM_SETUP_PROCESS_CATEGORIES'), - 'updatePageSize' => array('PM_SETUP', 'PM_SETUP_PROCESS_CATEGORIES'), - 'checkCategoryName' => array('PM_SETUP', 'PM_SETUP_PROCESS_CATEGORIES'), - 'saveNewCategory' => array('PM_SETUP', 'PM_SETUP_PROCESS_CATEGORIES'), - 'checkEditCategoryName' => array('PM_SETUP', 'PM_SETUP_PROCESS_CATEGORIES'), - 'updateCategory' => array('PM_SETUP', 'PM_SETUP_PROCESS_CATEGORIES'), - 'canDeleteCategory' => array('PM_SETUP', 'PM_SETUP_PROCESS_CATEGORIES'), - 'deleteCategory' => array('PM_SETUP', 'PM_SETUP_PROCESS_CATEGORIES') - ), - 'emailServerAjax.php' => array( - 'INS' => array('PM_SETUP'), - 'UPD' => array('PM_SETUP'), - 'DEL' => array('PM_SETUP'), - 'LST' => array('PM_SETUP'), - 'TEST' => array('PM_SETUP') - ) - ); + $this->authorizedActions = [ + 'users_Ajax.php' => [ + 'availableUsers' => ['PM_FACTORY'], + 'assign' => ['PM_FACTORY'], + 'changeView' => [], + 'ofToAssign' => ['PM_FACTORY'], + 'usersGroup' => ['PM_FACTORY'], + 'canDeleteUser' => ['PM_USERS'], + 'deleteUser' => ['PM_USERS'], + 'changeUserStatus' => ['PM_USERS'], + 'availableGroups' => ['PM_USERS'], + 'assignedGroups' => ['PM_USERS'], + 'assignGroupsToUserMultiple' => ['PM_USERS'], + 'deleteGroupsToUserMultiple' => ['PM_USERS'], + 'authSources' => ['PM_USERS'], + 'loadAuthSourceByUID' => ['PM_USERS'], + 'updateAuthServices' => ['PM_USERS'], + 'usersList' => ['PM_USERS'], + 'updatePageSize' => [], + 'summaryUserData' => ['PM_USERS'], + 'verifyIfUserAssignedAsSupervisor' => ['PM_USERS'] + ], + 'skin_Ajax.php' => [ + 'updatePageSize' => [], + 'skinList' => ['PM_SETUP_SKIN'], + 'newSkin' => ['PM_SETUP_SKIN'], + 'importSkin' => ['PM_SETUP_SKIN'], + 'exportSkin' => ['PM_SETUP_SKIN'], + 'deleteSkin' => ['PM_SETUP_SKIN'], + 'streamSkin' => ['PM_SETUP_SKIN'], + 'addTarFolder' => ['PM_SETUP_SKIN'], + 'copy_skin_folder' => ['PM_SETUP_SKIN'] + ], + 'processes_DownloadFile.php' => [ + 'downloadFileHash' => ['PM_FACTORY'] + ], + 'processProxy.php' => [ + 'categoriesList' => ['PM_SETUP_PROCESS_CATEGORIES'], + 'getCategoriesList' => ['PM_FACTORY'], + 'saveProcess' => ['PM_FACTORY'], + 'changeStatus' => ['PM_FACTORY'], + 'changeDebugMode' => ['PM_FACTORY'], + 'getUsers' => [], + 'getGroups' => [], + 'assignActorsTask' => [], + 'removeActorsTask' => [], + 'getActorsTask' => [], + 'getProcessDetail' => [], + 'getProperties' => [], + 'saveProperties' => [], + 'getCaledarList' => [], + 'getPMVariables' => [], + 'generateBpmn' => ['PM_FACTORY'] + ], + 'home.php' => [ + 'login' => ['PM_LOGIN'], + 'index' => ['PM_CASES/strict'], + 'indexSingle' => ['PM_CASES/strict'], + 'appList' => ['PM_CASES/strict'], + 'appAdvancedSearch' => ['PM_ALLCASES'], + 'getApps' => ['PM_ALLCASES'], + 'getAppsData' => ['PM_ALLCASES'], + 'startCase' => ['PM_CASES/strict'], + 'error' => [], + 'getUserArray' => ['PM_ALLCASES'], + 'getCategoryArray' => ['PM_ALLCASES'], + 'getAllUsersArray' => ['PM_ALLCASES'], + 'getStatusArray' => ['PM_ALLCASES'], + 'getProcessArray' => ['PM_ALLCASES'], + 'getProcesses' => ['PM_ALLCASES'], + 'getUsers' => ['PM_ALLCASES'] + ], + 'newSite.php' => [ + 'newSite.php' => ['PM_SETUP_ADVANCE'] + ], + 'emailsAjax.php' => [ + 'MessageList' => ['PM_SETUP', 'PM_SETUP_LOGS'], + 'updateStatusMessage' => ['PM_SETUP', 'PM_SETUP_LOGS'], + ], + 'processCategory_Ajax.php' => [ + 'processCategoryList' => ['PM_SETUP', 'PM_SETUP_PROCESS_CATEGORIES'], + 'updatePageSize' => ['PM_SETUP', 'PM_SETUP_PROCESS_CATEGORIES'], + 'checkCategoryName' => ['PM_SETUP', 'PM_SETUP_PROCESS_CATEGORIES'], + 'saveNewCategory' => ['PM_SETUP', 'PM_SETUP_PROCESS_CATEGORIES'], + 'checkEditCategoryName' => ['PM_SETUP', 'PM_SETUP_PROCESS_CATEGORIES'], + 'updateCategory' => ['PM_SETUP', 'PM_SETUP_PROCESS_CATEGORIES'], + 'canDeleteCategory' => ['PM_SETUP', 'PM_SETUP_PROCESS_CATEGORIES'], + 'deleteCategory' => ['PM_SETUP', 'PM_SETUP_PROCESS_CATEGORIES'] + ], + 'emailServerAjax.php' => [ + 'INS' => ['PM_SETUP'], + 'UPD' => ['PM_SETUP'], + 'DEL' => ['PM_SETUP'], + 'LST' => ['PM_SETUP'], + 'TEST' => ['PM_SETUP'] + ] + ]; $this->aliasPermissions['PM_CASES'] = [self::PM_GUEST_CASE]; $this->aliasPermissions['PM_LOGIN'] = [self::PM_GUEST_CASE]; } @@ -199,66 +193,68 @@ class RBAC * @access public * @return object */ - public function &getSingleton () + public function &getSingleton() { if (self::$instance == null) { self::$instance = new RBAC(); } + return self::$instance; } /** - * to get start with some classess + * to get start with some classes * * @access public * @return object */ - public function initRBAC () + public function initRBAC() { - if (is_null( $this->userObj )) { + if (is_null($this->userObj)) { $this->userObj = new RbacUsers(); } - if (is_null( $this->systemObj )) { + if (is_null($this->systemObj)) { $this->systemObj = new Systems(); } - if (is_null( $this->usersRolesObj )) { + if (is_null($this->usersRolesObj)) { $this->usersRolesObj = new UsersRoles(); } - if (is_null( $this->rolesObj )) { + if (is_null($this->rolesObj)) { $this->rolesObj = new Roles(); } - if (is_null( $this->permissionsObj )) { + if (is_null($this->permissionsObj)) { $this->permissionsObj = new Permissions(); } - if (is_null( $this->rolesPermissionsObj )) { + if (is_null($this->rolesPermissionsObj)) { $this->rolesPermissionsObj = new RolesPermissions(); } - if (is_null( $this->authSourcesObj )) { + if (is_null($this->authSourcesObj)) { $this->authSourcesObj = new AuthenticationSource(); } //hook for RBAC plugins $pathPlugins = PATH_RBAC . 'plugins'; - if (is_dir( $pathPlugins )) { - if ($handle = opendir( $pathPlugins )) { - while (false !== ($file = readdir( $handle ))) { - if (strpos( $file, '.php', 1 ) && is_file( $pathPlugins . PATH_SEP . $file ) && substr( $file, 0, 6 ) == 'class.' && substr( $file, - 4 ) == '.php') { + if (is_dir($pathPlugins)) { + if ($handle = opendir($pathPlugins)) { + while (false !== ($file = readdir($handle))) { + if (strpos($file, '.php', 1) && is_file($pathPlugins . PATH_SEP . $file) && substr($file, 0, + 6) == 'class.' && substr($file, -4) == '.php') { - $sClassName = substr( $file, 6, strlen( $file ) - 10 ); - require_once ($pathPlugins . PATH_SEP . $file); - $this->aRbacPlugins[] = $sClassName; + $className = substr($file, 6, strlen($file) - 10); + require_once($pathPlugins . PATH_SEP . $file); + $this->aRbacPlugins[] = $className; } } @@ -279,131 +275,335 @@ class RBAC */ public function loadPermissionAdmin() { - $permissionsAdmin = array(array("PER_UID" => "00000000000000000000000000000001", "PER_CODE" => "PM_LOGIN", - "PER_NAME" => "Login" - ), array("PER_UID" => "00000000000000000000000000000002", "PER_CODE" => "PM_SETUP", "PER_NAME" => "Setup" - ), array("PER_UID" => "00000000000000000000000000000003", "PER_CODE" => "PM_USERS", "PER_NAME" => "Users" - ), array("PER_UID" => "00000000000000000000000000000004", "PER_CODE" => "PM_FACTORY", "PER_NAME" => "Design - Process" - ), array("PER_UID" => "00000000000000000000000000000005", "PER_CODE" => "PM_CASES", "PER_NAME" => "Create Users" - ), array("PER_UID" => "00000000000000000000000000000006", "PER_CODE" => "PM_ALLCASES", "PER_NAME" => "All Cases" - ), array("PER_UID" => "00000000000000000000000000000007", "PER_CODE" => "PM_REASSIGNCASE", "PER_NAME" => - "Reassign case" - ), array("PER_UID" => "00000000000000000000000000000008", "PER_CODE" => "PM_REPORTS", "PER_NAME" => "PM reports" - ), array("PER_UID" => "00000000000000000000000000000009", "PER_CODE" => "PM_SUPERVISOR", "PER_NAME" => - "Supervisor" - ), array("PER_UID" => "00000000000000000000000000000010", "PER_CODE" => "PM_SETUP_ADVANCE", "PER_NAME" => - "Setup Advanced" - ), array("PER_UID" => "00000000000000000000000000000011", "PER_CODE" => "PM_DASHBOARD", "PER_NAME" => "Dashboard" - ), array("PER_UID" => "00000000000000000000000000000012", "PER_CODE" => "PM_WEBDAV", "PER_NAME" => "WebDav" - ), array("PER_UID" => "00000000000000000000000000000013", "PER_CODE" => "PM_DELETECASE", "PER_NAME" => "Cancel - cases" - ), array("PER_UID" => "00000000000000000000000000000014", "PER_CODE" => "PM_EDITPERSONALINFO", "PER_NAME" => - "Edit Personal Info" - ), array("PER_UID" => "00000000000000000000000000000015", "PER_CODE" => "PM_FOLDERS_VIEW", "PER_NAME" => "View - Folders" - ), array("PER_UID" => "00000000000000000000000000000016", "PER_CODE" => "PM_FOLDERS_ADD_FOLDER", "PER_NAME" => - "Delete folders" - ), array("PER_UID" => "00000000000000000000000000000017", "PER_CODE" => "PM_FOLDERS_ADD_FILE", "PER_NAME" => - "Delete folders" - ), array("PER_UID" => "00000000000000000000000000000018", "PER_CODE" => "PM_CANCELCASE", "PER_NAME" => "Cancel - cases" - ), array("PER_UID" => "00000000000000000000000000000019", "PER_CODE" => "PM_FOLDER_DELETE", "PER_NAME" => - "Cancel cases" - ), array("PER_UID" => "00000000000000000000000000000020", "PER_CODE" => "PM_SETUP_LOGO", "PER_NAME" => "Setup - Logo" - ), array("PER_UID" => "00000000000000000000000000000021", "PER_CODE" => "PM_SETUP_EMAIL", "PER_NAME" => "Setup - Email" - ), array("PER_UID" => "00000000000000000000000000000022", "PER_CODE" => "PM_SETUP_CALENDAR", "PER_NAME" => - "Setup Calendar" - ), array("PER_UID" => "00000000000000000000000000000023", "PER_CODE" => "PM_SETUP_PROCESS_CATEGORIES", - "PER_NAME" => "Setup Process Categories" - ), array("PER_UID" => "00000000000000000000000000000024", "PER_CODE" => "PM_SETUP_CLEAR_CACHE", "PER_NAME" => - "Setup Clear Cache" - ), array("PER_UID" => "00000000000000000000000000000025", "PER_CODE" => "PM_SETUP_HEART_BEAT", "PER_NAME" => - "Setup Heart Beat" - ), array("PER_UID" => "00000000000000000000000000000026", "PER_CODE" => "PM_SETUP_ENVIRONMENT", "PER_NAME" => - "Setup Environment" - ), array("PER_UID" => "00000000000000000000000000000027", "PER_CODE" => "PM_SETUP_PM_TABLES", "PER_NAME" => - "Setup PM Tables" - ), array("PER_UID" => "00000000000000000000000000000028", "PER_CODE" => "PM_SETUP_LOGIN", "PER_NAME" => "Setup - Login" - ), array("PER_UID" => "00000000000000000000000000000029", "PER_CODE" => "PM_SETUP_DASHBOARDS", "PER_NAME" => - "Setup Dashboards" - ), array("PER_UID" => "00000000000000000000000000000030", "PER_CODE" => "PM_SETUP_LANGUAGE", "PER_NAME" => - "Setup Language" - ), array("PER_UID" => "00000000000000000000000000000031", "PER_CODE" => "PM_SETUP_SKIN", "PER_NAME" => "Setup - Skin" - ), array("PER_UID" => "00000000000000000000000000000032", "PER_CODE" => "PM_SETUP_CASES_LIST_CACHE_BUILDER", - "PER_NAME" => "Setup Case List Cache Builder" - ), array("PER_UID" => "00000000000000000000000000000033", "PER_CODE" => "PM_SETUP_PLUGINS", "PER_NAME" => - "Setup Plugins" - ), array("PER_UID" => "00000000000000000000000000000034", "PER_CODE" => - "PM_SETUP_USERS_AUTHENTICATION_SOURCES", "PER_NAME" => "Setup User Authentication Sources" - ), array("PER_UID" => "00000000000000000000000000000035", "PER_CODE" => "PM_SETUP_LOGS", "PER_NAME" => "Setup - Logs" - ), array("PER_UID" => "00000000000000000000000000000036", "PER_CODE" => "PM_DELETE_PROCESS_CASES", "PER_NAME" => - "Delete process cases" - ), array("PER_UID" => "00000000000000000000000000000037", "PER_CODE" => "PM_EDITPERSONALINFO_CALENDAR", - "PER_NAME" => "Edit personal info Calendar" - ), array("PER_UID" => "00000000000000000000000000000038", "PER_CODE" => "PM_UNCANCELCASE", - "PER_NAME" => "Undo cancel case" - ), array("PER_UID" => "00000000000000000000000000000039", "PER_CODE" => "PM_REST_API_APPLICATIONS", - "PER_NAME" => "Create rest API Aplications" - ), array("PER_UID" => "00000000000000000000000000000040", "PER_CODE" => "PM_EDIT_USER_PROFILE_FIRST_NAME", - "PER_NAME" => "Edit User profile First Name" - ), array("PER_UID" => "00000000000000000000000000000041", "PER_CODE" => "PM_EDIT_USER_PROFILE_LAST_NAME", - "PER_NAME" => "Edit User profile Last Name" - ), array("PER_UID" => "00000000000000000000000000000042", "PER_CODE" => "PM_EDIT_USER_PROFILE_USERNAME", - "PER_NAME" => "Edit User profile Username" - ), array("PER_UID" => "00000000000000000000000000000043", "PER_CODE" => "PM_EDIT_USER_PROFILE_EMAIL", - "PER_NAME" => "Edit User profile Email" - ), array("PER_UID" => "00000000000000000000000000000044", "PER_CODE" => "PM_EDIT_USER_PROFILE_ADDRESS", - "PER_NAME" => "Edit User profile Address" - ), array("PER_UID" => "00000000000000000000000000000045", "PER_CODE" => "PM_EDIT_USER_PROFILE_ZIP_CODE", - "PER_NAME" => "Edit User profile Zip Code" - ), array("PER_UID" => "00000000000000000000000000000046", "PER_CODE" => "PM_EDIT_USER_PROFILE_COUNTRY", - "PER_NAME" => "Edit User profile Country" - ), array("PER_UID" => "00000000000000000000000000000047", "PER_CODE" => "PM_EDIT_USER_PROFILE_STATE_OR_REGION", - "PER_NAME" => "Edit User profile State or Region" - ), array("PER_UID" => "00000000000000000000000000000048", "PER_CODE" => "PM_EDIT_USER_PROFILE_LOCATION", - "PER_NAME" => "Edit User profile Location" - ), array("PER_UID" => "00000000000000000000000000000049", "PER_CODE" => "PM_EDIT_USER_PROFILE_PHONE", - "PER_NAME" => "Edit User profile Phone" - ), array("PER_UID" => "00000000000000000000000000000050", "PER_CODE" => "PM_EDIT_USER_PROFILE_POSITION", - "PER_NAME" => "Edit User profile Position" - ), array("PER_UID" => "00000000000000000000000000000051", "PER_CODE" => "PM_EDIT_USER_PROFILE_REPLACED_BY", - "PER_NAME" => "Edit User profile Replaced By" - ), array("PER_UID" => "00000000000000000000000000000052", "PER_CODE" => "PM_EDIT_USER_PROFILE_EXPIRATION_DATE", - "PER_NAME" => "Edit User profile Expiration Date" - ), array("PER_UID" => "00000000000000000000000000000053", "PER_CODE" => "PM_EDIT_USER_PROFILE_CALENDAR", - "PER_NAME" => "Edit User profile Calendar" - ), array("PER_UID" => "00000000000000000000000000000054", "PER_CODE" => "PM_EDIT_USER_PROFILE_STATUS", - "PER_NAME" => "Edit User profile Status" - ), array("PER_UID" => "00000000000000000000000000000055", "PER_CODE" => "PM_EDIT_USER_PROFILE_ROLE", - "PER_NAME" => "Edit User profile Role" - ), array("PER_UID" => "00000000000000000000000000000056", "PER_CODE" => "PM_EDIT_USER_PROFILE_TIME_ZONE", - "PER_NAME" => "Edit User profile Time Zone" - ), array("PER_UID" => "00000000000000000000000000000057", "PER_CODE" => "PM_EDIT_USER_PROFILE_DEFAULT_LANGUAGE", - "PER_NAME" => "Edit User profile Default Language" - ), array("PER_UID" => "00000000000000000000000000000058", "PER_CODE" => "PM_EDIT_USER_PROFILE_COSTS", - "PER_NAME" => "Edit User profile Costs" - ), array("PER_UID" => "00000000000000000000000000000059", "PER_CODE" => "PM_EDIT_USER_PROFILE_PASSWORD", - "PER_NAME" => "Edit User profile Password" - ), array("PER_UID" => "00000000000000000000000000000060", "PER_CODE" => "PM_EDIT_USER_PROFILE_USER_MUST_CHANGE_PASSWORD_AT_NEXT_LOGON", - "PER_NAME" => "Edit User profile Must Change Password at next Logon" - ), array("PER_UID" => "00000000000000000000000000000061", "PER_CODE" => "PM_EDIT_USER_PROFILE_PHOTO", - "PER_NAME" => "Edit User profile Photo" - ), array("PER_UID" => "00000000000000000000000000000062", "PER_CODE" => "PM_EDIT_USER_PROFILE_DEFAULT_MAIN_MENU_OPTIONS", - "PER_NAME" => "Edit User profile Default Main Menu Options" - ), array("PER_UID" => "00000000000000000000000000000063", "PER_CODE" => "PM_EDIT_USER_PROFILE_DEFAULT_CASES_MENU_OPTIONS", - "PER_NAME" => "Edit User profile Default Cases Menu Options" - ), array("PER_UID" => "00000000000000000000000000000064", "PER_CODE" => "PM_REASSIGNCASE_SUPERVISOR", - "PER_NAME" => "Reassign case supervisor" - ), array("PER_UID" => "00000000000000000000000000000065", "PER_CODE" => "PM_SETUP_CUSTOM_CASES_LIST", - "PER_NAME" => "Setup Custom Cases List" - ) - ); + $permissionsAdmin = [ + [ + "PER_UID" => "00000000000000000000000000000001", + "PER_CODE" => "PM_LOGIN", + "PER_NAME" => "Login" + ], + [ + "PER_UID" => "00000000000000000000000000000002", + "PER_CODE" => "PM_SETUP", + "PER_NAME" => "Setup" + ], + [ + "PER_UID" => "00000000000000000000000000000003", + "PER_CODE" => "PM_USERS", + "PER_NAME" => "Users" + ], + [ + "PER_UID" => "00000000000000000000000000000004", + "PER_CODE" => "PM_FACTORY", + "PER_NAME" => "Design Process" + ], + [ + "PER_UID" => "00000000000000000000000000000005", + "PER_CODE" => "PM_CASES", + "PER_NAME" => "Create Users" + ], + [ + "PER_UID" => "00000000000000000000000000000006", + "PER_CODE" => "PM_ALLCASES", + "PER_NAME" => "All Cases" + ], + [ + "PER_UID" => "00000000000000000000000000000007", + "PER_CODE" => "PM_REASSIGNCASE", + "PER_NAME" => "Reassign case" + ], + [ + "PER_UID" => "00000000000000000000000000000008", + "PER_CODE" => "PM_REPORTS", + "PER_NAME" => "PM reports" + ], + [ + "PER_UID" => "00000000000000000000000000000009", + "PER_CODE" => "PM_SUPERVISOR", + "PER_NAME" => "Supervisor" + ], + [ + "PER_UID" => "00000000000000000000000000000010", + "PER_CODE" => "PM_SETUP_ADVANCE", + "PER_NAME" => "Setup Advanced" + ], + [ + "PER_UID" => "00000000000000000000000000000011", + "PER_CODE" => "PM_DASHBOARD", + "PER_NAME" => "Dashboard" + ], + [ + "PER_UID" => "00000000000000000000000000000012", + "PER_CODE" => "PM_WEBDAV", + "PER_NAME" => "WebDav" + ], + [ + "PER_UID" => "00000000000000000000000000000013", + "PER_CODE" => "PM_DELETECASE", + "PER_NAME" => "Cancel cases" + ], + [ + "PER_UID" => "00000000000000000000000000000014", + "PER_CODE" => "PM_EDITPERSONALINFO", + "PER_NAME" => "Edit Personal Info" + ], + [ + "PER_UID" => "00000000000000000000000000000015", + "PER_CODE" => "PM_FOLDERS_VIEW", + "PER_NAME" => "View Folders" + ], + [ + "PER_UID" => "00000000000000000000000000000016", + "PER_CODE" => "PM_FOLDERS_ADD_FOLDER", + "PER_NAME" => "Delete folders" + ], + [ + "PER_UID" => "00000000000000000000000000000017", + "PER_CODE" => "PM_FOLDERS_ADD_FILE", + "PER_NAME" => + "Delete folders" + ], + [ + "PER_UID" => "00000000000000000000000000000018", + "PER_CODE" => "PM_CANCELCASE", + "PER_NAME" => "Cancel cases" + ], + [ + "PER_UID" => "00000000000000000000000000000019", + "PER_CODE" => "PM_FOLDER_DELETE", + "PER_NAME" => "Cancel cases" + ], + [ + "PER_UID" => "00000000000000000000000000000020", + "PER_CODE" => "PM_SETUP_LOGO", + "PER_NAME" => "Setup Logo" + ], + [ + "PER_UID" => "00000000000000000000000000000021", + "PER_CODE" => "PM_SETUP_EMAIL", + "PER_NAME" => "Setup Email" + ], + [ + "PER_UID" => "00000000000000000000000000000022", + "PER_CODE" => "PM_SETUP_CALENDAR", + "PER_NAME" => "Setup Calendar" + ], + [ + "PER_UID" => "00000000000000000000000000000023", + "PER_CODE" => "PM_SETUP_PROCESS_CATEGORIES", + "PER_NAME" => "Setup Process Categories" + ], + [ + "PER_UID" => "00000000000000000000000000000024", + "PER_CODE" => "PM_SETUP_CLEAR_CACHE", + "PER_NAME" => "Setup Clear Cache" + ], + [ + "PER_UID" => "00000000000000000000000000000025", + "PER_CODE" => "PM_SETUP_HEART_BEAT", + "PER_NAME" => "Setup Heart Beat" + ], + [ + "PER_UID" => "00000000000000000000000000000026", + "PER_CODE" => "PM_SETUP_ENVIRONMENT", + "PER_NAME" => "Setup Environment" + ], + [ + "PER_UID" => "00000000000000000000000000000027", + "PER_CODE" => "PM_SETUP_PM_TABLES", + "PER_NAME" => "Setup PM Tables" + ], + [ + "PER_UID" => "00000000000000000000000000000028", + "PER_CODE" => "PM_SETUP_LOGIN", + "PER_NAME" => "Setup Login" + ], + [ + "PER_UID" => "00000000000000000000000000000029", + "PER_CODE" => "PM_SETUP_DASHBOARDS", + "PER_NAME" => "Setup Dashboards" + ], + [ + "PER_UID" => "00000000000000000000000000000030", + "PER_CODE" => "PM_SETUP_LANGUAGE", + "PER_NAME" => "Setup Language" + ], + [ + "PER_UID" => "00000000000000000000000000000031", + "PER_CODE" => "PM_SETUP_SKIN", + "PER_NAME" => "Setup Skin" + ], + [ + "PER_UID" => "00000000000000000000000000000032", + "PER_CODE" => "PM_SETUP_CASES_LIST_CACHE_BUILDER", + "PER_NAME" => "Setup Case List Cache Builder" + ], + [ + "PER_UID" => "00000000000000000000000000000033", + "PER_CODE" => "PM_SETUP_PLUGINS", + "PER_NAME" => "Setup Plugins" + ], + [ + "PER_UID" => "00000000000000000000000000000034", + "PER_CODE" => "PM_SETUP_USERS_AUTHENTICATION_SOURCES", + "PER_NAME" => "Setup User Authentication Sources" + ], + [ + "PER_UID" => "00000000000000000000000000000035", + "PER_CODE" => "PM_SETUP_LOGS", + "PER_NAME" => "Setup Logs" + ], + [ + "PER_UID" => "00000000000000000000000000000036", + "PER_CODE" => "PM_DELETE_PROCESS_CASES", + "PER_NAME" => "Delete process cases" + ], + [ + "PER_UID" => "00000000000000000000000000000037", + "PER_CODE" => "PM_EDITPERSONALINFO_CALENDAR", + "PER_NAME" => "Edit personal info Calendar" + ], + [ + "PER_UID" => "00000000000000000000000000000038", + "PER_CODE" => "PM_UNCANCELCASE", + "PER_NAME" => "Undo cancel case" + ], + [ + "PER_UID" => "00000000000000000000000000000039", + "PER_CODE" => "PM_REST_API_APPLICATIONS", + "PER_NAME" => "Create rest API Aplications" + ], + [ + "PER_UID" => "00000000000000000000000000000040", + "PER_CODE" => "PM_EDIT_USER_PROFILE_FIRST_NAME", + "PER_NAME" => "Edit User profile First Name" + ], + [ + "PER_UID" => "00000000000000000000000000000041", + "PER_CODE" => "PM_EDIT_USER_PROFILE_LAST_NAME", + "PER_NAME" => "Edit User profile Last Name" + ], + [ + "PER_UID" => "00000000000000000000000000000042", + "PER_CODE" => "PM_EDIT_USER_PROFILE_USERNAME", + "PER_NAME" => "Edit User profile Username" + ], + [ + "PER_UID" => "00000000000000000000000000000043", + "PER_CODE" => "PM_EDIT_USER_PROFILE_EMAIL", + "PER_NAME" => "Edit User profile Email" + ], + [ + "PER_UID" => "00000000000000000000000000000044", + "PER_CODE" => "PM_EDIT_USER_PROFILE_ADDRESS", + "PER_NAME" => "Edit User profile Address" + ], + [ + "PER_UID" => "00000000000000000000000000000045", + "PER_CODE" => "PM_EDIT_USER_PROFILE_ZIP_CODE", + "PER_NAME" => "Edit User profile Zip Code" + ], + [ + "PER_UID" => "00000000000000000000000000000046", + "PER_CODE" => "PM_EDIT_USER_PROFILE_COUNTRY", + "PER_NAME" => "Edit User profile Country" + ], + [ + "PER_UID" => "00000000000000000000000000000047", + "PER_CODE" => "PM_EDIT_USER_PROFILE_STATE_OR_REGION", + "PER_NAME" => "Edit User profile State or Region" + ], + [ + "PER_UID" => "00000000000000000000000000000048", + "PER_CODE" => "PM_EDIT_USER_PROFILE_LOCATION", + "PER_NAME" => "Edit User profile Location" + ], + [ + "PER_UID" => "00000000000000000000000000000049", + "PER_CODE" => "PM_EDIT_USER_PROFILE_PHONE", + "PER_NAME" => "Edit User profile Phone" + ], + [ + "PER_UID" => "00000000000000000000000000000050", + "PER_CODE" => "PM_EDIT_USER_PROFILE_POSITION", + "PER_NAME" => "Edit User profile Position" + ], + [ + "PER_UID" => "00000000000000000000000000000051", + "PER_CODE" => "PM_EDIT_USER_PROFILE_REPLACED_BY", + "PER_NAME" => "Edit User profile Replaced By" + ], + [ + "PER_UID" => "00000000000000000000000000000052", + "PER_CODE" => "PM_EDIT_USER_PROFILE_EXPIRATION_DATE", + "PER_NAME" => "Edit User profile Expiration Date" + ], + [ + "PER_UID" => "00000000000000000000000000000053", + "PER_CODE" => "PM_EDIT_USER_PROFILE_CALENDAR", + "PER_NAME" => "Edit User profile Calendar" + ], + [ + "PER_UID" => "00000000000000000000000000000054", + "PER_CODE" => "PM_EDIT_USER_PROFILE_STATUS", + "PER_NAME" => "Edit User profile Status" + ], + [ + "PER_UID" => "00000000000000000000000000000055", + "PER_CODE" => "PM_EDIT_USER_PROFILE_ROLE", + "PER_NAME" => "Edit User profile Role" + ], + [ + "PER_UID" => "00000000000000000000000000000056", + "PER_CODE" => "PM_EDIT_USER_PROFILE_TIME_ZONE", + "PER_NAME" => "Edit User profile Time Zone" + ], + [ + "PER_UID" => "00000000000000000000000000000057", + "PER_CODE" => "PM_EDIT_USER_PROFILE_DEFAULT_LANGUAGE", + "PER_NAME" => "Edit User profile Default Language" + ], + [ + "PER_UID" => "00000000000000000000000000000058", + "PER_CODE" => "PM_EDIT_USER_PROFILE_COSTS", + "PER_NAME" => "Edit User profile Costs" + ], + [ + "PER_UID" => "00000000000000000000000000000059", + "PER_CODE" => "PM_EDIT_USER_PROFILE_PASSWORD", + "PER_NAME" => "Edit User profile Password" + ], + [ + "PER_UID" => "00000000000000000000000000000060", + "PER_CODE" => "PM_EDIT_USER_PROFILE_USER_MUST_CHANGE_PASSWORD_AT_NEXT_LOGON", + "PER_NAME" => "Edit User profile Must Change Password at next Logon" + ], + [ + "PER_UID" => "00000000000000000000000000000061", + "PER_CODE" => "PM_EDIT_USER_PROFILE_PHOTO", + "PER_NAME" => "Edit User profile Photo" + ], + [ + "PER_UID" => "00000000000000000000000000000062", + "PER_CODE" => "PM_EDIT_USER_PROFILE_DEFAULT_MAIN_MENU_OPTIONS", + "PER_NAME" => "Edit User profile Default Main Menu Options" + ], + [ + "PER_UID" => "00000000000000000000000000000063", + "PER_CODE" => "PM_EDIT_USER_PROFILE_DEFAULT_CASES_MENU_OPTIONS", + "PER_NAME" => "Edit User profile Default Cases Menu Options" + ], + [ + "PER_UID" => "00000000000000000000000000000064", + "PER_CODE" => "PM_REASSIGNCASE_SUPERVISOR", + "PER_NAME" => "Reassign case supervisor" + ], + [ + "PER_UID" => "00000000000000000000000000000065", + "PER_CODE" => "PM_SETUP_CUSTOM_CASES_LIST", + "PER_NAME" => "Setup Custom Cases List" + ] + ]; + return $permissionsAdmin; } @@ -418,7 +618,7 @@ class RBAC try { $strRole = $role->getRolCode(); - $arrayData = array(); + $arrayData = []; $arrayData["USR_UID"] = self::GUEST_USER_UID; $arrayData["USR_USERNAME"] = 'guest'; $arrayData["USR_PASSWORD"] = '674ba9750749d735ec9787d606170d78'; @@ -484,24 +684,25 @@ class RBAC if (!empty($roleExists)) { return $roleExists; } - $aData = [ - 'ROL_UID' => self::PROCESSMAKER_GUEST_UID, - 'ROL_CODE' => self::PROCESSMAKER_GUEST, - 'ROL_SYSTEM' => self::PER_SYSTEM, - 'ROL_STATUS' => 1, - 'ROL_NAME' => self::PROCESSMAKER_GUEST, + $dataCase = [ + 'ROL_UID' => self::PROCESSMAKER_GUEST_UID, + 'ROL_CODE' => self::PROCESSMAKER_GUEST, + 'ROL_SYSTEM' => self::PER_SYSTEM, + 'ROL_STATUS' => 1, + 'ROL_NAME' => self::PROCESSMAKER_GUEST, 'ROL_CREATE_DATE' => date('Y-m-d H:i:s'), 'ROL_UPDATE_DATE' => date('Y-m-d H:i:s'), ]; - $this->createRole($aData); + $this->createRole($dataCase); $role = RolesPeer::doSelectOne($criteria); - foreach($permissions as $permission) { + foreach ($permissions as $permission) { $o = new RolesPermissions(); $o->setPerUid($permission->getPerUid()); $o->setPermissionName('Guest case'); $o->setRolUid($role->getRolUid()); $o->save(); } + return $role; } catch (Exception $exception) { throw new Exception( @@ -535,6 +736,7 @@ class RBAC $permission->setPerStatus(1); $permission->setPerSystem(self::PER_SYSTEM); $permission->save(); + return [$permission]; } catch (Exception $exception) { throw new Exception( @@ -564,22 +766,21 @@ class RBAC * * gets the Role and their permissions for one User * - * @author Fernando Ontiveros Lira * @access public * * @param string $sSystem the system * @param string $sUser the user * @return $this->aUserInfo[ $sSystem ] */ - public function loadUserRolePermission ($sSystem, $sUser) + public function loadUserRolePermission($sSystem, $sUser) { //in previous versions we provided a path data and session we will cache the session Info for this user //now this is deprecated, and all the aUserInfo is in the memcache $this->sSystem = $sSystem; - $fieldsSystem = $this->systemObj->loadByCode( $sSystem ); - $fieldsRoles = $this->usersRolesObj->getRolesBySystem( $fieldsSystem['SYS_UID'], $sUser ); - $fieldsPermissions = $this->usersRolesObj->getAllPermissions( $fieldsRoles['ROL_UID'], $sUser ); - $this->aUserInfo['USER_INFO'] = $this->userObj->load( $sUser ); + $fieldsSystem = $this->systemObj->loadByCode($sSystem); + $fieldsRoles = $this->usersRolesObj->getRolesBySystem($fieldsSystem['SYS_UID'], $sUser); + $fieldsPermissions = $this->usersRolesObj->getAllPermissions($fieldsRoles['ROL_UID'], $sUser); + $this->aUserInfo['USER_INFO'] = $this->userObj->load($sUser); $this->aUserInfo[$sSystem]['SYS_UID'] = $fieldsSystem['SYS_UID']; $this->aUserInfo[$sSystem]['ROLE'] = $fieldsRoles; $this->aUserInfo[$sSystem]['PERMISSIONS'] = $fieldsPermissions; @@ -594,35 +795,35 @@ class RBAC * @param string $strPass the password * @return $res */ - public function checkAutomaticRegister ($strUser, $strPass) + public function checkAutomaticRegister($strUser, $strPass) { - $result = - 1; //default return value, + $result = -1; //default return value, - foreach ($this->aRbacPlugins as $sClassName) { - $plugin = new $sClassName(); - if (method_exists( $plugin, 'automaticRegister' )) { - $oCriteria = new Criteria( 'rbac' ); - $oCriteria->add( AuthenticationSourcePeer::AUTH_SOURCE_PROVIDER, $sClassName ); - $oCriteria->addAscendingOrderByColumn( AuthenticationSourcePeer::AUTH_SOURCE_NAME ); - $oDataset = AuthenticationSourcePeer::doSelectRS( $oCriteria, Propel::getDbConnection('rbac_ro') ); - $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); - $oDataset->next(); - $aRow = $oDataset->getRow(); - while (is_array( $aRow )) { - $aRow = array_merge( $aRow, unserialize( $aRow['AUTH_SOURCE_DATA'] ) ); + foreach ($this->aRbacPlugins as $className) { + $plugin = new $className(); + if (method_exists($plugin, 'automaticRegister')) { + $criteria = new Criteria('rbac'); + $criteria->add(AuthenticationSourcePeer::AUTH_SOURCE_PROVIDER, $className); + $criteria->addAscendingOrderByColumn(AuthenticationSourcePeer::AUTH_SOURCE_NAME); + $dataset = AuthenticationSourcePeer::doSelectRS($criteria, Propel::getDbConnection('rbac_ro')); + $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $dataset->next(); + $row = $dataset->getRow(); + while (is_array($row)) { + $row = array_merge($row, unserialize($row['AUTH_SOURCE_DATA'])); //Check if this authsource is enabled for AutoRegister, if not skip this - if ($aRow['AUTH_SOURCE_AUTO_REGISTER'] == 1) { - $plugin->sAuthSource = $aRow['AUTH_SOURCE_UID']; + if ($row['AUTH_SOURCE_AUTO_REGISTER'] == 1) { + $plugin->sAuthSource = $row['AUTH_SOURCE_UID']; $plugin->sSystem = $this->sSystem; //search the usersRolesObj //create the users in ProcessMaker - $res = $plugin->automaticRegister( $aRow, $strUser, $strPass ); + $res = $plugin->automaticRegister($row, $strUser, $strPass); if ($res == 1) { return $res; } } - $oDataset->next(); - $aRow = $oDataset->getRow(); + $dataset->next(); + $row = $dataset->getRow(); } } } @@ -634,54 +835,52 @@ class RBAC * * * @access public - * @param string $sAuthType - * @param string $sAuthSource - * @param string $aUserFields - * @param string $sAuthUserDn + * @param string $authType + * @param string $userFields * @param string $strPass * @return number -2: wrong password * -3: inactive user * -4: due date * -5: invalid authentication source */ - public function VerifyWithOtherAuthenticationSource ($sAuthType, $aUserFields, $strPass) + public function VerifyWithOtherAuthenticationSource($authType, $userFields, $strPass) { - if ($sAuthType == '' || $sAuthType == 'MYSQL') { + if ($authType == '' || $authType == 'MYSQL') { //check if the user is active - if ($aUserFields['USR_STATUS'] != 1) { - return - 3; //inactive user + if ($userFields['USR_STATUS'] != 1) { + return -3; //inactive user } //check if the user's due date is valid - if ($aUserFields['USR_DUE_DATE'] < date( 'Y-m-d' )) { - return - 4; //due date + if ($userFields['USR_DUE_DATE'] < date('Y-m-d')) { + return -4; //due date } } - foreach ($this->aRbacPlugins as $sClassName) { - if (strtolower( $sClassName ) == strtolower( $sAuthType )) { - $plugin = new $sClassName(); - $plugin->sAuthSource = $aUserFields["UID_AUTH_SOURCE"]; + foreach ($this->aRbacPlugins as $className) { + if (strtolower($className) == strtolower($authType)) { + $plugin = new $className(); + $plugin->sAuthSource = $userFields["UID_AUTH_SOURCE"]; $plugin->sSystem = $this->sSystem; $bValidUser = false; - $bValidUser = $plugin->VerifyLogin( $aUserFields["USR_AUTH_USER_DN"], $strPass ); + $bValidUser = $plugin->VerifyLogin($userFields["USR_AUTH_USER_DN"], $strPass); if ($bValidUser === true) { - return ($aUserFields['USR_UID']); + return ($userFields['USR_UID']); } else { - return - 2; //wrong password + return -2; //wrong password } } } - return - 5; //invalid authentication source + + return -5; //invalid authentication source } /** * authentication of an user through of class RBAC_user * - * checking that an user has right to start an applicaton + * checking that an user has right to start an application * - * @author Fernando Ontiveros Lira * @access public * * @param string $strUser UserId (login) an user @@ -693,44 +892,47 @@ class RBAC * -5: invalid authentication source ( **new ) * n : uid of user */ - public function VerifyLogin ($strUser, $strPass) + public function VerifyLogin($strUser, $strPass) { /*----------------------------------********---------------------------------*/ $licenseManager =& PmLicenseManager::getSingleton(); - if (in_array(G::encryptOld($licenseManager->result), array('38afd7ae34bd5e3e6fc170d8b09178a3', 'ba2b45bdc11e2a4a6e86aab2ac693cbb'))) { + if (in_array(G::encryptOld($licenseManager->result), + array('38afd7ae34bd5e3e6fc170d8b09178a3', 'ba2b45bdc11e2a4a6e86aab2ac693cbb'))) { return -7; } /*----------------------------------********---------------------------------*/ - if (strlen( $strPass ) == 0) { - return - 2; + if (strlen($strPass) == 0) { + return -2; } //check if the user exists in the table RB_WORKFLOW.USERS $this->initRBAC(); //if the user exists, the VerifyUser function will return the user properties - if ($this->userObj->verifyUser( $strUser ) == 0) { + if ($this->userObj->verifyUser($strUser) == 0) { //here we are checking if the automatic user Register is enabled, ioc return -1 - $res = $this->checkAutomaticRegister( $strUser, $strPass ); + $res = $this->checkAutomaticRegister($strUser, $strPass); if ($res == 1) { - $this->userObj->verifyUser( $strUser ); + $this->userObj->verifyUser($strUser); } else { return $res; } } //default values - $sAuthType = 'mysql'; - if (isset( $this->userObj->fields['USR_AUTH_TYPE'] )) { - $sAuthType = strtolower( $this->userObj->fields['USR_AUTH_TYPE'] ); + $authType = 'mysql'; + if (isset($this->userObj->fields['USR_AUTH_TYPE'])) { + $authType = strtolower($this->userObj->fields['USR_AUTH_TYPE']); } //Hook for RBAC plugins - if ($sAuthType != "mysql" && $sAuthType != "") { - $res = $this->VerifyWithOtherAuthenticationSource( $sAuthType, $this->userObj->fields, $strPass ); + if ($authType != "mysql" && $authType != "") { + $res = $this->VerifyWithOtherAuthenticationSource($authType, $this->userObj->fields, $strPass); + return $res; } else { $this->userObj->reuseUserFields = true; - $res = $this->userObj->VerifyLogin( $strUser, $strPass ); + $res = $this->userObj->VerifyLogin($strUser, $strPass); + return $res; } } @@ -743,23 +945,24 @@ class RBAC * @param string $strUser * @return $res */ - public function verifyUser ($strUser) + public function verifyUser($strUser) { - $res = $this->userObj->verifyUser( $strUser ); + $res = $this->userObj->verifyUser($strUser); + return $res; } /** * Verify if the user exist or not exists, the argument is the UserUID * - * @author Everth S. Berrios * @access public * @param string $strUserId * @return $res */ - public function verifyUserId ($strUserId) + public function verifyUserId($strUserId) { - $res = $this->userObj->verifyUserId( $strUserId ); + $res = $this->userObj->verifyUserId($strUserId); + return $res; } @@ -787,7 +990,7 @@ class RBAC $strict = substr($permBase, -7, 7) === '/strict'; $perm = $strict ? substr($permBase, 0, -7) : $permBase; if (isset($this->aUserInfo[$this->sSystem]['PERMISSIONS'])) { - $res = - 3; + $res = -3; foreach ($this->aUserInfo[$this->sSystem]['PERMISSIONS'] as $key => $val) { if ($perm == $val['PER_CODE']) { $res = 1; @@ -804,7 +1007,7 @@ class RBAC } } } else { - $res = - 1; + $res = -1; } return $res; @@ -814,114 +1017,118 @@ class RBAC * to create an user * * @access public - * @param array $aData - * @param string $sRolCode - * @return $sUserUID + * @param array $dataCase + * @param string $rolCode + * @return $userUid */ - public function createUser ($aData = array(), $sRolCode = '') + public function createUser($dataCase = [], $rolCode = '') { - if ($aData["USR_STATUS"] . "" == "1") { - $aData["USR_STATUS"] = "ACTIVE"; + if ($dataCase["USR_STATUS"] . "" == "1") { + $dataCase["USR_STATUS"] = "ACTIVE"; } - if ($aData["USR_STATUS"] . "" == "0") { - $aData["USR_STATUS"] = "INACTIVE"; + if ($dataCase["USR_STATUS"] . "" == "0") { + $dataCase["USR_STATUS"] = "INACTIVE"; } - if ($aData['USR_STATUS'] == 'ACTIVE') { - $aData['USR_STATUS'] = 1; + if ($dataCase['USR_STATUS'] == 'ACTIVE') { + $dataCase['USR_STATUS'] = 1; } - if ($aData['USR_STATUS'] == 'INACTIVE') { - $aData['USR_STATUS'] = 0; + if ($dataCase['USR_STATUS'] == 'INACTIVE') { + $dataCase['USR_STATUS'] = 0; } - $sUserUID = $this->userObj->create( $aData ); + $userUid = $this->userObj->create($dataCase); - if ($sRolCode != '') { - $this->assignRoleToUser( $sUserUID, $sRolCode ); + if ($rolCode != '') { + $this->assignRoleToUser($userUid, $rolCode); } - return $sUserUID; + + return $userUid; } /** - * updated an user + * Update an user * * @access public - * @param array $aData - * @param string $sRolCode + * @param array $dataCase + * @param string $rolCode * @return void */ - public function updateUser ($aData = array(), $sRolCode = '') + public function updateUser($dataCase = [], $rolCode = '') { - if (isset( $aData['USR_STATUS'] )) { - if ($aData['USR_STATUS'] == 'ACTIVE') { - $aData['USR_STATUS'] = 1; + if (isset($dataCase['USR_STATUS'])) { + if ($dataCase['USR_STATUS'] == 'ACTIVE') { + $dataCase['USR_STATUS'] = 1; } } - $this->userObj->update( $aData ); - if ($sRolCode != '') { - $this->removeRolesFromUser( $aData['USR_UID'] ); - $this->assignRoleToUser( $aData['USR_UID'], $sRolCode ); + + $this->userObj->update($dataCase); + if ($rolCode != '') { + $this->removeRolesFromUser($dataCase['USR_UID']); + $this->assignRoleToUser($dataCase['USR_UID'], $rolCode); } } /** - * to put role an user + * To put role an user * * @access public - * @param string $sUserUID - * @param string $sRolCode + * @param string $userUid + * @param string $rolCode * @return void */ - public function assignRoleToUser ($sUserUID = '', $sRolCode = '') + public function assignRoleToUser($userUid = '', $rolCode = '') { - $aRol = $this->rolesObj->loadByCode( $sRolCode ); - $this->usersRolesObj->create( $sUserUID, $aRol['ROL_UID'] ); + $aRol = $this->rolesObj->loadByCode($rolCode); + $this->usersRolesObj->create($userUid, $aRol['ROL_UID']); } /** - * remove a role from an user + * Remove a role from an user * * @access public - * @param array $sUserUID + * @param string $userUid * @return void */ - public function removeRolesFromUser ($sUserUID = '') + public function removeRolesFromUser($userUid = '') { - $oCriteria = new Criteria( 'rbac' ); - $oCriteria->add( UsersRolesPeer::USR_UID, $sUserUID ); - UsersRolesPeer::doDelete( $oCriteria ); + $criteria = new Criteria('rbac'); + $criteria->add(UsersRolesPeer::USR_UID, $userUid); + $criteria->add(UsersRolesPeer::ROL_UID, [RBAC::PROCESSMAKER_GUEST_UID], Criteria::NOT_IN); + UsersRolesPeer::doDelete($criteria); } /** * change status of an user * * @access public - * @param array $sUserUID + * @param string $userUid + * @param string $userStatus * @return void */ - public function changeUserStatus ($sUserUID = '', $sStatus = 'ACTIVE') + public function changeUserStatus($userUid = '', $userStatus = 'ACTIVE') { - if ($sStatus === 'ACTIVE') { - $sStatus = 1; + if ($userStatus === 'ACTIVE') { + $userStatus = 1; } - $aFields = $this->userObj->load( $sUserUID ); - $aFields['USR_STATUS'] = $sStatus; - $this->userObj->update( $aFields ); + $aFields = $this->userObj->load($userUid); + $aFields['USR_STATUS'] = $userStatus; + $this->userObj->update($aFields); } /** * remove an user * * @access public - * @param array $sUserUID + * @param string $userUid * @return void */ - public function removeUser ($sUserUID = '') + public function removeUser($userUid = '') { - $this->userObj->remove( $sUserUID ); - $this->removeRolesFromUser( $sUserUID ); + $this->userObj->remove($userUid); + $this->removeRolesFromUser($userUid); } // @@ -931,65 +1138,37 @@ class RBAC * * getting datas that is saved in rbac * - * @author Fernando Ontiveros Lira * @access public * * @param string $uid id user * @return array with info of an user */ - public function load ($uid) + public function load($uid) { $this->initRBAC(); - $this->userObj->Fields = $this->userObj->load( $uid ); + $this->userObj->Fields = $this->userObj->load($uid); - $fieldsSystem = $this->systemObj->loadByCode( $this->sSystem ); - $fieldsRoles = $this->usersRolesObj->getRolesBySystem( $fieldsSystem['SYS_UID'], $uid ); + $fieldsSystem = $this->systemObj->loadByCode($this->sSystem); + $fieldsRoles = $this->usersRolesObj->getRolesBySystem($fieldsSystem['SYS_UID'], $uid); $this->userObj->Fields['USR_ROLE'] = $fieldsRoles['ROL_CODE']; + return $this->userObj->Fields; } - /** - * loading permission by code - * - * - * @access public - * - * @param string $sCode - * @return void - */ - // function loadPermissionByCode($sCode) { - // return $this->permissionsObj->loadByCode($sCode); - // } - - /** * create permission * * * @access public * - * @param string $sCode + * @param string $code * @return void */ - public function createPermision ($sCode) + public function createPermision($code) { - return $this->permissionsObj->create( array ('PER_CODE' => $sCode) ); + return $this->permissionsObj->create(array('PER_CODE' => $code)); } - /** - * loading role by code - * - * - * @access public - * - * @param string $sCode - * @return void - */ - // function loadRoleByCode($sCode) { - // return $this->rolesObj->loadByCode($sCode); - // } - - /** * list all roles * @@ -1000,9 +1179,9 @@ class RBAC * @return $this->rolesObj */ - public function listAllRoles ($systemCode = 'PROCESSMAKER') + public function listAllRoles($systemCode = 'PROCESSMAKER') { - return $this->rolesObj->listAllRoles( $systemCode ); + return $this->rolesObj->listAllRoles($systemCode); } /** @@ -1014,9 +1193,9 @@ class RBAC * @param string $systemCode * @return $this->rolesObj->getAllRoles */ - public function getAllRoles ($systemCode = 'PROCESSMAKER') + public function getAllRoles($systemCode = 'PROCESSMAKER') { - return $this->rolesObj->getAllRoles( $systemCode ); + return $this->rolesObj->getAllRoles($systemCode); } /** @@ -1027,9 +1206,9 @@ class RBAC * @param string $filter * @return $this->rolesObj->getAllRolesFilter */ - public function getAllRolesFilter ($start, $limit, $filter) + public function getAllRolesFilter($start, $limit, $filter) { - return $this->rolesObj->getAllRolesFilter( $start, $limit, $filter ); + return $this->rolesObj->getAllRolesFilter($start, $limit, $filter); } /** @@ -1041,9 +1220,9 @@ class RBAC * @param string $systemCode * @return $this->rolesObj->listAllPermissions */ - public function listAllPermissions ($systemCode = 'PROCESSMAKER') + public function listAllPermissions($systemCode = 'PROCESSMAKER') { - return $this->rolesObj->listAllPermissions( $systemCode ); + return $this->rolesObj->listAllPermissions($systemCode); } /** @@ -1052,12 +1231,12 @@ class RBAC * * @access public * - * @param array $aData + * @param array $dataCase * @return $this->rolesObj->createRole */ - public function createRole ($aData) + public function createRole($dataCase) { - return $this->rolesObj->createRole( $aData ); + return $this->rolesObj->createRole($dataCase); } /** @@ -1066,12 +1245,12 @@ class RBAC * * @access public * - * @param string $ROL_UID + * @param string $rolUid * $@return $this->rolesObj->removeRole */ - public function removeRole ($ROL_UID) + public function removeRole($rolUid) { - return $this->rolesObj->removeRole( $ROL_UID ); + return $this->rolesObj->removeRole($rolUid); } /** @@ -1083,9 +1262,9 @@ class RBAC * @param string $code * @return $this->rolesObj->verifyNewRole */ - public function verifyNewRole ($code) + public function verifyNewRole($code) { - return $this->rolesObj->verifyNewRole( $code ); + return $this->rolesObj->verifyNewRole($code); } /** @@ -1097,9 +1276,9 @@ class RBAC * @param string $fields * @return $this->rolesObj->updateRole */ - public function updateRole ($fields) + public function updateRole($fields) { - return $this->rolesObj->updateRole( $fields ); + return $this->rolesObj->updateRole($fields); } /** @@ -1108,12 +1287,12 @@ class RBAC * * @access public * - * @param string $ROL_UID + * @param string $rolUid * @return $this->rolesObj->loadById */ - public function loadById ($ROL_UID) + public function loadById($rolUid) { - return $this->rolesObj->loadById( $ROL_UID ); + return $this->rolesObj->loadById($rolUid); } /** @@ -1122,10 +1301,10 @@ class RBAC * * @access public * - * @param string $ROL_UID + * @param string $rolUid * @return $this->rolesObj->getRoleUsers */ - public function getRoleUsers ($ROL_UID, $filter = '') + public function getRoleUsers($rolUid, $filter = '') { throw new Exception(__METHOD__ . ': The method is deprecated'); } @@ -1135,11 +1314,10 @@ class RBAC * * * @access public - * @author : Enrique Ponce de Leon * * @return $this->rolesObj->getAllUsersByRole */ - public function getAllUsersByRole () + public function getAllUsersByRole() { return $this->rolesObj->getAllUsersByRole(); } @@ -1149,11 +1327,10 @@ class RBAC * * * @access public - * @author : Enrique Ponce de Leon * * @return $this->rolesObj->getAllUsersByRole */ - public function getAllUsersByDepartment () + public function getAllUsersByDepartment() { return $this->rolesObj->getAllUsersByDepartment(); } @@ -1164,12 +1341,12 @@ class RBAC * * @access public * - * @param string $ROL_UID + * @param string $rolUid * @return $this->rolesObj->getRoleCode */ - public function getRoleCode ($ROL_UID) + public function getRoleCode($rolUid) { - return $this->rolesObj->getRoleCode( $ROL_UID ); + return $this->rolesObj->getRoleCode($rolUid); } /** @@ -1178,13 +1355,13 @@ class RBAC * * @access public * - * @param string $ROL_UID + * @param string $rolUid * @param string $USR_UID * @return $this->rolesObj->deleteUserRole */ - public function deleteUserRole ($ROL_UID, $USR_UID) + public function deleteUserRole($rolUid, $USR_UID) { - return $this->rolesObj->deleteUserRole( $ROL_UID, $USR_UID ); + return $this->rolesObj->deleteUserRole($rolUid, $USR_UID); } /** @@ -1193,10 +1370,10 @@ class RBAC * * @access public * - * @param string $ROL_UID + * @param string $rolUid * @return $this->rolesObj->getAllUsers */ - public function getAllUsers ($ROL_UID, $filter = '') + public function getAllUsers($rolUid, $filter = '') { throw new Exception(__METHOD__ . ': The method is deprecated'); } @@ -1207,12 +1384,12 @@ class RBAC * * @access public * - * @param array $aData + * @param array $dataCase * @return $this->rolesObj->assignUserToRole */ - public function assignUserToRole ($aData) + public function assignUserToRole($dataCase) { - return $this->rolesObj->assignUserToRole( $aData ); + return $this->rolesObj->assignUserToRole($dataCase); } /** @@ -1221,26 +1398,26 @@ class RBAC * * @access public * - * @param string $ROL_UID + * @param string $rolUid * @return $this->rolesObj->getRolePermissionsByPerUid */ - public function getRolePermissionsByPerUid($ROL_UID) + public function getRolePermissionsByPerUid($rolUid) { - return $this->rolesObj->getRolePermissionsByPerUid($ROL_UID); + return $this->rolesObj->getRolePermissionsByPerUid($rolUid); } /** - * this function is Assigne role permission + * this function is Assignee role permission * * * @access public * - * @param string $ROL_UID + * @param string $rolUid * @return $this->rolesObj->isAssigneRolePermission */ - public function getPermissionAssignedRole($ROL_UID, $PER_UID) + public function getPermissionAssignedRole($rolUid, $perUid) { - return $this->rolesObj->getPermissionAssignedRole($ROL_UID, $PER_UID); + return $this->rolesObj->getPermissionAssignedRole($rolUid, $perUid); } /** @@ -1249,12 +1426,14 @@ class RBAC * * @access public * - * @param string $ROL_UID + * @param string $rolUid + * @param string $filter + * @param string $status * @return $this->rolesObj->getRolePermissions */ - public function getRolePermissions ($ROL_UID, $filter = '', $status = null) + public function getRolePermissions($rolUid, $filter = '', $status = null) { - return $this->rolesObj->getRolePermissions( $ROL_UID, $filter, $status ); + return $this->rolesObj->getRolePermissions($rolUid, $filter, $status); } /** @@ -1263,13 +1442,15 @@ class RBAC * * @access public * - * @param string $ROL_UID - * @param string $PER_SYSTEM + * @param string $rolUid + * @param string $perSystem + * @param string $filter + * @param string $status * @return $this->rolesObj->getAllPermissions */ - public function getAllPermissions ($ROL_UID, $PER_SYSTEM = "", $filter = '', $status = null) + public function getAllPermissions($rolUid, $perSystem = "", $filter = '', $status = null) { - return $this->rolesObj->getAllPermissions( $ROL_UID, $PER_SYSTEM, $filter, $status ); + return $this->rolesObj->getAllPermissions($rolUid, $perSystem, $filter, $status); } /** @@ -1278,12 +1459,12 @@ class RBAC * * @access public * - * @param array $aData + * @param array $dataCase * @return $this->rolesObj->assignPermissionRole */ - public function assignPermissionRole ($sData) + public function assignPermissionRole($dataCase) { - return $this->rolesObj->assignPermissionRole( $sData ); + return $this->rolesObj->assignPermissionRole($dataCase); } /** @@ -1292,13 +1473,13 @@ class RBAC * * @access public * - * @param string $sRoleUID - * @param string $sPermissionUID + * @param string $roleUid + * @param string $permissionUid * @return $this->rolesPermissionsObj->create */ - public function assignPermissionToRole ($sRoleUID, $sPermissionUID) + public function assignPermissionToRole($roleUid, $permissionUid) { - return $this->rolesPermissionsObj->create( array ('ROL_UID' => $sRoleUID,'PER_UID' => $sPermissionUID ) ); + return $this->rolesPermissionsObj->create(array('ROL_UID' => $roleUid, 'PER_UID' => $permissionUid)); } /** @@ -1307,13 +1488,13 @@ class RBAC * * @access public * - * @param string $ROL_UID - * @param string $PER_UID + * @param string $rolUid + * @param string $perUid * @return $this->rolesObj->deletePermissionRole */ - public function deletePermissionRole ($ROL_UID, $PER_UID) + public function deletePermissionRole($rolUid, $perUid) { - return $this->rolesObj->deletePermissionRole( $ROL_UID, $PER_UID ); + return $this->rolesObj->deletePermissionRole($rolUid, $perUid); } /** @@ -1322,12 +1503,12 @@ class RBAC * * @access public * - * @param string $ROL_UID + * @param string $rolUid * @return $this->rolesObj->numUsersWithRole */ - public function numUsersWithRole ($ROL_UID) + public function numUsersWithRole($rolUid) { - return $this->rolesObj->numUsersWithRole( $ROL_UID ); + return $this->rolesObj->numUsersWithRole($rolUid); } /** @@ -1336,13 +1517,14 @@ class RBAC * * @access public * - * @param string $sCode + * @param string $code * @return $this->systemObj->create */ - public function createSystem ($sCode) + public function createSystem($code) { - return $this->systemObj->create( array ('SYS_CODE' => $sCode - ) ); + return $this->systemObj->create(array( + 'SYS_CODE' => $code + )); } /** @@ -1351,12 +1533,12 @@ class RBAC * * @access public * - * @param string $sCode + * @param string $code * @return $this->rolesObj->verifyByCode */ - public function verifyByCode ($sCode) + public function verifyByCode($code) { - return $this->rolesObj->verifyByCode( $sCode ); + return $this->rolesObj->verifyByCode($code); } /** @@ -1369,7 +1551,7 @@ class RBAC * @return $this->authSourcesObj->getAllAuthSources() */ - public function getAllAuthSources () + public function getAllAuthSources() { return $this->authSourcesObj->getAllAuthSources(); } @@ -1384,7 +1566,7 @@ class RBAC * @return $this->authSourcesObj->getAllAuthSources() */ - public function getAllAuthSourcesByUser () + public function getAllAuthSourcesByUser() { return $this->authSourcesObj->getAllAuthSourcesByUser(); } @@ -1401,9 +1583,9 @@ class RBAC * @return $this->authSourcesObj->getAuthenticationSources() */ - public function getAuthenticationSources ($start, $limit, $filter = '') + public function getAuthenticationSources($start, $limit, $filter = '') { - return $this->authSourcesObj->getAuthenticationSources( $start, $limit, $filter ); + return $this->authSourcesObj->getAuthenticationSources($start, $limit, $filter); } /** @@ -1412,19 +1594,20 @@ class RBAC * * @access public * - * @param string $sUID + * @param string $uid * @return $this->authSourcesObj->load */ - public function getAuthSource ($sUID) + public function getAuthSource($uid) { - $data = $this->authSourcesObj->load( $sUID ); - $pass = explode( "_", $data['AUTH_SOURCE_PASSWORD'] ); + $data = $this->authSourcesObj->load($uid); + $pass = explode("_", $data['AUTH_SOURCE_PASSWORD']); foreach ($pass as $index => $value) { if ($value == '2NnV3ujj3w') { - $data['AUTH_SOURCE_PASSWORD'] = G::decrypt( $pass[0], $data['AUTH_SOURCE_SERVER_NAME'] ); + $data['AUTH_SOURCE_PASSWORD'] = G::decrypt($pass[0], $data['AUTH_SOURCE_SERVER_NAME']); } } $this->authSourcesObj->Fields = $data; + return $this->authSourcesObj->Fields; } @@ -1434,13 +1617,14 @@ class RBAC * * @access public * - * @param array $aData + * @param array $dataCase * @return $this->authSourcesObj->create */ - public function createAuthSource ($aData) + public function createAuthSource($dataCase) { - $aData['AUTH_SOURCE_PASSWORD'] = G::encrypt( $aData['AUTH_SOURCE_PASSWORD'], $aData['AUTH_SOURCE_SERVER_NAME'] ) . "_2NnV3ujj3w"; - $this->authSourcesObj->create( $aData ); + $dataCase['AUTH_SOURCE_PASSWORD'] = G::encrypt($dataCase['AUTH_SOURCE_PASSWORD'], + $dataCase['AUTH_SOURCE_SERVER_NAME']) . "_2NnV3ujj3w"; + $this->authSourcesObj->create($dataCase); } /** @@ -1449,13 +1633,14 @@ class RBAC * * @access public * - * @param array $aData + * @param array $dataCase * @return $this->authSourcesObj->create */ - public function updateAuthSource ($aData) + public function updateAuthSource($dataCase) { - $aData['AUTH_SOURCE_PASSWORD'] = G::encrypt( $aData['AUTH_SOURCE_PASSWORD'], $aData['AUTH_SOURCE_SERVER_NAME'] ) . "_2NnV3ujj3w"; - $this->authSourcesObj->update( $aData ); + $dataCase['AUTH_SOURCE_PASSWORD'] = G::encrypt($dataCase['AUTH_SOURCE_PASSWORD'], + $dataCase['AUTH_SOURCE_SERVER_NAME']) . "_2NnV3ujj3w"; + $this->authSourcesObj->update($dataCase); } /** @@ -1464,12 +1649,12 @@ class RBAC * * @access public * - * @param string $sUID + * @param string $uid * @return $this->authSourcesObj->remove */ - public function removeAuthSource ($sUID) + public function removeAuthSource($uid) { - $this->authSourcesObj->remove( $sUID ); + $this->authSourcesObj->remove($uid); } /** @@ -1481,7 +1666,7 @@ class RBAC * @return $this->userObj->getAllUsersByAuthSource() */ - public function getAllUsersByAuthSource () + public function getAllUsersByAuthSource() { return $this->userObj->getAllUsersByAuthSource(); } @@ -1495,9 +1680,9 @@ class RBAC * @return $this->userObj->getAllUsersByAuthSource() */ - public function getListUsersByAuthSource ($aSource) + public function getListUsersByAuthSource($source) { - return $this->userObj->getListUsersByAuthSource( $aSource ); + return $this->userObj->getListUsersByAuthSource($source); } /** @@ -1506,123 +1691,128 @@ class RBAC * * @access public * - * @param string $sUID - * @param string $sKeyword + * @param string $uid + * @param string $keyword * @return array */ - public function searchUsers ($sUID, $sKeyword) + public function searchUsers($uid, $keyword) { - $aAuthSource = $this->getAuthSource( $sUID ); - $sAuthType = strtolower( $aAuthSource['AUTH_SOURCE_PROVIDER'] ); - foreach ($this->aRbacPlugins as $sClassName) { - if (strtolower( $sClassName ) == $sAuthType) { - $plugin = new $sClassName(); - $plugin->sAuthSource = $sUID; + $aAuthSource = $this->getAuthSource($uid); + $authType = strtolower($aAuthSource['AUTH_SOURCE_PROVIDER']); + foreach ($this->aRbacPlugins as $className) { + if (strtolower($className) == $authType) { + $plugin = new $className(); + $plugin->sAuthSource = $uid; $plugin->sSystem = $this->sSystem; - return $plugin->searchUsers( $sKeyword ); + + return $plugin->searchUsers($keyword); } } - return array (); + + return []; } - public function requirePermissions ($permissions) + public function requirePermissions($permissions) { $numPerms = func_num_args(); $permissions = func_get_args(); - $access = - 1; + $access = -1; if ($numPerms == 1) { - $access = $this->userCanAccess( $permissions[0] ); + $access = $this->userCanAccess($permissions[0]); } elseif ($numPerms > 0) { foreach ($permissions as $perm) { - $access = $this->userCanAccess( $perm ); + $access = $this->userCanAccess($perm); if ($access == 1) { $access = 1; break; } } } else { - throw new Exception( 'function requirePermissions() ->ERROR: Parameters missing!' ); + throw new Exception('function requirePermissions() ->ERROR: Parameters missing!'); } if ($access == 1) { return true; } else { switch ($access) { - case - 2: - G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); - G::header( 'location: ../login/login' ); + case -2: + G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels'); + G::header('location: ../login/login'); break; - case - 1: + case -1: default: - G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); - G::header( 'location: ../login/login' ); + G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); + G::header('location: ../login/login'); break; } - exit( 0 ); + exit(0); } } - private function getAllFiles ($directory, $recursive = true) + private function getAllFiles($directory, $recursive = true) { - $result = array (); - if (is_dir( $directory )) { - $handle = opendir( $directory ); - while ($datei = readdir( $handle )) { + $result = []; + if (is_dir($directory)) { + $handle = opendir($directory); + while ($datei = readdir($handle)) { if (($datei != '.') && ($datei != '..')) { $file = $directory . $datei; - if (is_dir( $file )) { + if (is_dir($file)) { if ($recursive) { - $result = array_merge( $result, getAllFiles( $file . '/' ) ); + $result = array_merge($result, getAllFiles($file . '/')); } } else { $result[] = $file; } } } - closedir( $handle ); + closedir($handle); } + return $result; } - private function getFilesTimestamp ($directory, $recursive = true) + private function getFilesTimestamp($directory, $recursive = true) { - $allFiles = self::getAllFiles( $directory, $recursive ); - $fileArray = array (); + $allFiles = self::getAllFiles($directory, $recursive); + $fileArray = []; foreach ($allFiles as $val) { $timeResult['file'] = $val; - $timeResult['timestamp'] = filemtime( $val ); + $timeResult['timestamp'] = filemtime($val); $fileArray[] = $timeResult; } + return $fileArray; } - public function cleanSessionFiles ($hours = 72) + public function cleanSessionFiles($hours = 72) { - $currentTime = strtotime( "now" ); + $currentTime = strtotime("now"); $timeDifference = $hours * 60 * 60; $limitTime = $currentTime - $timeDifference; $sessionsPath = PATH_DATA . 'session' . PATH_SEP; - $filesResult = self::getFilesTimestamp( $sessionsPath ); + $filesResult = self::getFilesTimestamp($sessionsPath); $count = 0; foreach ($filesResult as $file) { if ($file['timestamp'] < $limitTime) { - unlink( $file['file'] ); - $count ++; + unlink($file['file']); + $count++; } } } + /** - * this function permissions - * + * This function verify the permissions * * @access public * + * @return array */ public function verifyPermissions() { - $message = array(); + $message = []; $this->verifyGuestUserRolePermission(); $listPermissions = $this->loadPermissionAdmin(); $criteria = new Criteria('rbac'); @@ -1642,7 +1832,7 @@ class RBAC } foreach ($listPermissions as $key => $item) { //Adding new permissions - $data = array(); + $data = []; $data['PER_UID'] = $item['PER_UID']; $data['PER_CODE'] = $item['PER_CODE']; $data['PER_CREATE_DATE'] = date('Y-m-d H:i:s'); @@ -1660,6 +1850,7 @@ class RBAC $this->assigningNewPermissionsPmSetup($item); $this->assigningNewPermissionsPmEditProfile($item); } + return $message; } @@ -1667,7 +1858,7 @@ class RBAC * Permissions for tab ADMIN * @param array $item */ - public function assigningNewPermissionsPmSetup($item = array()) + public function assigningNewPermissionsPmSetup($item = []) { if (strpos($item['PER_CODE'], 'PM_SETUP_') !== false) { $rolesWithPermissionSetup = $this->getRolePermissionsByPerUid(self::SETUPERMISSIONUID); @@ -1675,7 +1866,7 @@ class RBAC while ($aRow = $rolesWithPermissionSetup->getRow()) { $isAssignedNewpermissions = $this->getPermissionAssignedRole($aRow['ROL_UID'], $item['PER_UID']); if (!$isAssignedNewpermissions) { - $dataPermissions = array(); + $dataPermissions = []; $dataPermissions['ROL_UID'] = $aRow['ROL_UID']; $dataPermissions['PER_UID'] = $item['PER_UID']; $this->assignPermissionRole($dataPermissions); @@ -1689,7 +1880,7 @@ class RBAC * Permissions for Edit Profile User * @param array $item */ - public function assigningNewPermissionsPmEditProfile($item = array()) + public function assigningNewPermissionsPmEditProfile($item = []) { if (strpos($item['PER_CODE'], 'PM_EDIT_USER_PROFILE_') !== false) { $allRolesRolUid = $this->getAllRoles('PROCESSMAKER'); @@ -1709,18 +1900,20 @@ class RBAC $isAssignedNewpermissions = $this->getPermissionAssignedRole($aRow['ROL_UID'], $item['PER_UID']); $assignPermissions = true; if (!$isAssignedNewpermissions) { - if ($aRow['ROL_CODE'] == 'PROCESSMAKER_OPERATOR' && in_array($item['PER_CODE'], $permissionsForOperator)) { + if ($aRow['ROL_CODE'] == 'PROCESSMAKER_OPERATOR' && in_array($item['PER_CODE'], + $permissionsForOperator)) { $assignPermissions = false; } if (!in_array($aRow['ROL_CODE'], $perCodePM)) { $assignPermissions = false; - $checkPermisionEdit = $this->getPermissionAssignedRole($aRow['ROL_UID'], '00000000000000000000000000000014'); + $checkPermisionEdit = $this->getPermissionAssignedRole($aRow['ROL_UID'], + '00000000000000000000000000000014'); if ($checkPermisionEdit && !in_array($item['PER_CODE'], $permissionsForOperator)) { $assignPermissions = true; } } if ($assignPermissions) { - $dataPermissions = array(); + $dataPermissions = []; $dataPermissions['ROL_UID'] = $aRow['ROL_UID']; $dataPermissions['PER_UID'] = $item['PER_UID']; $this->assignPermissionRole($dataPermissions); @@ -1737,6 +1930,7 @@ class RBAC * @param string $action * * @return void + * @throws RBACException */ public function allows($file, $action) { @@ -1786,11 +1980,11 @@ class RBAC { return $this->enableLoginHash; } - + /** - * Returns true in case the parameter corresponds to the invited user, + * Returns true in case the parameter corresponds to the invited user, * otherwise it returns false. - * + * * @param string $usrUid * @return boolean */ diff --git a/rbac/engine/classes/model/RbacUsers.php b/rbac/engine/classes/model/RbacUsers.php index cd67c61d0..a6da34c66 100644 --- a/rbac/engine/classes/model/RbacUsers.php +++ b/rbac/engine/classes/model/RbacUsers.php @@ -24,6 +24,7 @@ * Coral Gables, FL, 33134, USA, or email info@colosa.com. * */ + /** * @access public */ @@ -44,57 +45,60 @@ use ProcessMaker\Plugins\PluginRegistry; class RbacUsers extends BaseRbacUsers { + private $userUidReserved = [RBAC::GUEST_USER_UID]; + /** - * Autentificacion de un usuario a traves de la clase RBAC_user + * Authentication of a user through the class RBAC_user * - * verifica que un usuario tiene derechos de iniciar una aplicacion + * verifies that a user has permission to start an application * - * @author Fernando Ontiveros Lira - * access public + * @access public * Function verifyLogin * - * @param string $strUser UserId (login) de usuario - * @param string $strPass Password - * @return - * -1: no existe usuario - * -2: password errado - * -3: usuario inactivo - * -4: usuario vencido - * -6: role inactivo - * n : uid de usuario + * @param string $userName UserId (login) de usuario + * @param string $password Password + * @return type + * -1: no user exists + * -2: wrong password + * -3: inactive user + * -4: expired user + * -6: role inactive + * n : string user uid + * @throws Exception */ - public function verifyLogin($sUsername, $sPassword) + public function verifyLogin($userName, $password) { //invalid user - if ($sUsername == '') { + if ($userName == '') { return -1; } //invalid password - if ($sPassword == '') { + if ($password == '') { return -2; } $con = Propel::getConnection(RbacUsersPeer::DATABASE_NAME); try { $c = new Criteria('rbac'); - $c->add(RbacUsersPeer::USR_USERNAME, $sUsername); + $c->add(RbacUsersPeer::USR_USERNAME, $userName); /* @var $rs RbacUsers[] */ $rs = RbacUsersPeer::doSelect($c, Propel::getDbConnection('rbac_ro')); if (is_array($rs) && isset($rs[0]) && is_object($rs[0]) && get_class($rs[0]) == 'RbacUsers') { - $aFields = $rs[0]->toArray(BasePeer::TYPE_FIELDNAME); + $dataFields = $rs[0]->toArray(BasePeer::TYPE_FIELDNAME); //verify password with md5, and md5 format - if (mb_strtoupper($sUsername, 'utf-8') === mb_strtoupper($aFields['USR_USERNAME'], 'utf-8')) { - if( Bootstrap::verifyHashPassword($sPassword, $rs[0]->getUsrPassword()) ) { - if ($aFields['USR_DUE_DATE'] < date('Y-m-d')) { + if (mb_strtoupper($userName, 'utf-8') === mb_strtoupper($dataFields['USR_USERNAME'], 'utf-8')) { + if (Bootstrap::verifyHashPassword($password, $rs[0]->getUsrPassword())) { + if ($dataFields['USR_DUE_DATE'] < date('Y-m-d')) { return -4; } - if ($aFields['USR_STATUS'] != 1 && $aFields['USR_UID'] !== RBAC::GUEST_USER_UID) { + if ($dataFields['USR_STATUS'] != 1 && $dataFields['USR_UID'] !== RBAC::GUEST_USER_UID) { return -3; } - $role = $this->getUserRole($aFields['USR_UID']); + $role = $this->getUserRole($dataFields['USR_UID']); if ($role['ROL_STATUS'] == 0) { return -6; } - return $aFields['USR_UID']; + + return $dataFields['USR_UID']; } else { return -2; } @@ -104,100 +108,134 @@ class RbacUsers extends BaseRbacUsers } else { return -1; } - } catch (Exception $oError) { - throw($oError); + } catch (Exception $error) { + throw($error); } + return -1; } - public function verifyUser($sUsername) + /** + * Verify if the userName exists + * @param string $userName + * @return integer + * @throws Exception + */ + public function verifyUser($userName) { //invalid user - if ($sUsername == '') { + if ($userName == '') { return 0; } $con = Propel::getConnection(RbacUsersPeer::DATABASE_NAME); try { $c = new Criteria('rbac'); - $c->add(RbacUsersPeer::USR_USERNAME, $sUsername); + $c->add(RbacUsersPeer::USR_USERNAME, $userName); $rs = RbacUsersPeer::doSelect($c, Propel::getDbConnection('rbac_ro')); if (is_array($rs) && isset($rs[0]) && is_object($rs[0]) && get_class($rs[0]) == 'RbacUsers') { //return the row for futher check of which Autentificacion method belongs this user $this->fields = $rs[0]->toArray(BasePeer::TYPE_FIELDNAME); - ; + return 1; } else { return 0; } - } catch (Exception $oError) { - throw($oError); + } catch (Exception $error) { + throw($error); } } - public function getByUsername($sUsername) + /** + * Get user info by userName + * @param string $userName + * @return array $dataFields if exist + * false if does not exist + * @throws Exception + */ + public function getByUsername($userName) { //invalid user - if ($sUsername == '') { + if ($userName == '') { return 0; } $con = Propel::getConnection(RbacUsersPeer::DATABASE_NAME); try { $c = new Criteria('rbac'); - $c->add(RbacUsersPeer::USR_USERNAME, $sUsername); + $c->add(RbacUsersPeer::USR_USERNAME, $userName); $rs = RbacUsersPeer::doSelect($c, Propel::getDbConnection('rbac_ro')); if (is_array($rs) && isset($rs[0]) && is_object($rs[0]) && get_class($rs[0]) == 'RbacUsers') { - $aFields = $rs[0]->toArray(BasePeer::TYPE_FIELDNAME); - return $aFields; + $dataFields = $rs[0]->toArray(BasePeer::TYPE_FIELDNAME); + + return $dataFields; } else { return false; } - } catch (Exception $oError) { - throw($oError); + } catch (Exception $error) { + throw($error); } } - public function verifyUserId($sUserId) + /** + * Verify user by Uid + * @param string $userUid + * @return integer + * @throws Exception + */ + public function verifyUserId($userUid) { //invalid user - if ($sUserId == '') { + if ($userUid == '') { return 0; } $con = Propel::getConnection(RbacUsersPeer::DATABASE_NAME); try { $c = new Criteria('rbac'); - $c->add(RbacUsersPeer::USR_UID, $sUserId); + $c->add(RbacUsersPeer::USR_UID, $userUid); $rs = RbacUsersPeer::doSelect($c, Propel::getDbConnection('rbac_ro')); if (is_array($rs) && isset($rs[0]) && is_object($rs[0]) && get_class($rs[0]) == 'RbacUsers') { return 1; } else { return 0; } - } catch (Exception $oError) { - throw($oError); + } catch (Exception $error) { + throw($error); } } - public function load($sUsrUid) + /** + * Load user information by Uid + * @param string $userUid + * @return array $dataFields + * @throws Exception + */ + public function load($userUid) { $con = Propel::getConnection(RbacUsersPeer::DATABASE_NAME); try { $c = new Criteria('rbac'); - $c->add(RbacUsersPeer::USR_UID, $sUsrUid); + $c->add(RbacUsersPeer::USR_UID, $userUid); $resultSet = RbacUsersPeer::doSelectRS($c, Propel::getDbConnection('rbac_ro')); if ($resultSet->next()) { $this->hydrate($resultSet); - $aFields = $this->toArray(BasePeer::TYPE_FIELDNAME); - return $aFields; + $dataFields = $this->toArray(BasePeer::TYPE_FIELDNAME); + + return $dataFields; } + return false; - } catch (Exception $oError) { - throw($oError); + } catch (Exception $error) { + throw($error); } - return $res; } - public function create($aData) + /** + * Create an user + * @param string $infoData + * @return array + * @throws Exception + */ + public function create($infoData) { if (class_exists('ProcessMaker\Plugins\PluginRegistry')) { $pluginRegistry = PluginRegistry::loadSingleton(); @@ -209,116 +247,134 @@ class RbacUsers extends BaseRbacUsers } } } - $oConnection = Propel::getConnection(RbacUsersPeer::DATABASE_NAME); + $connection = Propel::getConnection(RbacUsersPeer::DATABASE_NAME); try { - $oRBACUsers = new RbacUsers(); + $rbacUsers = new RbacUsers(); do { - $aData['USR_UID'] = G::generateUniqueID(); - } while ($oRBACUsers->load($aData['USR_UID'])); - $oRBACUsers->fromArray($aData, BasePeer::TYPE_FIELDNAME); - //if ($oRBACUsers->validate()) { - //$oConnection->begin(); - $iResult = $oRBACUsers->save(); - //$oConnection->commit(); - return $aData['USR_UID']; - /* } - else { - $sMessage = ''; - $aValidationFailures = $oRBACUsers->getValidationFailures(); - foreach($aValidationFailures as $oValidationFailure) { - $sMessage .= $oValidationFailure->getMessage() . '
'; - } - throw(new Exception('The registry cannot be created!
' . $sMessage)); - } */ - } catch (Exception $oError) { - $oConnection->rollback(); - throw($oError); + $infoData['USR_UID'] = G::generateUniqueID(); + } while ($rbacUsers->load($infoData['USR_UID'])); + $rbacUsers->fromArray($infoData, BasePeer::TYPE_FIELDNAME); + $result = $rbacUsers->save(); + + return $infoData['USR_UID']; + } catch (Exception $error) { + $connection->rollback(); + throw($error); } } - public function update($aData) + /** + * Update an user + * @param string $infoData + * @return boolean + * @throws Exception + */ + public function update($infoData) { + if (in_array($infoData['USR_UID'], $this->userUidReserved)) { + throw new Exception(G::LoadTranslation("ID_USER_CAN_NOT_UPDATE", array($infoData['USR_UID']))); + return false; + } $oConnection = Propel::getConnection(RbacUsersPeer::DATABASE_NAME); try { - $this->fromArray($aData, BasePeer::TYPE_FIELDNAME); + $this->fromArray($infoData, BasePeer::TYPE_FIELDNAME); $this->setNew(false); - $iResult = $this->save(); - } catch (Exception $oError) { + $result = $this->save(); + } catch (Exception $error) { $oConnection->rollback(); - throw($oError); + throw($error); } } - public function remove($sUserUID = '') + /** + * Remove an user + * @param string $userUid + * @return void + */ + public function remove($userUid = '') { - $this->setUsrUid($sUserUID); + $this->setUsrUid($userUid); $this->delete(); } - //Added by Qennix at Feb 14th, 2011 - //Gets an associative array with total users by authentication sources + /** + * Gets an associative array with total users by authentication sources + * @return array $listAuth + */ public function getAllUsersByAuthSource() { - $oCriteria = new Criteria('rbac'); - $oCriteria->addSelectColumn(RbacUsersPeer::UID_AUTH_SOURCE); - $oCriteria->addSelectColumn('COUNT(*) AS CNT'); - $oCriteria->add(RbacUsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL); - $oCriteria->addGroupByColumn(RbacUsersPeer::UID_AUTH_SOURCE); - $oDataset = RbacUsersPeer::doSelectRS($oCriteria, Propel::getDbConnection('rbac_ro')); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $criteria = new Criteria('rbac'); + $criteria->addSelectColumn(RbacUsersPeer::UID_AUTH_SOURCE); + $criteria->addSelectColumn('COUNT(*) AS CNT'); + $criteria->add(RbacUsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL); + $criteria->addGroupByColumn(RbacUsersPeer::UID_AUTH_SOURCE); + $dataset = RbacUsersPeer::doSelectRS($criteria, Propel::getDbConnection('rbac_ro')); + $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $aAuth = Array(); - while ($oDataset->next()) { - $row = $oDataset->getRow(); - $aAuth[$row['UID_AUTH_SOURCE']] = $row['CNT']; + $listAuth = []; + while ($dataset->next()) { + $row = $dataset->getRow(); + $listAuth[$row['UID_AUTH_SOURCE']] = $row['CNT']; } - return $aAuth; + + return $listAuth; } - //Returns all users with auth_source - public function getListUsersByAuthSource($auth_source) + /** + * Get users list related to an authentication source + * @param string $authSource + * @return array $listUsers, all users with auth_source + */ + public function getListUsersByAuthSource($authSource) { - $oCriteria = new Criteria('rbac'); - $oCriteria->addSelectColumn(RbacUsersPeer::USR_UID); + $criteria = new Criteria('rbac'); + $criteria->addSelectColumn(RbacUsersPeer::USR_UID); - if ($auth_source == '00000000000000000000000000000000') { - $oCriteria->add( - $oCriteria->getNewCriterion(RbacUsersPeer::UID_AUTH_SOURCE, $auth_source, Criteria::EQUAL)->addOr( - $oCriteria->getNewCriterion(RbacUsersPeer::UID_AUTH_SOURCE, '', Criteria::EQUAL) - )); + if ($authSource == '00000000000000000000000000000000') { + $criteria->add( + $criteria->getNewCriterion(RbacUsersPeer::UID_AUTH_SOURCE, $authSource, Criteria::EQUAL)->addOr( + $criteria->getNewCriterion(RbacUsersPeer::UID_AUTH_SOURCE, '', Criteria::EQUAL) + )); } else { - $oCriteria->add(RbacUsersPeer::UID_AUTH_SOURCE, $auth_source, Criteria::EQUAL); + $criteria->add(RbacUsersPeer::UID_AUTH_SOURCE, $authSource, Criteria::EQUAL); } - $oCriteria->add(RbacUsersPeer::USR_STATUS, 0, Criteria::NOT_EQUAL); - $oDataset = RbacUsersPeer::doSelectRS($oCriteria, Propel::getDbConnection('rbac_ro')); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $aUsers = array(); - while ($oDataset->next()) { - $row = $oDataset->getRow(); - $aUsers[] = $row['USR_UID']; + $criteria->add(RbacUsersPeer::USR_STATUS, 0, Criteria::NOT_EQUAL); + $dataset = RbacUsersPeer::doSelectRS($criteria, Propel::getDbConnection('rbac_ro')); + $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $listUsers = []; + while ($dataset->next()) { + $row = $dataset->getRow(); + $listUsers[] = $row['USR_UID']; } - return $aUsers; + + return $listUsers; } - public function getUserRole($UsrUid) + /** + * Get the user's role + * @param string $userUid + * @return array $row + * @throws Exception + */ + public function getUserRole($userUid) { $con = Propel::getConnection(UsersRolesPeer::DATABASE_NAME); try { - $c = new Criteria( 'rbac' ); + $c = new Criteria('rbac'); $c->clearSelectColumns(); - $c->addSelectColumn ( RolesPeer::ROL_UID ); - $c->addSelectColumn ( RolesPeer::ROL_CODE ); - $c->addSelectColumn ( RolesPeer::ROL_STATUS ); - $c->addJoin ( UsersRolesPeer::ROL_UID, RolesPeer::ROL_UID ); - $c->add ( UsersRolesPeer::USR_UID, $UsrUid ); - $rs = UsersRolesPeer::doSelectRs( $c , Propel::getDbConnection('rbac_ro')); - $rs->setFetchmode (ResultSet::FETCHMODE_ASSOC); + $c->addSelectColumn(RolesPeer::ROL_UID); + $c->addSelectColumn(RolesPeer::ROL_CODE); + $c->addSelectColumn(RolesPeer::ROL_STATUS); + $c->addJoin(UsersRolesPeer::ROL_UID, RolesPeer::ROL_UID); + $c->add(UsersRolesPeer::USR_UID, $userUid); + $rs = UsersRolesPeer::doSelectRs($c, Propel::getDbConnection('rbac_ro')); + $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rs->next(); $row = $rs->getRow(); + return $row; - } - catch (Exception $oError) { - throw($oError); + } catch (Exception $error) { + throw($error); } } @@ -342,6 +398,7 @@ class RbacUsers extends BaseRbacUsers ); $array = parent::toArray($keyType); unset($array[$key]); + return $array; } } diff --git a/workflow/engine/classes/Groups.php b/workflow/engine/classes/Groups.php index 8e721890e..ed257661a 100644 --- a/workflow/engine/classes/Groups.php +++ b/workflow/engine/classes/Groups.php @@ -77,28 +77,38 @@ class Groups /** * Set a user to group * - * @param string $GrpUid, $UsrUid - * @return array + * @param string $grpUid + * @param string $usrUid + * @return boolean + * @throws exception */ - public function addUserToGroup($GrpUid, $UsrUid) + public function addUserToGroup($grpUid, $usrUid) { try { - $oGrp = GroupUserPeer::retrieveByPk($GrpUid, $UsrUid); - if (is_object($oGrp) && get_class($oGrp) == 'GroupUser') { + //Check the usrUid value + if (RBAC::isGuestUserUid($usrUid)) { + throw new Exception(G::LoadTranslation("ID_USER_CAN_NOT_UPDATE", array($usrUid))); + return false; + } + + $groupUser = GroupUserPeer::retrieveByPk($grpUid, $usrUid); + if (is_object($groupUser) && get_class($groupUser) == 'GroupUser') { return true; } else { - $oGrp = new GroupUser(); - $oGrp->setGrpUid($GrpUid); - $oGrp->setUsrUid($UsrUid); - $oGrp->Save(); + $groupUser = new GroupUser(); + $groupUser->setGrpUid($grpUid); + $groupUser->setUsrUid($usrUid); + $groupUser->Save(); - $oGrpwf = new Groupwf(); - $grpName = $oGrpwf->loadByGroupUid($GrpUid); + $groupWf = new Groupwf(); + $grpName = $groupWf->loadByGroupUid($grpUid); - $oUsr = new Users(); - $usrName = $oUsr->load($UsrUid); + $users = new Users(); + $usrName = $users->load($usrUid); - G::auditLog("AssignUserToGroup", "Assign user ". $usrName['USR_USERNAME'] ." (".$UsrUid.") to group ".$grpName['CON_VALUE']." (".$GrpUid.") "); + G::auditLog("AssignUserToGroup", "Assign user ". $usrName['USR_USERNAME'] ." (".$usrUid.") to group ".$grpName['CON_VALUE']." (".$grpUid.") "); + + return true; } } catch (exception $oError) { throw ($oError); @@ -107,13 +117,14 @@ class Groups /** * Remove a user from group - * @param string $GrpUid, $UsrUid + * @param string $grpUid + * @param string $usrUid * @return array */ - public function removeUserOfGroup($GrpUid, $UsrUid) + public function removeUserOfGroup($grpUid, $usrUid) { $gu = new GroupUser(); - $gu->remove($GrpUid, $UsrUid); + $gu->remove($grpUid, $usrUid); } /** diff --git a/workflow/engine/classes/WsBase.php b/workflow/engine/classes/WsBase.php index 9cc4780bd..cb5e81af6 100644 --- a/workflow/engine/classes/WsBase.php +++ b/workflow/engine/classes/WsBase.php @@ -109,7 +109,7 @@ class WsBase public function processList() { try { - $result = array(); + $result = []; $oCriteria = new Criteria('workflow'); $oCriteria->add(ProcessPeer::PRO_STATUS, 'DISABLED', Criteria::NOT_EQUAL); $oDataset = ProcessPeer::doSelectRS($oCriteria); @@ -142,7 +142,7 @@ class WsBase public function roleList() { try { - $result = array(); + $result = []; $RBAC = & RBAC::getSingleton(); $RBAC->initRBAC(); @@ -195,7 +195,7 @@ class WsBase } $rs = GroupwfPeer::doSelectRS($criteria); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $result = array(); + $result = []; while ($rs->next()) { $rows = $rs->getRow(); $result[] = array('guid' => $rows['GRP_UID'], 'name' => $rows['GRP_TITLE']); @@ -216,7 +216,7 @@ class WsBase public function departmentList() { try { - $result = array(); + $result = []; $oCriteria = new Criteria('workflow'); $oCriteria->add(DepartmentPeer::DEP_STATUS, 'ACTIVE'); $oDataset = DepartmentPeer::doSelectRS($oCriteria); @@ -283,9 +283,9 @@ class WsBase if ($solrEnabled == 1) { try { - $arrayData = array(); + $arrayData = []; - $delegationIndexes = array(); + $delegationIndexes = []; $columsToInclude = array("APP_UID"); $solrSearchText = null; @@ -323,7 +323,7 @@ class WsBase $solrQueryResult = $searchIndex->getDataTablePaginatedList($solrRequestData); //Get the missing data from database - $arrayApplicationUid = array(); + $arrayApplicationUid = []; foreach ($solrQueryResult->aaData as $i => $data) { $arrayApplicationUid[] = $data["APP_UID"]; @@ -333,7 +333,7 @@ class WsBase foreach ($solrQueryResult->aaData as $i => $data) { //Initialize array - $delIndexes = array(); //Store all the delegation indexes + $delIndexes = []; //Store all the delegation indexes //Complete empty values $applicationUid = $data["APP_UID"]; //APP_UID //Get all the indexes returned by Solr as columns @@ -357,7 +357,7 @@ class WsBase //Get records foreach ($delIndexes as $delIndex) { - $aRow = array(); + $aRow = []; //Copy result values to new row from Solr server $aRow["APP_UID"] = $data["APP_UID"]; @@ -394,7 +394,7 @@ class WsBase return $arrayData; } catch (InvalidIndexSearchTextException $e) { - $arrayData = array(); + $arrayData = []; $arrayData[] = array( "guid" => $e->getMessage(), @@ -407,7 +407,7 @@ class WsBase return $arrayData; } } else { - $arrayData = array(); + $arrayData = []; $criteria = new Criteria("workflow"); @@ -452,7 +452,7 @@ class WsBase return $arrayData; } } catch (Exception $e) { - $arrayData = array(); + $arrayData = []; $arrayData[] = array( "guid" => $e->getMessage(), @@ -475,7 +475,7 @@ class WsBase public function unassignedCaseList($userId) { try { - $result = array(); + $result = []; $oAppCache = new AppCacheView(); $Criteria = $oAppCache->getUnassignedListCriteria($userId); $oDataset = AppCacheViewPeer::doSelectRS($Criteria); @@ -504,30 +504,34 @@ class WsBase } /** - * get all groups + * Get all users * * @param none - * @return $result will return an object + * @return array $result, will return an array + * @throws Exception */ public function userList() { try { - $result = array(); - $oCriteria = new Criteria('workflow'); - $oCriteria->add(UsersPeer::USR_STATUS, 'ACTIVE'); - $oDataset = UsersPeer::doSelectRS($oCriteria); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $oDataset->next(); + $result = []; + $criteria = new Criteria('workflow'); + $criteria->add(UsersPeer::USR_STATUS, 'ACTIVE'); + $criteria->add(UsersPeer::USR_UID, [RBAC::GUEST_USER_UID], Criteria::NOT_IN); + $dataset = UsersPeer::doSelectRS($criteria); + $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $dataset->next(); - while ($aRow = $oDataset->getRow()) { - $result[] = array('guid' => $aRow['USR_UID'], 'name' => $aRow['USR_USERNAME']); - $oDataset->next(); + while ($row = $dataset->getRow()) { + $result[] = ['guid' => $row['USR_UID'], 'name' => $row['USR_USERNAME']]; + $dataset->next(); } return $result; } catch (Exception $e) { - $result[] = array('guid' => $e->getMessage(), 'name' => $e->getMessage() - ); + $result[] = [ + 'guid' => $e->getMessage(), + 'name' => $e->getMessage() + ]; return $result; } @@ -542,7 +546,7 @@ class WsBase public function triggerList() { try { - $result = array(); + $result = []; $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(TriggersPeer::TRI_UID); $oCriteria->addSelectColumn(TriggersPeer::PRO_UID); @@ -583,12 +587,12 @@ class WsBase $sTaskUID = ''; $oCriteria = $oCase->getAllUploadedDocumentsCriteria($sProcessUID, $sApplicationUID, $sTaskUID, $sUserUID); - $result = array(); + $result = []; global $_DBArray; foreach ($_DBArray['inputDocuments'] as $key => $row) { if (isset($row['DOC_VERSION'])) { - $docrow = array(); + $docrow = []; $docrow['guid'] = $row['APP_DOC_UID']; $docrow['filename'] = $row['APP_DOC_FILENAME']; $docrow['docId'] = $row['DOC_UID']; @@ -630,7 +634,7 @@ class WsBase $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); - $result = array(); + $result = []; while ($aRow = $oDataset->getRow()) { if ($aRow['INP_DOC_TITLE'] == null) { @@ -641,7 +645,7 @@ class WsBase $aRow['INP_DOC_DESCRIPTION'] = $inputDocumentObj['INP_DOC_DESCRIPTION']; } - $docrow = array(); + $docrow = []; $docrow['guid'] = $aRow['INP_DOC_UID']; $docrow['name'] = $aRow['INP_DOC_TITLE']; $docrow['description'] = $aRow['INP_DOC_DESCRIPTION']; @@ -674,12 +678,12 @@ class WsBase $sTaskUID = ''; $oCriteria = $oCase->getAllGeneratedDocumentsCriteria($sProcessUID, $sApplicationUID, $sTaskUID, $sUserUID); - $result = array(); + $result = []; global $_DBArray; foreach ($_DBArray['outputDocuments'] as $key => $row) { if (isset($row['DOC_VERSION'])) { - $docrow = array(); + $docrow = []; $docrow['guid'] = $row['APP_DOC_UID']; $docrow['filename'] = $row['DOWNLOAD_FILE']; @@ -736,7 +740,7 @@ class WsBase $oGroup = new Groups(); $aGroups = $oGroup->getActiveGroupsForAnUser($userId); - $result = array(); + $result = []; $oCriteria = new Criteria('workflow'); $del = DBAdapter::getStringDelimiter(); $oCriteria->addSelectColumn(TaskPeer::PRO_UID); @@ -787,13 +791,13 @@ class WsBase * @return $result will return an object */ public function sendMessage( - $caseId, $sFrom, $sTo, $sCc, $sBcc, $sSubject, $sTemplate, $appFields = null, $aAttachment = null, $showMessage = true, $delIndex = 0, $config = array(), $gmail = 0 + $caseId, $sFrom, $sTo, $sCc, $sBcc, $sSubject, $sTemplate, $appFields = null, $aAttachment = null, $showMessage = true, $delIndex = 0, $config = [], $gmail = 0 ) { try { /*----------------------------------********---------------------------------*/ if (!empty($config)) { - $arrayConfigAux = array(); + $arrayConfigAux = []; if (is_array($config)) { if (PMLicensedFeatures::getSingleton()->verifyfeature("nKaNTNuT1MzK0RsMEtXTnYzR09ucHF2WGNuS0hRdDBBak42WXJhNVVOOG1INEVoaU1EaTllbjBBeEJNeG9wRVJ6NmxQelhyVTBvdThzPQ==")) { @@ -962,7 +966,7 @@ class WsBase $oDataset = AppDelayPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $aIndexsPaused = array(); + $aIndexsPaused = []; while ($oDataset->next()) { $data = $oDataset->getRow(); $aIndexsPaused[] = $data['APP_DEL_INDEX']; @@ -993,7 +997,7 @@ class WsBase $oDataset = AppDelegationPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $aCurrentUsers = array(); + $aCurrentUsers = []; while ($oDataset->next()) { $aAppDel = $oDataset->getRow(); @@ -1114,7 +1118,7 @@ class WsBase $strRole = $role; if ($RBAC->verifyByCode($role) == 0) { - $data = array(); + $data = []; $data["ROLE"] = $role; $result = new WsCreateUserResponse(6, G::loadTranslation("ID_INVALID_ROLE", SYS_LANG, $data), null); @@ -1130,7 +1134,7 @@ class WsBase } if ($RBAC->verifyUser($userName) == 1) { - $data = array(); + $data = []; $data["USER_ID"] = $userName; $result = new WsCreateUserResponse(7, G::loadTranslation("ID_USERNAME_ALREADY_EXISTS", SYS_LANG, $data), null); @@ -1139,7 +1143,7 @@ class WsBase } //Set fields - $arrayData = array(); + $arrayData = []; $arrayData["USR_USERNAME"] = $userName; $arrayData["USR_PASSWORD"] = Bootstrap::hashPassword($password); @@ -1175,7 +1179,7 @@ class WsBase $user->create($arrayData); //Response - $data = array(); + $data = []; $data["FIRSTNAME"] = $firstName; $data["LASTNAME"] = $lastName; $data["USER_ID"] = $userName; @@ -1265,7 +1269,7 @@ class WsBase $strRole = $role; if ($RBAC->verifyByCode($role) == 0) { - $data = array(); + $data = []; $data["ROLE"] = $role; $result = new WsResponse(6, G::LoadTranslation("ID_INVALID_ROLE", SYS_LANG, $data)); @@ -1288,7 +1292,7 @@ class WsBase $rs = UsersPeer::doSelectRS($criteria); if ($rs->next()) { - $data = array(); + $data = []; $data["USER_ID"] = $userName; $result = new WsResponse(7, G::LoadTranslation("ID_USERNAME_ALREADY_EXISTS", SYS_LANG, $data)); @@ -1297,7 +1301,7 @@ class WsBase } //Set fields - $arrayData = array(); + $arrayData = []; $arrayData["USR_UID"] = $userUid; $arrayData["USR_USERNAME"] = $userName; @@ -1695,7 +1699,7 @@ class WsBase $caseFields = $oCase->loadCase($caseId); $oldFields = $caseFields['APP_DATA']; - $resFields = array(); + $resFields = []; foreach ($variables as $key => $val) { $a .= $val->name . ', '; @@ -1763,7 +1767,7 @@ class WsBase $caseFields = $oCase->loadCase($caseId); $oldFields = $caseFields['APP_DATA']; - $resFields = array(); + $resFields = []; foreach ($oldFields as $key => $val) { $node = new stdClass(); @@ -1805,7 +1809,7 @@ class WsBase $_SESSION["TASK"] = $taskId; $_SESSION["USER_LOGGED"] = $userId; - $Fields = array(); + $Fields = []; if (is_array($variables) && count($variables) > 0) { $Fields = $variables; @@ -2105,7 +2109,7 @@ class WsBase * @param bool $bExecuteTriggersBeforeAssignment * @return $result will return an object */ - public function derivateCase($userId, $caseId, $delIndex, $bExecuteTriggersBeforeAssignment = false, $tasks = array()) + public function derivateCase($userId, $caseId, $delIndex, $bExecuteTriggersBeforeAssignment = false, $tasks = []) { $g = new G(); @@ -2119,7 +2123,7 @@ class WsBase //Define variables $sStatus = 'TO_DO'; $varResponse = ''; - $previousAppData = array(); + $previousAppData = []; if ($delIndex == '') { $oCriteria = new Criteria('workflow'); @@ -2165,7 +2169,7 @@ class WsBase } } - $aData = array(); + $aData = []; $aData['APP_UID'] = $caseId; $aData['DEL_INDEX'] = $delIndex; $aData['USER_UID'] = $userId; @@ -2221,7 +2225,7 @@ class WsBase foreach ($derive as $key => $val) { //Routed to the next task, if end process then not exist user - $nodeNext = array(); + $nodeNext = []; $usrasgdUid = null; $usrasgdUserName = null; @@ -2332,7 +2336,7 @@ class WsBase $oDataset = AppDelegationPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $aCurrentUsers = array(); + $aCurrentUsers = []; while ($oDataset->next()) { $aAppDel = $oDataset->getRow(); @@ -2469,7 +2473,7 @@ class WsBase } //executeTrigger - $aTriggers = array(); + $aTriggers = []; $c = new Criteria(); $c->add(TriggersPeer::TRI_UID, $triggerIndex); $rs = TriggersPeer::doSelectRS($c); @@ -2531,7 +2535,7 @@ class WsBase */ public function taskCase($caseId) { - $result = array(); + $result = []; try { $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(AppDelegationPeer::DEL_INDEX); @@ -2574,7 +2578,7 @@ class WsBase try { $oCase = new Cases(); $rows = $oCase->getStartCases($userId); - $result = array(); + $result = []; foreach ($rows as $key => $val) { if ($key != 0) { @@ -2659,7 +2663,7 @@ class WsBase * ****************( 3 )***************** */ $oCriteria = new Criteria('workflow'); - $aConditions = array(); + $aConditions = []; $oCriteria->add(AppDelegationPeer::APP_UID, $caseId); $oCriteria->add(AppDelegationPeer::USR_UID, $userIdSource); $oCriteria->add(AppDelegationPeer::DEL_INDEX, $delIndex); @@ -2790,10 +2794,10 @@ class WsBase try { $result = new wsGetCaseNotesResponse(0, G::loadTranslation('ID_SUCCESS'), Cases::getCaseNotes($applicationID, 'array', $userUid)); - $var = array(); + $var = []; foreach ($result->notes as $key => $value) { - $var2 = array(); + $var2 = []; foreach ($value as $keys => $values) { $field = strtolower($keys); diff --git a/workflow/engine/classes/model/TaskUser.php b/workflow/engine/classes/model/TaskUser.php index f6fd80923..d0817251a 100644 --- a/workflow/engine/classes/model/TaskUser.php +++ b/workflow/engine/classes/model/TaskUser.php @@ -43,38 +43,52 @@ class TaskUser extends BaseTaskUser { /** - * Create the application document registry + * Create the new record in the table TaskUser * - * @param array $aData + * @param array $requestData * @return string + * @throws Exception * */ - public function create ($aData) + public function create ($requestData) { - $oConnection = Propel::getConnection( TaskUserPeer::DATABASE_NAME ); + $connection = Propel::getConnection(TaskUserPeer::DATABASE_NAME); try { - $taskUser = TaskUserPeer::retrieveByPK( $aData['TAS_UID'], $aData['USR_UID'], $aData['TU_TYPE'], $aData['TU_RELATION'] ); - - if (is_object( $taskUser )) { - return - 1; + //Check the usrUid value + if (RBAC::isGuestUserUid($requestData['USR_UID'])) { + throw new Exception(G::LoadTranslation("ID_USER_CAN_NOT_UPDATE", array($requestData['USR_UID']))); + return false; } - $oTaskUser = new TaskUser(); - $oTaskUser->fromArray( $aData, BasePeer::TYPE_FIELDNAME ); - if ($oTaskUser->validate()) { - $oConnection->begin(); - $iResult = $oTaskUser->save(); - $oConnection->commit(); - return $iResult; + + $taskUser = TaskUserPeer::retrieveByPK( + $requestData['TAS_UID'], + $requestData['USR_UID'], + $requestData['TU_TYPE'], + $requestData['TU_RELATION'] + ); + + if (is_object($taskUser)) { + return -1; + } + + $taskUser = new TaskUser(); + $taskUser->fromArray($requestData, BasePeer::TYPE_FIELDNAME); + if ($taskUser->validate()) { + $connection->begin(); + $result = $taskUser->save(); + $connection->commit(); + + return $result; } else { - $sMessage = ''; - $aValidationFailures = $oTaskUser->getValidationFailures(); + $message = ''; + $aValidationFailures = $taskUser->getValidationFailures(); foreach ($aValidationFailures as $oValidationFailure) { - $sMessage .= $oValidationFailure->getMessage() . '
'; + $message .= $oValidationFailure->getMessage() . '
'; } - throw (new Exception( 'The registry cannot be created!
' . $sMessage )); + throw (new Exception('The registry cannot be created!
' . $message)); } } catch (Exception $oError) { - $oConnection->rollback(); + $connection->rollback(); throw ($oError); } } diff --git a/workflow/engine/classes/model/Users.php b/workflow/engine/classes/model/Users.php index 5cd394bb6..6cd8ae1cd 100644 --- a/workflow/engine/classes/model/Users.php +++ b/workflow/engine/classes/model/Users.php @@ -281,10 +281,20 @@ class Users extends BaseUsers return $row; } + /** + * Get all information about the user + * @param string $userUid + * @return array $arrayData + * @throws Exception + */ public function getAllInformation ($userUid) { - if (! isset( $userUid ) || $userUid == "") { - throw (new Exception( "$userUid is empty." )); + if (!isset($userUid) || empty($userUid)) { + throw (new Exception('$userUid is empty.')); + } + if (RBAC::isGuestUserUid($userUid)) { + throw new Exception(G::LoadTranslation("ID_USER_CAN_NOT_UPDATE", array($userUid))); + return false; } try { From 1647edb43e88d64af4cf6c1d200be438f5c004b8 Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Thu, 19 Oct 2017 14:37:15 -0400 Subject: [PATCH 39/41] HOR-3959 --- workflow/engine/classes/model/TaskUser.php | 34 +++------------------- 1 file changed, 4 insertions(+), 30 deletions(-) diff --git a/workflow/engine/classes/model/TaskUser.php b/workflow/engine/classes/model/TaskUser.php index d0817251a..ccc48d581 100644 --- a/workflow/engine/classes/model/TaskUser.php +++ b/workflow/engine/classes/model/TaskUser.php @@ -1,33 +1,4 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * - */ - -//require_once 'classes/model/om/BaseTaskUser.php'; -//require_once 'classes/model/Content.php'; - /** * Skeleton subclass for representing a row from the 'GROUP_USER' table. * @@ -39,6 +10,8 @@ * * @package workflow.engine.classes.model */ + +use ProcessMaker\BusinessModel\WebEntry; class TaskUser extends BaseTaskUser { @@ -54,8 +27,9 @@ class TaskUser extends BaseTaskUser { $connection = Propel::getConnection(TaskUserPeer::DATABASE_NAME); try { + $bmWebEntry = new WebEntry; //Check the usrUid value - if (RBAC::isGuestUserUid($requestData['USR_UID'])) { + if (RBAC::isGuestUserUid($requestData['USR_UID']) && !$bmWebEntry->isTaskAWebEntry($requestData['TAS_UID'])) { throw new Exception(G::LoadTranslation("ID_USER_CAN_NOT_UPDATE", array($requestData['USR_UID']))); return false; } From bcf6b10e0c31812695814232e2b208101b7c05c6 Mon Sep 17 00:00:00 2001 From: davidcallizaya Date: Fri, 20 Oct 2017 09:19:44 -0400 Subject: [PATCH 40/41] HOR-3996 Fix logic of update web entry user. --- .../src/ProcessMaker/BusinessModel/WebEntryEvent.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php b/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php index e26705140..e14d84124 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php @@ -879,7 +879,12 @@ class WebEntryEvent } //Task - User - if (!empty($arrayData["USR_UID"]) && $arrayData["USR_UID"] != $arrayWebEntryEventData["USR_UID"]) { + $proUser = new ProjectUser(); + $newUser = !empty($arrayData["USR_UID"]) ? $arrayData["USR_UID"] : ""; + $oldUser = $arrayWebEntryEventData["USR_UID"]; + $isAssigned = $proUser->userIsAssignedToTask($newUser, $arrayWebEntryEventData["WEE_WE_TAS_UID"]); + $shouldUpdate = !empty($newUser) && ($newUser !== $oldUser || !$isAssigned); + if ($shouldUpdate) { //Unassign $taskUser = new TaskUser(); From ec6995972e0c0085391a523508c299b07b76abb4 Mon Sep 17 00:00:00 2001 From: davidcallizaya Date: Fri, 20 Oct 2017 10:40:09 -0400 Subject: [PATCH 41/41] HOR-3996 Since the web entry is assigned to guest, it was not able to load the user information through the PMfunctions because it is validated to not return guest information. Now it will load directly from Users table. --- .../services/webentry/anonymousLogin.php | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/workflow/engine/methods/services/webentry/anonymousLogin.php b/workflow/engine/methods/services/webentry/anonymousLogin.php index 208cee429..0b228c7a7 100644 --- a/workflow/engine/methods/services/webentry/anonymousLogin.php +++ b/workflow/engine/methods/services/webentry/anonymousLogin.php @@ -8,33 +8,33 @@ global $RBAC; G::LoadClass('pmFunctions'); try { if (empty($_REQUEST['we_uid'])) { - throw new \Exception('Missing required field "we_uid"'); + throw new Exception('Missing required field "we_uid"'); } $weUid = $_REQUEST['we_uid']; - $webEntry = \WebEntryPeer::retrieveByPK($weUid); + $webEntry = WebEntryPeer::retrieveByPK($weUid); if (empty($webEntry)) { - throw new \Exception('Undefined WebEntry'); + throw new Exception('Undefined WebEntry'); } $userUid = $webEntry->getUsrUid(); - $userInfo = PMFInformationUser($userUid); + $userInfo = UsersPeer::retrieveByPK($userUid); if (empty($userInfo)) { - throw new \Exception('WebEntry User not found'); + throw new Exception('WebEntry User not found'); } - initUserSession($userUid, $userInfo['username']); + initUserSession($userUid, $userInfo->getUsrUsername()); $result = [ - 'user_logged' => $userUid, - 'userName' => $userInfo['username'], - 'firstName' => $userInfo['firstname'], - 'lastName' => $userInfo['lastname'], - 'mail' => $userInfo['mail'], + 'user_logged' => $userUid, + 'userName' => $userInfo->getUsrUsername(), + 'firstName' => $userInfo->getUsrFirstName(), + 'lastName' => $userInfo->getUsrLastName(), + 'mail' => $userInfo->getUsrEmail(), 'image' => '../users/users_ViewPhoto?t='.microtime(true), ]; -} catch (\Exception $e) { +} catch (Exception $e) { $result = [ 'error' => $e->getMessage(), ];