From 5730151a210d66af1a255eff2529e48f4f73e865 Mon Sep 17 00:00:00 2001 From: dheeyi Date: Wed, 13 May 2015 10:43:37 -0400 Subject: [PATCH 01/16] =?UTF-8?q?PM-1185=20Los=20triggers=20UserInfo=20y?= =?UTF-8?q?=20WSInformationUser=20despliegan=20el=20codigo=20del=20calenda?= =?UTF-8?q?r=20y=20del=20campo=20replaced=20by=20en=20lugar=20de=20la=20de?= =?UTF-8?q?scripci=C3=B3Causa=20:=20Definida=20asi.=20Soluci=C3=B3=20Se=20?= =?UTF-8?q?agrego=202=20campos=20mas=20que=20muestran=20su=20descripciion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workflow/engine/classes/model/CalendarDefinition.php | 9 +++++++++ workflow/engine/classes/model/Users.php | 9 ++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) 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..3cde3ad74 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,8 +287,15 @@ 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"]; $arrayData["reportsto"] = $aFields["USR_REPORTS_TO"]; From caab76e1a3166f4c25cc30449ead4e8d1b5dad23 Mon Sep 17 00:00:00 2001 From: dheeyi Date: Wed, 13 May 2015 16:39:10 -0400 Subject: [PATCH 02/16] PM-1072 --- workflow/engine/classes/class.pmFunctions.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/workflow/engine/classes/class.pmFunctions.php b/workflow/engine/classes/class.pmFunctions.php index d3b12fed6..161266c10 100755 --- a/workflow/engine/classes/class.pmFunctions.php +++ b/workflow/engine/classes/class.pmFunctions.php @@ -2865,8 +2865,9 @@ function PMFRemoveMask ($field, $separator = '.', $currency = '') $field = str_replace($thousandSeparator, "", $field); $field = str_replace($decimalSeparator, ".", $field); $field = str_replace($currency, "", $field); - $field = floatval(trim($field)); - + if(strpos($decimalSeparator, $field)){ + $field = (float)(trim($field)); + } return $field; } From d99f4a3746588ca5a56fc6bab3f9b89e56879a1b Mon Sep 17 00:00:00 2001 From: dheeyi Date: Fri, 15 May 2015 11:06:59 -0400 Subject: [PATCH 03/16] PM-1072 --- workflow/engine/classes/class.pmFunctions.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/classes/class.pmFunctions.php b/workflow/engine/classes/class.pmFunctions.php index 1bd11272c..02f3e602a 100755 --- a/workflow/engine/classes/class.pmFunctions.php +++ b/workflow/engine/classes/class.pmFunctions.php @@ -2865,7 +2865,7 @@ function PMFRemoveMask ($field, $separator = '.', $currency = '') $field = str_replace($thousandSeparator, "", $field); $field = str_replace($decimalSeparator, ".", $field); $field = str_replace($currency, "", $field); - if(strpos($decimalSeparator, $field)){ + if(strpos($decimalSeparator, $field) !== false){ $field = (float)(trim($field)); } return $field; From 6207d27213f37e1ecf9a5005baf73644da4a9b8f Mon Sep 17 00:00:00 2001 From: "marcelo.cuiza" Date: Mon, 18 May 2015 17:36:23 -0400 Subject: [PATCH 04/16] PM-2741 0017354: can we increase the size of the case notes field? Se aumento las dimensiones y el maximo de caracteres --- workflow/engine/templates/app/main.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/workflow/engine/templates/app/main.js b/workflow/engine/templates/app/main.js index e1995d6cd..741144ebb 100644 --- a/workflow/engine/templates/app/main.js +++ b/workflow/engine/templates/app/main.js @@ -115,7 +115,7 @@ function openCaseNotesWindow(appUid1, delIndex, modalSw, appTitle, proUid, taskU '' + ''+ '

{user}

'+ - '

{NOTE_CONTENT}

'+ + '

{NOTE_CONTENT}

'+ '

'+_('ID_POSTED_AT')+' {NOTE_DATE}

