From b2b2e8f47e73256c8e7cabc9bdc80f7514b28853 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Fri, 6 Feb 2015 15:44:54 -0400 Subject: [PATCH 1/3] PM-1437 PM-1396 --- .../engine/templates/admin/calendarEdit.js | 538 ++++++++---------- 1 file changed, 242 insertions(+), 296 deletions(-) diff --git a/workflow/engine/templates/admin/calendarEdit.js b/workflow/engine/templates/admin/calendarEdit.js index 1035210d5..b050013d1 100644 --- a/workflow/engine/templates/admin/calendarEdit.js +++ b/workflow/engine/templates/admin/calendarEdit.js @@ -751,32 +751,7 @@ Ext.onReady( function() { width : 200 , fieldLabel : _('ID_NAME') , name : 'name' , - allowBlank : false, - listeners: { - change: function(){ - Ext.getCmp('idInvalidCalendarName').hide(); - var validateMessage = ''; - var canlendarName = Ext.getCmp('dynaformCalendarName').getValue(); - Ext.Ajax.request( { - url: '../adminProxy/calendarValidate', - params: { - action : 'calendarName', - oldName : fields.OLD_NAME, - name : canlendarName, - uid : fields.CALENDAR_UID - }, - success: function(resp){ - if (resp.responseText != '[]') - message = resp.responseText; - else - message = ''; - } - }); - }, - focus: function(){ - $message = ''; - } - } + allowBlank : false }, { id : 'dynaformCalendarDescription' , @@ -955,254 +930,252 @@ Ext.onReady( function() { { text: fields['NEWCALENDAR']=='YES'?_("ID_CREATE") : _("ID_UPDATE"), handler: function() { - if(message!=''){ - Ext.getCmp('idInvalidCalendarName').show(); - Ext.getCmp('dynaformCalendarName').focus(); - return false; + Ext.getCmp('idInvalidCalendarName').hide(); + var canlendarName = Ext.getCmp('dynaformCalendarName').getValue().trim(); + console.log(canlendarName); + if(canlendarName === ""){ + Ext.getCmp('dynaformCalendarName').setValue(""); + return; } - var flag = 0; - gridHoliday.store.each(function(record) { - var start = record.data['startDate']; - var end = record.data['endDate']; - if ((! start) || (! end)) - flag = 1; - }); - assignedGrid = grid; - var allRows = assignedGrid.getStore(); - var columns = new Array(); - var hasSomePrimaryKey = false; - - //!fordata - var canlendarName = Ext.getCmp('dynaformCalendarName').getValue(); - var calendarDescription = Ext.getCmp('dynaformCalendarDescription').getValue(); - var calendarStatus = Ext.getCmp('dynaformCalendarStatus').getValue(); - var calendarStatusString = "INACTIVE"; - - var calendarWorkDays = Ext.getCmp('dynaformCalendarWorkDays').getValue(); - var calendarWorkDaysArray = new Array(); - - var businessDayStatus = Ext.getCmp('idWorkHour'); - var businessDayStatusCollapsed = businessDayStatus.collapsed; - var businessDayStatusString = "INACTIVE"; - var businessDay = ""; - - var holidayStatus = Ext.getCmp('idHolidays'); - var holidayStatusCollapsed = holidayStatus.collapsed; - var holidayStatusString = "INACTIVE"; - var holiday = ""; - //!fordata - - var dynaformCalendarWorkDaysArray = Ext.getCmp('dynaformCalendarWorkDays').items.items; - var dynaformCalendarWorkDaysArrayLength = dynaformCalendarWorkDaysArray.length; - var dynaformCalendarWorkDaysArrayChecked; - var dynaformCalendarWorkDaysArrayCheckedArray = new Array(); - var indexAuxiliar = 0; - var arrayDayinCheckbox = new Array(); - for(i=0;i=3){ - if(all==1){ - Ext.Ajax.request( { - url: '../adminProxy/calendarSave', - params: { - CALENDAR_UID : CALENDAR_UID, - OLD_NAME : "", - CALENDAR_NAME : canlendarName, - CALENDAR_DESCRIPTION : calendarDescription, - CALENDAR_STATUS : calendarStatus, - CALENDAR_WORK_DAYS : calendarWorkDays, - BUSINESS_DAY_STATUS : businessDayStatus, - BUSINESS_DAY : businessDay, - HOLIDAY_STATUS : holidayStatus, - HOLIDAY : holiday - }, - success: function(resp){ - if(fields['NEWCALENDAR']=='YES') { - PMExt.notify( _('ID_STATUS') , _('ID_CALENDAR_CREATED_SUCCESSFULLY') ); - } - else { - PMExt.notify( _('ID_STATUS') , _('ID_CALENDAR_UPDATED_SUCCESSFULLY') ); - } - window.location.href = '../setup/calendarList'; - } - }); - } - else { - var flagDay = 0; - var indexArray = 0; - var arrayDayinGridSize = arrayDayinGrid.length; - var arrayDayinCheckboxSize = arrayDayinCheckbox.length; - for(var a = 0 ; a=3){ + if(all==1){ + Ext.Ajax.request( { + url: '../adminProxy/calendarSave', + params: { + CALENDAR_UID : CALENDAR_UID, + OLD_NAME : "", + CALENDAR_NAME : canlendarName, + CALENDAR_DESCRIPTION : calendarDescription, + CALENDAR_STATUS : calendarStatus, + CALENDAR_WORK_DAYS : calendarWorkDays, + BUSINESS_DAY_STATUS : businessDayStatus, + BUSINESS_DAY : businessDay, + HOLIDAY_STATUS : holidayStatus, + HOLIDAY : holiday + }, + success: function(resp){ + if(fields['NEWCALENDAR']=='YES') { + PMExt.notify( _('ID_STATUS') , _('ID_CALENDAR_CREATED_SUCCESSFULLY') ); + } + else { + PMExt.notify( _('ID_STATUS') , _('ID_CALENDAR_UPDATED_SUCCESSFULLY') ); + } + window.location.href = '../setup/calendarList'; + } + }); + } + else { + var flagDay = 0; + var indexArray = 0; + var arrayDayinGridSize = arrayDayinGrid.length; + var arrayDayinCheckboxSize = arrayDayinCheckbox.length; + for(var a = 0 ; a Date: Fri, 6 Feb 2015 16:44:35 -0400 Subject: [PATCH 2/3] PM-00000 "Solo los Start-Event pueden iniciar casos" SOLVED Issue: Solo los Start-Event pueden iniciar casos Cause: Los Start-Message-Event podian inciar casos Solution: Se a agregado validacion para que solo los Start-Event puedan iniciar casos --- .../Project/Adapter/BpmnWorkflow.php | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php index d599c46bb..e2bb094a0 100755 --- a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php +++ b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php @@ -238,7 +238,7 @@ class BpmnWorkflow extends Project\Bpmn $event = \BpmnEventPeer::retrieveByPK($data["FLO_ELEMENT_ORIGIN"]); // setting as start task - if ($event && $event->getEvnType() == "START") { + if (!is_null($event) && $event->getEvnType() == "START" && $event->getEvnMarker() == "EMPTY") { $this->wp->setStartTask($data["FLO_ELEMENT_DEST"]); } @@ -284,7 +284,7 @@ class BpmnWorkflow extends Project\Bpmn ) { $event = \BpmnEventPeer::retrieveByPK($flowBefore->getFloElementOrigin()); - if (!is_null($event) && $event->getEvnType() == "START") { + if (!is_null($event) && $event->getEvnType() == "START" && $event->getEvnMarker() == "EMPTY") { //Remove as start task $this->wp->setStartTask($flowBefore->getFloElementDest(), false); @@ -358,7 +358,7 @@ class BpmnWorkflow extends Project\Bpmn if (is_null($bpmnFlow)) { $event = \BpmnEventPeer::retrieveByPK($flow->getFloElementOrigin()); - if (!is_null($event) && $event->getEvnType() == "START") { + if (!is_null($event) && $event->getEvnType() == "START" && $event->getEvnMarker() == "EMPTY") { $activity = \BpmnActivityPeer::retrieveByPK($flow->getFloElementDest()); if (!is_null($activity)) { @@ -390,7 +390,7 @@ class BpmnWorkflow extends Project\Bpmn switch ($flow->getFloElementOriginType()) { case "bpmnActivity": switch ($flow->getFloElementDestType()) { - // activity->activity + //Activity1 -> Activity2 case "bpmnActivity": $this->wp->removeRouteFromTo($flow->getFloElementOrigin(), $flow->getFloElementDest()); break; @@ -411,12 +411,12 @@ class BpmnWorkflow extends Project\Bpmn $eventUid = parent::addEvent($data); $event = \BpmnEventPeer::retrieveByPK($eventUid); - // create case scheduler + //Delete case scheduler if ($event && $event->getEvnMarker() == "TIMER" && $event->getEvnType() == "START") { $this->wp->addCaseScheduler($eventUid); } - // create web entry + //Delete WebEntry-Event if ($event && $event->getEvnMarker() == "MESSAGE" && $event->getEvnType() == "START") { $this->wp->addWebEntry($eventUid); } @@ -782,11 +782,13 @@ class BpmnWorkflow extends Project\Bpmn $result = array(); $projectData['prj_uid'] = $prjUid; + $bwp = BpmnWorkflow::load($prjUid); + $projectRecord = array_change_key_case($projectData, CASE_UPPER); + $bwp->update($projectRecord); - //// /* * Diagram's Laneset Handling */ @@ -831,7 +833,6 @@ class BpmnWorkflow extends Project\Bpmn } } - //// /* * Diagram's Lane Handling */ @@ -1184,7 +1185,6 @@ class BpmnWorkflow extends Project\Bpmn } } - //// /* * Diagram's Participant Handling */ @@ -1241,7 +1241,6 @@ class BpmnWorkflow extends Project\Bpmn } } - /* * Diagram's Flows Handling */ @@ -1252,16 +1251,23 @@ class BpmnWorkflow extends Project\Bpmn // if it is a new flow record if ($forceInsert || ($generateUid && !\BpmnFlow::exists($flowData["FLO_UID"]))) { - $oldFloUid = $flowData["FLO_UID"]; + $uidOld = $flowData["FLO_UID"]; + $flowData["FLO_UID"] = Util\Common::generateUID(); - $result[] = array("object" => "flow", "new_uid" => $flowData["FLO_UID"], "old_uid" => $oldFloUid); + $result[] = array( + "object" => "flow", + "old_uid" => $uidOld, + "new_uid" => $flowData["FLO_UID"] + ); $mappedUid = self::mapUid($flowData["FLO_ELEMENT_ORIGIN"], $result); + if ($mappedUid !== false) { $flowData["FLO_ELEMENT_ORIGIN"] = $mappedUid; } $mappedUid = self::mapUid($flowData["FLO_ELEMENT_DEST"], $result); + if ($mappedUid !== false) { $flowData["FLO_ELEMENT_DEST"] = $mappedUid; } From 521f18da8c718d1d66a07db3bd31e6551db5979c Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Fri, 6 Feb 2015 16:46:21 -0400 Subject: [PATCH 3/3] PM-1437 PM-1396 IMPROVEMENT --- workflow/engine/templates/admin/calendarEdit.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/workflow/engine/templates/admin/calendarEdit.js b/workflow/engine/templates/admin/calendarEdit.js index b050013d1..efb86fc74 100644 --- a/workflow/engine/templates/admin/calendarEdit.js +++ b/workflow/engine/templates/admin/calendarEdit.js @@ -931,10 +931,9 @@ Ext.onReady( function() { text: fields['NEWCALENDAR']=='YES'?_("ID_CREATE") : _("ID_UPDATE"), handler: function() { Ext.getCmp('idInvalidCalendarName').hide(); + Ext.getCmp('dynaformCalendarName').setValue(Ext.getCmp('dynaformCalendarName').getValue().trim()); var canlendarName = Ext.getCmp('dynaformCalendarName').getValue().trim(); - console.log(canlendarName); if(canlendarName === ""){ - Ext.getCmp('dynaformCalendarName').setValue(""); return; } Ext.Ajax.request({