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/templates/processCategory/processCategoryList.js b/workflow/engine/templates/processCategory/processCategoryList.js
index aad6c2fe9..104521f25 100755
--- a/workflow/engine/templates/processCategory/processCategoryList.js
+++ b/workflow/engine/templates/processCategory/processCategoryList.js
@@ -120,19 +120,6 @@ Ext.onReady(function(){
handler: GridByDefault
});
- newForm = new Ext.FormPanel({
- url: 'processCategory_Ajax?action=saveNewCategory',
- frame: true,
- items:[
- {xtype: 'textfield', fieldLabel: _('ID_CATEGORY_NAME'), name: 'category', width: 250, maxLength :100, allowBlank: false}
- ],
- buttons: [
- {text: _('ID_SAVE'), handler: SaveNewCategory},
- {text: _('ID_CANCEL'), handler: CloseWindow}
-
- ]
- });
-
editForm = new Ext.FormPanel({
url: 'processCategory_Ajax?action=updateCategory',
frame: true,
@@ -297,6 +284,18 @@ DoNothing = function(){};
//Open New Category Form
NewCategoryWindow = function(){
+ newForm = new Ext.FormPanel({
+ url: 'processCategory_Ajax?action=saveNewCategory',
+ frame: true,
+ items: [
+ {xtype: 'textfield', fieldLabel: _('ID_CATEGORY_NAME'), name: 'category', width: 250, maxLength :100, allowBlank: false}
+ ],
+ buttons: [
+ {text: _('ID_SAVE'), handler: SaveNewCategory},
+ {text: _('ID_CANCEL'), handler: CloseWindow}
+ ]
+ });
+
newForm.getForm().reset();
newForm.getForm().items.items[0].focus('',500);
w = new Ext.Window({
diff --git a/workflow/engine/xmlform/dynaforms/fields/text.xml b/workflow/engine/xmlform/dynaforms/fields/text.xml
index ab428f168..c8a1583ad 100755
--- a/workflow/engine/xmlform/dynaforms/fields/text.xml
+++ b/workflow/engine/xmlform/dynaforms/fields/text.xml
@@ -31,7 +31,7 @@
-
+
diff --git a/workflow/engine/xmlform/processes/processes_FilesOptions.xml b/workflow/engine/xmlform/processes/processes_FilesOptions.xml
index c8dc54fb4..0acca689a 100755
--- a/workflow/engine/xmlform/processes/processes_FilesOptions.xml
+++ b/workflow/engine/xmlform/processes/processes_FilesOptions.xml
@@ -59,7 +59,7 @@ var showPromptLogin = function(lastAction, pro_uid, fileName, fc64) {
width:'75%',
marginTop:3,
backgroundColor:'white',
- border:'1px solid #919B9C',
+ border:'1px solid #919B9C'
});
label.appendChild(theUser);
label.innerHTML = (_('ID_USERNAME')) + ': ';