'+ '' + '' + @@ -173,13 +173,13 @@ function openCaseNotesWindow(appUid1, delIndex, modalSw, appTitle, proUid, taskU caseNotesWindow = new Ext.Window({ title: _('ID_CASES_NOTES'), //Title of the Window id: 'caseNotesWindowPanel', //ID of the Window Panel - width: 380, //Width of the Window + width: 480, //Width of the Window resizable: true, //Resize of the Window, if false - it cannot be resized closable: true, //Hide close button of the Window modal: modalSw, //When modal:true it make the window modal and mask everything behind it when displayed //iconCls: 'ICON_CASES_NOTES', autoCreate: true, - height:400, + height:450, shadow:true, minWidth:380, minHeight:200, @@ -207,12 +207,12 @@ function openCaseNotesWindow(appUid1, delIndex, modalSw, appTitle, proUid, taskU xtype : 'textarea', id : 'caseNoteText', name : 'caseNoteText', - width : 330, + width : 440, grow : true, - height : 40, - growMin: 40, + height : 100, + growMin: 100, growMax: 80, - maxLengthText : 500, + maxLengthText : 1500, allowBlank :false, selectOnFocus :true, enableKeyEvents: true, @@ -238,7 +238,7 @@ function openCaseNotesWindow(appUid1, delIndex, modalSw, appTitle, proUid, taskU boxLabel: _("ID_CASE_NOTES_LABEL_SEND") }, '->', - '500', + '1500', ' ', { id: 'sendBtn', @@ -306,10 +306,10 @@ function updateTextCtr(body, event) { ctr = document.getElementById('countChar').innerHTML; text = Ext.getCmp('caseNoteText').getValue(); - maxLength = 500; + maxLength = 1500; if (text.length > maxLength) { - Ext.getCmp('caseNoteText').setValue(Ext.getCmp('caseNoteText').getValue().substr(0,500)); + Ext.getCmp('caseNoteText').setValue(Ext.getCmp('caseNoteText').getValue().substr(0,1500)); } else { document.getElementById('countChar').innerHTML = maxLength - text.length; @@ -347,7 +347,7 @@ function newNoteHandler() document.getElementById('countChar').style.display = 'block'; Ext.getCmp('caseNoteText').focus(); Ext.getCmp('caseNoteText').reset(); - document.getElementById('countChar').innerHTML = '500'; + document.getElementById('countChar').innerHTML = '1500'; caseNotesWindow.doLayout(); } From c63c574ca552fc9014cba7e0bf11ac05af293e7b Mon Sep 17 00:00:00 2001 From: "marcelo.cuiza" Date: Tue, 19 May 2015 10:14:32 -0400 Subject: [PATCH 05/16] PM-2651 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Designer > Classic Designer > Dynaforms: La propiedad "Text transform to" en todos los controles deberáeflejar una vista previa de la opcióesplegada Se cambio los labels --- workflow/engine/xmlform/dynaforms/fields/text.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 @@ - + From 6f73401b2cb38939ed4c34e892bfc2afe184b1dc Mon Sep 17 00:00:00 2001 From: dheeyi Date: Tue, 19 May 2015 10:38:06 -0400 Subject: [PATCH 06/16] =?UTF-8?q?PM-2633=20Admin>Settings>Logs>Audit=20Log?= =?UTF-8?q?:=20Al=20importar=20un=20proceso=20el=20audit=20log=20no=20indi?= =?UTF-8?q?ca=20que=20lo=20importa=20indica=20que=20se=20creo=20el=20proce?= =?UTF-8?q?so.=20Causa=20:=20Llamada=20al=20metodo=20Auditlog=20en=20esas?= =?UTF-8?q?=20situaciones(Importaci=C3=B3=20Eliminaci=C3=B3e=20procesos).?= =?UTF-8?q?=20Soluci=C3=B3=20=20Agregar=20el=20registro=20para=20el=20Audi?= =?UTF-8?q?tlog=20en=20situaciones=20de=20Importaci=C3=B3=20Eliminaci?= =?UTF-8?q?=C3=B3n=20procesos=20.pm,=20.pmx=20y=20bpmn.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workflow/engine/methods/processes/processes_Delete.php | 3 +-- workflow/engine/methods/processes/processes_Import_Ajax.php | 1 + workflow/engine/methods/setup/auditLog.php | 4 +++- .../engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php | 2 ++ .../engine/src/ProcessMaker/Project/Adapter/WorkflowBpmn.php | 2 ++ 5 files changed, 9 insertions(+), 3 deletions(-) diff --git a/workflow/engine/methods/processes/processes_Delete.php b/workflow/engine/methods/processes/processes_Delete.php index e3a5a15b1..7716414fc 100755 --- a/workflow/engine/methods/processes/processes_Delete.php +++ b/workflow/engine/methods/processes/processes_Delete.php @@ -42,7 +42,6 @@ if ($access != 1) { //$oProcessMap = new ProcessMap(); $uids = explode(',', $_POST['PRO_UIDS']); - try { foreach ($uids as $uid) { //$oProcessMap->deleteProcess($uid); @@ -53,7 +52,7 @@ try { $resp = new StdClass(); $resp->status = 0; $resp->msg = 'All process was deleted successfully'; - + G::auditLog("DeleteProcess", "Process UID : " . $_POST['PRO_UIDS']); 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..0621053a1 100644 --- a/workflow/engine/methods/processes/processes_Import_Ajax.php +++ b/workflow/engine/methods/processes/processes_Import_Ajax.php @@ -226,6 +226,7 @@ if ($action == "uploadFileNewProcess") { $result->ExistGroupsInDatabase = ""; //"" -Default //0 -Dont exist process //1 -exist process + G::auditLog("ImportProcess", " PM -> Process UID : "); $optionGroupExistInDatabase = isset( $_REQUEST["optionGroupExistInDatabase"] ) ? $_REQUEST["optionGroupExistInDatabase"] : null; //!Upload file 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..1d29c769b 100755 --- a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php +++ b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php @@ -75,6 +75,8 @@ class BpmnWorkflow extends Project\Bpmn } $this->wp = new Project\Workflow(); + //Add AudiLog Import Process + \G::auditLog("ImportProcess", " PMX -> Process UID : " . $this->getUid()); $this->wp->create($wpData); } catch (\Exception $e) { diff --git a/workflow/engine/src/ProcessMaker/Project/Adapter/WorkflowBpmn.php b/workflow/engine/src/ProcessMaker/Project/Adapter/WorkflowBpmn.php index 80b153d0f..f7885213b 100644 --- a/workflow/engine/src/ProcessMaker/Project/Adapter/WorkflowBpmn.php +++ b/workflow/engine/src/ProcessMaker/Project/Adapter/WorkflowBpmn.php @@ -59,6 +59,8 @@ class WorkflowBpmn extends Project\Workflow } $this->bp = new Project\Bpmn(); + //Add AudiLog Import Process + \G::auditLog("ImportProcess", " BPMN -> Process UID : " . $this->getUid()); $this->bp->create($bpData); // At this time we will add a default diagram and process From 082748082897ba2150335e4953306700dceb02e6 Mon Sep 17 00:00:00 2001 From: dheeyi Date: Tue, 19 May 2015 11:14:43 -0400 Subject: [PATCH 07/16] =?UTF-8?q?PM-2633=20Admin>Settings>Logs>Audit=20Log?= =?UTF-8?q?:=20Al=20importar=20un=20proceso=20el=20audit=20log=20no=20indi?= =?UTF-8?q?ca=20que=20lo=20importa=20indica=20que=20se=20creo=20el=20proce?= =?UTF-8?q?so.=20Causa=20:=20Llamada=20al=20metodo=20Auditlog=20en=20esas?= =?UTF-8?q?=20situaciones(Importaci=C3=B3=20Eliminaci=C3=B3e=20procesos).?= =?UTF-8?q?=20Soluci=C3=B3=20=20Agregar=20el=20registro=20para=20el=20Audi?= =?UTF-8?q?tlog=20en=20situaciones=20de=20Importaci=C3=B3=20Eliminaci?= =?UTF-8?q?=C3=B3n=20procesos=20.pm,=20.pmx=20y=20bpmn.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workflow/engine/methods/processes/processes_Delete.php | 1 + .../engine/methods/processes/processes_Import_Ajax.php | 7 +++++-- .../src/ProcessMaker/Project/Adapter/BpmnWorkflow.php | 2 +- .../src/ProcessMaker/Project/Adapter/WorkflowBpmn.php | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/workflow/engine/methods/processes/processes_Delete.php b/workflow/engine/methods/processes/processes_Delete.php index 7716414fc..23cdf2917 100755 --- a/workflow/engine/methods/processes/processes_Delete.php +++ b/workflow/engine/methods/processes/processes_Delete.php @@ -52,6 +52,7 @@ try { $resp = new StdClass(); $resp->status = 0; $resp->msg = 'All process was deleted successfully'; + //Add Audit Log G::auditLog("DeleteProcess", "Process UID : " . $_POST['PRO_UIDS']); echo G::json_encode($resp); diff --git a/workflow/engine/methods/processes/processes_Import_Ajax.php b/workflow/engine/methods/processes/processes_Import_Ajax.php index 0621053a1..2ef0e9f6e 100644 --- a/workflow/engine/methods/processes/processes_Import_Ajax.php +++ b/workflow/engine/methods/processes/processes_Import_Ajax.php @@ -225,8 +225,7 @@ if ($action == "uploadFileNewProcess") { //1 -exist process $result->ExistGroupsInDatabase = ""; //"" -Default //0 -Dont exist process - //1 -exist process - G::auditLog("ImportProcess", " PM -> Process UID : "); + //1 -exist process $optionGroupExistInDatabase = isset( $_REQUEST["optionGroupExistInDatabase"] ) ? $_REQUEST["optionGroupExistInDatabase"] : null; //!Upload file @@ -257,6 +256,9 @@ if ($action == "uploadFileNewProcess") { $oData = $oProcess->getProcessData( $path . $filename ); } + //Add Audit Log + G::auditLog("ImportProcess", " PM -> Process UID : " . $oData->process['PRO_UID']); + $importer->throwExceptionIfExistsReservedWordsSql($oData); //!Upload file @@ -304,6 +306,7 @@ if ($action == "uploadFileNewProcess") { //!data ouput $result->sNewProUid = $sProUid; $result->proFileName = $Fields['PRO_FILENAME']; + } catch (Exception $e) { $result->response = $e->getMessage(); $result->catchMessage = $e->getMessage(); diff --git a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php index 1d29c769b..941eb74f3 100755 --- a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php +++ b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php @@ -75,7 +75,7 @@ class BpmnWorkflow extends Project\Bpmn } $this->wp = new Project\Workflow(); - //Add AudiLog Import Process + //Add Audit Log \G::auditLog("ImportProcess", " PMX -> Process UID : " . $this->getUid()); $this->wp->create($wpData); diff --git a/workflow/engine/src/ProcessMaker/Project/Adapter/WorkflowBpmn.php b/workflow/engine/src/ProcessMaker/Project/Adapter/WorkflowBpmn.php index f7885213b..2002a89f1 100644 --- a/workflow/engine/src/ProcessMaker/Project/Adapter/WorkflowBpmn.php +++ b/workflow/engine/src/ProcessMaker/Project/Adapter/WorkflowBpmn.php @@ -59,7 +59,7 @@ class WorkflowBpmn extends Project\Workflow } $this->bp = new Project\Bpmn(); - //Add AudiLog Import Process + //Add Audit Log \G::auditLog("ImportProcess", " BPMN -> Process UID : " . $this->getUid()); $this->bp->create($bpData); From 26145d177b3896346f2dacfae44c91bd0e282669 Mon Sep 17 00:00:00 2001 From: "marcelo.cuiza" Date: Tue, 19 May 2015 11:16:24 -0400 Subject: [PATCH 08/16] PM-2750 Admin>Settings>Process Categories: Al presionar la "X" para cerrar la categoria se bloquea el boton de New o edit Causa: no se creava el objeto de la ventana. Solucion: Se forzo la creacion del objeto desda la funcion que se ejecuta en el evento dado desde la opcion "new" --- .../processCategory/processCategoryList.js | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) 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({ From 3f246694045c44ad5e53c6c737d04bc800153d0e Mon Sep 17 00:00:00 2001 From: Victor Saisa Lopez Date: Tue, 19 May 2015 12:34:08 -0400 Subject: [PATCH 09/16] PM-2753 "Al editar la fecha final de un CaseScheduler y..." SOLVED Issue: Al editar la fecha final de un CaseScheduler y dejarla vacia, estos cambios no son guardados Cause: validacion invalida para el campo "SCH_END_DATE" Solution: Se elimina validacion --- .../engine/src/ProcessMaker/BusinessModel/CaseScheduler.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/CaseScheduler.php b/workflow/engine/src/ProcessMaker/BusinessModel/CaseScheduler.php index 4377d8198..d55c30b65 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/CaseScheduler.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/CaseScheduler.php @@ -1005,9 +1005,7 @@ class CaseScheduler case "UPD": $arrayDataAux = $caseScheduler->load($caseSchedulerUid); - if ($arrayData["SCH_END_DATE"] != "") { - $arrayCaseSchedulerData["SCH_END_DATE"] = $arrayData["SCH_END_DATE"]; - } + $arrayCaseSchedulerData["SCH_END_DATE"] = $arrayData["SCH_END_DATE"]; //If the start date has changed then recalculate the next run time $recalculateDate = ($arrayData["SCH_START_DATE"] == $arrayData["PREV_SCH_START_DATE"])? false : true; From 14566e1de00f0e9cd79383644d302c634aecb065 Mon Sep 17 00:00:00 2001 From: dheeyi Date: Tue, 19 May 2015 15:51:41 -0400 Subject: [PATCH 10/16] =?UTF-8?q?PM-2633=20Admin>Settings>Logs>Audit=20Log?= =?UTF-8?q?:=20Al=20importar=20un=20proceso=20el=20audit=20log=20no=20indi?= =?UTF-8?q?ca=20que=20lo=20importa=20indica=20que=20se=20creo=20el=20proce?= =?UTF-8?q?so.=20Causa=20:=20Llamada=20al=20metodo=20Auditlog=20en=20esas?= =?UTF-8?q?=20situaciones(Importaci=C3=B3=20Eliminaci=C3=B3e=20procesos).?= =?UTF-8?q?=20Soluci=C3=B3=20=20Agregar=20el=20registro=20para=20el=20Audi?= =?UTF-8?q?tlog=20en=20situaciones=20de=20Importaci=C3=B3=20Eliminaci?= =?UTF-8?q?=C3=B3n=20procesos=20.pm,=20.pmx=20y=20bpmn.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/methods/processes/processes_Delete.php | 10 ++++++++-- .../methods/processes/processes_Import_Ajax.php | 12 ++++++++---- .../ProcessMaker/Project/Adapter/BpmnWorkflow.php | 8 ++++++-- .../ProcessMaker/Project/Adapter/WorkflowBpmn.php | 9 +++++++-- 4 files changed, 29 insertions(+), 10 deletions(-) diff --git a/workflow/engine/methods/processes/processes_Delete.php b/workflow/engine/methods/processes/processes_Delete.php index 23cdf2917..b0ad2f9d7 100755 --- a/workflow/engine/methods/processes/processes_Delete.php +++ b/workflow/engine/methods/processes/processes_Delete.php @@ -43,6 +43,13 @@ if ($access != 1) { $uids = explode(',', $_POST['PRO_UIDS']); try { + + //Add Audit Log + $oProcess = new Process(); + $process=$oProcess->load($_POST['PRO_UIDS']); + $nameProcess=$process['PRO_TITLE']; + G::auditLog("DeleteProcess", $nameProcess. ' ('.$_POST['PRO_UIDS'].')' .' Deleted'); + foreach ($uids as $uid) { //$oProcessMap->deleteProcess($uid); ProcessMaker\Project\Workflow::removeIfExists($uid); @@ -52,8 +59,7 @@ try { $resp = new StdClass(); $resp->status = 0; $resp->msg = 'All process was deleted successfully'; - //Add Audit Log - G::auditLog("DeleteProcess", "Process UID : " . $_POST['PRO_UIDS']); + 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 2ef0e9f6e..27d6513d0 100644 --- a/workflow/engine/methods/processes/processes_Import_Ajax.php +++ b/workflow/engine/methods/processes/processes_Import_Ajax.php @@ -254,10 +254,7 @@ if ($action == "uploadFileNewProcess") { //if file is a .pm file continues normally the importing if ($processFileType == "pm") { $oData = $oProcess->getProcessData( $path . $filename ); - } - - //Add Audit Log - G::auditLog("ImportProcess", " PM -> Process UID : " . $oData->process['PRO_UID']); + } $importer->throwExceptionIfExistsReservedWordsSql($oData); @@ -307,6 +304,13 @@ if ($action == "uploadFileNewProcess") { $result->sNewProUid = $sProUid; $result->proFileName = $Fields['PRO_FILENAME']; + //Add Audit Log + $ogetProcess = new Process(); + $getprocess=$ogetProcess->load($oData->process['PRO_UID']); + print_r($getprocess); + $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/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php index 941eb74f3..62bcf8c94 100755 --- a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php +++ b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php @@ -75,10 +75,14 @@ class BpmnWorkflow extends Project\Bpmn } $this->wp = new Project\Workflow(); - //Add Audit Log - \G::auditLog("ImportProcess", " PMX -> Process UID : " . $this->getUid()); $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 2002a89f1..1cee222b2 100644 --- a/workflow/engine/src/ProcessMaker/Project/Adapter/WorkflowBpmn.php +++ b/workflow/engine/src/ProcessMaker/Project/Adapter/WorkflowBpmn.php @@ -59,13 +59,18 @@ class WorkflowBpmn extends Project\Workflow } $this->bp = new Project\Bpmn(); - //Add Audit Log - \G::auditLog("ImportProcess", " BPMN -> Process UID : " . $this->getUid()); $this->bp->create($bpData); // 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(); From 7622719cb6030ce8cabe38cadaa501c293361a04 Mon Sep 17 00:00:00 2001 From: dheeyi Date: Wed, 20 May 2015 12:02:54 -0400 Subject: [PATCH 11/16] =?UTF-8?q?PM-1185=20Los=20triggers=20UserInfo=20y?= =?UTF-8?q?=20WSInformationUser=20despliegan=20el=20codigo=20del=20calenda?= =?UTF-8?q?r=20y=20del=20campo=20replaced=20by=20en=20lugar=20de=20la=20de?= =?UTF-8?q?scripci=C3=B3Causa=20:=20Definida=20asi.=20Soluci=C3=B3=20Se=20?= =?UTF-8?q?agrego=203=20campos=20mas=20que=20muestran=20su=20descripci?= =?UTF-8?q?=C3=B3:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workflow/engine/classes/model/Users.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/workflow/engine/classes/model/Users.php b/workflow/engine/classes/model/Users.php index 3cde3ad74..9b7ad4e9b 100755 --- a/workflow/engine/classes/model/Users.php +++ b/workflow/engine/classes/model/Users.php @@ -287,17 +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)){ + 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"] ); + 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; From fe5b7eb5b873c3f54e94d4acb5a4b53c86db22ed Mon Sep 17 00:00:00 2001 From: dheeyi Date: Wed, 20 May 2015 12:07:39 -0400 Subject: [PATCH 12/16] =?UTF-8?q?PM-2633=20Admin>Settings>Logs>Audit=20Log?= =?UTF-8?q?:=20Al=20importar=20un=20proceso=20el=20audit=20log=20no=20indi?= =?UTF-8?q?ca=20que=20lo=20importa=20indica=20que=20se=20creo=20el=20proce?= =?UTF-8?q?so.=20Causa=20:=20Llamada=20al=20metodo=20Auditlog=20en=20esas?= =?UTF-8?q?=20situaciones(Importaci=C3=B3=20Eliminaci=C3=B3e=20procesos).?= =?UTF-8?q?=20Soluci=C3=B3=20=20Agregar=20el=20registro=20para=20el=20Audi?= =?UTF-8?q?tlog=20en=20situaciones=20de=20Importaci=C3=B3=20Eliminaci?= =?UTF-8?q?=C3=B3n=20procesos=20.pm,=20.pmx=20y=20bpmn.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workflow/engine/methods/processes/processes_Import_Ajax.php | 1 - 1 file changed, 1 deletion(-) diff --git a/workflow/engine/methods/processes/processes_Import_Ajax.php b/workflow/engine/methods/processes/processes_Import_Ajax.php index 27d6513d0..a9c75b6e6 100644 --- a/workflow/engine/methods/processes/processes_Import_Ajax.php +++ b/workflow/engine/methods/processes/processes_Import_Ajax.php @@ -307,7 +307,6 @@ if ($action == "uploadFileNewProcess") { //Add Audit Log $ogetProcess = new Process(); $getprocess=$ogetProcess->load($oData->process['PRO_UID']); - print_r($getprocess); $nameProcess=$getprocess['PRO_TITLE']; G::auditLog("ImportProcess", 'PM File Imported '.$nameProcess. ' ('.$oData->process['PRO_UID'].')'); From a77ad10964524ba541ba5ac7cac2a2b5ce5d4851 Mon Sep 17 00:00:00 2001 From: dheeyi Date: Wed, 20 May 2015 12:38:23 -0400 Subject: [PATCH 13/16] i --- .../engine/methods/processes/processes_Delete.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/workflow/engine/methods/processes/processes_Delete.php b/workflow/engine/methods/processes/processes_Delete.php index b0ad2f9d7..3e88c8ccd 100755 --- a/workflow/engine/methods/processes/processes_Delete.php +++ b/workflow/engine/methods/processes/processes_Delete.php @@ -42,15 +42,15 @@ if ($access != 1) { //$oProcessMap = new ProcessMap(); $uids = explode(',', $_POST['PRO_UIDS']); -try { +try { - //Add Audit Log - $oProcess = new Process(); - $process=$oProcess->load($_POST['PRO_UIDS']); - $nameProcess=$process['PRO_TITLE']; - G::auditLog("DeleteProcess", $nameProcess. ' ('.$_POST['PRO_UIDS'].')' .' Deleted'); + foreach ($uids as $uid) { + //Add Audit Log + $oProcess = new Process(); + $process=$oProcess->load($uid); + $nameProcess=$process['PRO_TITLE']; + G::auditLog("DeleteProcess", $nameProcess. ' ('.$uid.')' .' Deleted'); - foreach ($uids as $uid) { //$oProcessMap->deleteProcess($uid); ProcessMaker\Project\Workflow::removeIfExists($uid); ProcessMaker\Project\Bpmn::removeIfExists($uid); From 1255a7ff1cd8bea83267d25f4b9d707c79c342c6 Mon Sep 17 00:00:00 2001 From: dheeyi Date: Thu, 21 May 2015 10:21:30 -0400 Subject: [PATCH 14/16] =?UTF-8?q?PM-2764=20Process=20File=20Manager=20edit?= =?UTF-8?q?=20button=20does=20not=20work=20on=20IE11=20(Old=20Designer).?= =?UTF-8?q?=20Causa=20:=20Error=20de=20parseo=20en=20IE8=20Soluci=C3=B3=20?= =?UTF-8?q?Corregir=20una=20sintaxis=20erronea=20para=20IE8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workflow/engine/xmlform/processes/processes_FilesOptions.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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')) + ': '; From de8ccb885f38e6e182a22e80c854f9dfd7183fd2 Mon Sep 17 00:00:00 2001 From: "Paula V. Quispe" Date: Thu, 21 May 2015 11:28:38 -0400 Subject: [PATCH 15/16] PM-2795: al autenficarse con REST no verifica contra el LdapAdvanced --- workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php b/workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php index efdf78e59..f722501d5 100644 --- a/workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php +++ b/workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php @@ -190,8 +190,11 @@ 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 != ''){ + return true; } return false; } From b55eb92644fbe7a1a59c0be106e28c2f2818b08e Mon Sep 17 00:00:00 2001 From: "Paula V. Quispe" Date: Thu, 21 May 2015 14:01:28 -0400 Subject: [PATCH 16/16] PM-2795: I validated when is < 0 --- workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php b/workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php index f722501d5..89e7aeed6 100644 --- a/workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php +++ b/workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php @@ -193,6 +193,9 @@ class PmPdo implements \OAuth2\Storage\AuthorizationCodeInterface, $RBAC = \RBAC::getSingleton(); $RBAC->initRBAC(); $uid = $RBAC->VerifyLogin($username , $password); + if($uid < 0){ + return false; + } if($uid != ''){ return true; }