diff --git a/workflow/engine/classes/model/CalendarDefinition.php b/workflow/engine/classes/model/CalendarDefinition.php index 6c7b6a9b6..64b4ff0fe 100755 --- a/workflow/engine/classes/model/CalendarDefinition.php +++ b/workflow/engine/classes/model/CalendarDefinition.php @@ -450,5 +450,14 @@ class CalendarDefinition extends BaseCalendarDefinition $oDataset->next(); return $oDataset->getRow(); } + + public function calendarName ($calendarUid) + { + $tr = CalendarDefinitionPeer::retrieveByPK( $calendarUid ); + if ((is_object( $tr ) && get_class( $tr ) == 'CalendarDefinition')) { + return $tr->getCalendarName(); + } + return false; + } } diff --git a/workflow/engine/classes/model/Users.php b/workflow/engine/classes/model/Users.php index bc1317365..9b7ad4e9b 100755 --- a/workflow/engine/classes/model/Users.php +++ b/workflow/engine/classes/model/Users.php @@ -261,7 +261,7 @@ class Users extends BaseUsers //Calendar $calendar = new Calendar(); $calendarInfo = $calendar->getCalendarFor( $userUid, $userUid, $userUid ); - $aFields["USR_CALENDAR"] = ($calendarInfo["CALENDAR_APPLIED"] != "DEFAULT") ? $calendarInfo["CALENDAR_UID"] : ""; + $aFields["USR_CALENDAR"] = ($calendarInfo["CALENDAR_APPLIED"] != "DEFAULT") ? $calendarInfo["CALENDAR_UID"] : ""; //Photo $pathPhoto = PATH_IMAGES_ENVIRONMENT_USERS . $userUid . ".gif"; @@ -287,10 +287,21 @@ class Users extends BaseUsers $arrayData["birthday"] = $aFields["USR_BIRTHDAY"]; $arrayData["position"] = $aFields["USR_POSITION"]; $arrayData["replacedby"] = $aFields["USR_REPLACED_BY"]; + if(strlen($arrayData["replacedby"] != 0)){ + $oUser = UsersPeer::retrieveByPK( $arrayData["replacedby"] ); + $arrayData["replacedbyfullname"] = $oUser->getUsrFirstname() . ' ' . $oUser->getUsrLastname(); + } $arrayData["duedate"] = $aFields["USR_DUE_DATE"]; $arrayData["calendar"] = $aFields["USR_CALENDAR"]; + if(strlen($aFields["USR_CALENDAR"] != 0)){ + $arrayData["calendarname"] = $calendar->calendarName( $aFields["USR_CALENDAR"] ); + } $arrayData["status"] = $aFields["USR_STATUS"]; $arrayData["department"] = $aFields["DEP_UID"]; + if (strlen($arrayData["department"]) != 0) { + $oDepart = DepartmentPeer::retrieveByPk( $arrayData["department"] ); + $arrayData["departmentname"] = $oDepart->getDepTitle(); + } $arrayData["reportsto"] = $aFields["USR_REPORTS_TO"]; $arrayData["userexperience"] = $aFields["USR_UX"]; $arrayData["photo"] = $pathPhoto; diff --git a/workflow/engine/methods/processes/processes_Delete.php b/workflow/engine/methods/processes/processes_Delete.php index e3a5a15b1..3e88c8ccd 100755 --- a/workflow/engine/methods/processes/processes_Delete.php +++ b/workflow/engine/methods/processes/processes_Delete.php @@ -42,9 +42,15 @@ if ($access != 1) { //$oProcessMap = new ProcessMap(); $uids = explode(',', $_POST['PRO_UIDS']); +try { + + foreach ($uids as $uid) { + //Add Audit Log + $oProcess = new Process(); + $process=$oProcess->load($uid); + $nameProcess=$process['PRO_TITLE']; + G::auditLog("DeleteProcess", $nameProcess. ' ('.$uid.')' .' Deleted'); -try { - foreach ($uids as $uid) { //$oProcessMap->deleteProcess($uid); ProcessMaker\Project\Workflow::removeIfExists($uid); ProcessMaker\Project\Bpmn::removeIfExists($uid); @@ -53,7 +59,7 @@ try { $resp = new StdClass(); $resp->status = 0; $resp->msg = 'All process was deleted successfully'; - + echo G::json_encode($resp); } catch (Exception $e) { diff --git a/workflow/engine/methods/processes/processes_Import_Ajax.php b/workflow/engine/methods/processes/processes_Import_Ajax.php index b5e6bb253..a9c75b6e6 100644 --- a/workflow/engine/methods/processes/processes_Import_Ajax.php +++ b/workflow/engine/methods/processes/processes_Import_Ajax.php @@ -225,7 +225,7 @@ if ($action == "uploadFileNewProcess") { //1 -exist process $result->ExistGroupsInDatabase = ""; //"" -Default //0 -Dont exist process - //1 -exist process + //1 -exist process $optionGroupExistInDatabase = isset( $_REQUEST["optionGroupExistInDatabase"] ) ? $_REQUEST["optionGroupExistInDatabase"] : null; //!Upload file @@ -254,8 +254,8 @@ if ($action == "uploadFileNewProcess") { //if file is a .pm file continues normally the importing if ($processFileType == "pm") { $oData = $oProcess->getProcessData( $path . $filename ); - } - + } + $importer->throwExceptionIfExistsReservedWordsSql($oData); //!Upload file @@ -303,6 +303,13 @@ if ($action == "uploadFileNewProcess") { //!data ouput $result->sNewProUid = $sProUid; $result->proFileName = $Fields['PRO_FILENAME']; + + //Add Audit Log + $ogetProcess = new Process(); + $getprocess=$ogetProcess->load($oData->process['PRO_UID']); + $nameProcess=$getprocess['PRO_TITLE']; + G::auditLog("ImportProcess", 'PM File Imported '.$nameProcess. ' ('.$oData->process['PRO_UID'].')'); + } catch (Exception $e) { $result->response = $e->getMessage(); $result->catchMessage = $e->getMessage(); diff --git a/workflow/engine/methods/setup/auditLog.php b/workflow/engine/methods/setup/auditLog.php index 873bc590b..80f02f02c 100644 --- a/workflow/engine/methods/setup/auditLog.php +++ b/workflow/engine/methods/setup/auditLog.php @@ -150,7 +150,9 @@ $arrayAction = array( "AssignUserTask" => G::LoadTranslation("ID_ASSIGN_USER_TASK"), "AssignGroupTask" => G::LoadTranslation("ID_ASSIGN_GROUP_TASK"), "DeleteUserTask" => G::LoadTranslation("ID_DELETE_USER_TASK"), - "DeleteGroupTask" => G::LoadTranslation("ID_DELETE_GROUP_TASK") + "DeleteGroupTask" => G::LoadTranslation("ID_DELETE_GROUP_TASK"), + "ImportProcess" => G::LoadTranslation("ID_IMPORT_PROCESS"), + "DeleteProcess" => G::LoadTranslation("ID_DELETE_PROCESS") ); asort($arrayAction); diff --git a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php index 1fb12390e..62bcf8c94 100755 --- a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php +++ b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php @@ -77,6 +77,12 @@ class BpmnWorkflow extends Project\Bpmn $this->wp = new Project\Workflow(); $this->wp->create($wpData); + //Add Audit Log + $ogetProcess = new \Process(); + $getprocess=$ogetProcess->load($this->getUid()); + $nameProcess=$getprocess['PRO_TITLE']; + \G::auditLog("ImportProcess", 'PMX File Imported '.$nameProcess. ' ('.$this->getUid().')'); + } catch (\Exception $e) { $prjUid = $this->getUid(); //$this->remove(); diff --git a/workflow/engine/src/ProcessMaker/Project/Adapter/WorkflowBpmn.php b/workflow/engine/src/ProcessMaker/Project/Adapter/WorkflowBpmn.php index 80b153d0f..1cee222b2 100644 --- a/workflow/engine/src/ProcessMaker/Project/Adapter/WorkflowBpmn.php +++ b/workflow/engine/src/ProcessMaker/Project/Adapter/WorkflowBpmn.php @@ -64,6 +64,13 @@ class WorkflowBpmn extends Project\Workflow // At this time we will add a default diagram and process $this->bp->addDiagram(); $this->bp->addProcess(); + + //Add Audit Log + $ogetProcess = new \Process(); + $getprocess=$ogetProcess->load($this->getUid()); + $nameProcess=$getprocess['PRO_TITLE']; + \G::auditLog("ImportProcess", 'BPMN Imported '.$nameProcess. ' ('.$this->getUid().')'); + } catch (\Exception $e) { $prjUid = $this->getUid(); $this->remove(); diff --git a/workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php b/workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php index efdf78e59..89e7aeed6 100644 --- a/workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php +++ b/workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php @@ -190,8 +190,14 @@ class PmPdo implements \OAuth2\Storage\AuthorizationCodeInterface, /* OAuth2_Storage_UserCredentialsInterface */ public function checkUserCredentials($username, $password) { - if ($user = $this->getUser($username)) { - return $this->checkPassword($user, $password); + $RBAC = \RBAC::getSingleton(); + $RBAC->initRBAC(); + $uid = $RBAC->VerifyLogin($username , $password); + if($uid < 0){ + return false; + } + if($uid != ''){ + return true; } return false; }