diff --git a/workflow/engine/classes/class.dynaformEditor.php b/workflow/engine/classes/class.dynaformEditor.php index 4c071769a..fd5832ffe 100755 --- a/workflow/engine/classes/class.dynaformEditor.php +++ b/workflow/engine/classes/class.dynaformEditor.php @@ -155,6 +155,7 @@ class dynaformEditor extends WebResource 'PRO_UID' => $this->pro_uid, 'DYNAFORM_NAME'=> $this->dyn_title, 'FILE' => $this->file, + 'DYN_EDITOR' => $this->dyn_editor, ); $_SESSION['Current_Dynafom']['Parameters'] = $Parameters; $XmlEditor = array( diff --git a/workflow/engine/classes/class.processMap.php b/workflow/engine/classes/class.processMap.php index 80304e95c..1d60b6ff2 100644 --- a/workflow/engine/classes/class.processMap.php +++ b/workflow/engine/classes/class.processMap.php @@ -6619,17 +6619,35 @@ function saveExtEvents($oData) } + //new functions + function getAllTriggersCount(){ + $c = $this->tmpCriteria; + $c->clearSelectColumns(); + $c->addSelectColumn('COUNT(*)'); + $oDataset = TriggersPeer::doSelectRS($c); + $oDataset->next(); + $aRow = $oDataset->getRow(); + + if( is_array($aRow) ) + return $aRow[0]; + else + return 0; + } + /* * Return the triggers list criteria object * @param string $sProcessUID * @return object */ - function getExtTriggers($start, $limit, $sProcessUID = '') { + function getExtTriggersList($start, $limit, $sProcessUID = '') { $sDelimiter = DBAdapter::getStringDelimiter (); $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(TriggersPeer::TRI_UID); $oCriteria->addSelectColumn(TriggersPeer::PRO_UID); + $oCriteria->add(TriggersPeer::PRO_UID, $sProcessUID); + $this->tmpCriteria = clone $oCriteria; + $oCriteria->addAsColumn('TRI_TITLE', 'C1.CON_VALUE'); $oCriteria->addAsColumn('TRI_DESCRIPTION', 'C2.CON_VALUE'); $oCriteria->addAlias('C1', 'CONTENT'); @@ -6647,7 +6665,11 @@ function saveExtEvents($oData) $oCriteria->add(TriggersPeer::PRO_UID, $sProcessUID); $oCriteria->addAscendingOrderByColumn('TRI_TITLE'); - + if($start != '') + $oCriteria->setOffset($start); + if($limit != '') + $oCriteria->setLimit($limit); + $oDataset = TriggersPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); diff --git a/workflow/engine/methods/dynaforms/dynaforms_Editor.php b/workflow/engine/methods/dynaforms/dynaforms_Editor.php index e9eb3a445..5244d4d32 100644 --- a/workflow/engine/methods/dynaforms/dynaforms_Editor.php +++ b/workflow/engine/methods/dynaforms/dynaforms_Editor.php @@ -70,6 +70,13 @@ if (($RBAC_Response=$RBAC->userCanAccess("PM_FACTORY"))!=1) return $RBAC_Respons $dynaform->create(array('PRO_UID'=>$PRO_UID)); } + //creating SESSION for redirecting to new bpmn editor after closing Dynaform + if(isset($_GET['bpmn']) && $_GET['bpmn'] == '1') + {$_SESSION['dynaform_editor'] = 'bpmn';} + else if(!isset($_GET['bpmn'])) + {$_SESSION['dynaform_editor'] = 'processmap';} + + $editor=new dynaformEditor($_POST); $editor->file=$dynaform->getDynFilename(); $editor->home=PATH_DYNAFORM; @@ -79,6 +86,7 @@ if (($RBAC_Response=$RBAC->userCanAccess("PM_FACTORY"))!=1) return $RBAC_Respons $editor->dyn_type=$dynaform->getDynType(); $editor->dyn_title=$dynaform->getDynTitle(); $editor->dyn_description=$dynaform->getDynDescription(); + $editor->dyn_editor=$_SESSION['dynaform_editor']; $editor->_setUseTemporalCopy(true); $editor->_render(); diff --git a/workflow/engine/templates/bpmn/ProcessOptions.js b/workflow/engine/templates/bpmn/ProcessOptions.js index 88e3587aa..e8108f8a0 100755 --- a/workflow/engine/templates/bpmn/ProcessOptions.js +++ b/workflow/engine/templates/bpmn/ProcessOptions.js @@ -41,7 +41,7 @@ ProcessOptions.prototype.addDynaform= function(_5625) var rowSelected = Ext.getCmp('dynaformGrid').getSelectionModel().getSelected(); if( rowSelected ) - location.href = '../dynaforms/dynaforms_Editor?PRO_UID='+pro_uid+'&DYN_UID='+rowSelected.data.DYN_UID + location.href = '../dynaforms/dynaforms_Editor?PRO_UID='+pro_uid+'&DYN_UID='+rowSelected.data.DYN_UID+'&bpmn=1' else PMExt.error('', _('ID_NO_SELECTION_WARNING')); } @@ -408,7 +408,6 @@ ProcessOptions.prototype.addDynaform= function(_5625) fieldLabel: _('ID_TYPE'), triggerAction: 'all', forceSelection: true, - //name: 'ACTION', name: 'DYN_TYPE', displayField: 'name', valueField: 'value', @@ -501,16 +500,16 @@ ProcessOptions.prototype.addDynaform= function(_5625) handler: function(){ var getForm = dynaformDetails.getForm().getValues(); //var sDynaType = getForm.DYN_SOURCE; + var sDynaformType = getForm.DYN_TYPE; + if(sDynaformType == 'Normal' || sDynaformType == '') + sDynaformType = 'xmlform'; + else + sDynaformType = 'grid'; + if(getForm.DYN_SOURCE == 'blankDyna') { - //var sAction = getForm.ACTION; var sTitle = getForm.DYN_TITLE1; var sDesc = getForm.DYN_DESCRIPTION1; - var sDynaformType = getForm.DYN_TYPE; - if(sDynaformType == 'normal') - sDynaformType = 'xmlform'; - else - sDynaformType = 'grid'; } else { @@ -529,31 +528,31 @@ ProcessOptions.prototype.addDynaform= function(_5625) sDesc = getForm.DYN_DESCRIPTION2; } - if(sTitle == '') - PMExt.notify( _('ID_ERROR') , _('ID_DYNAFORM_TITLE_REQUIRED') ); - else - { - Ext.Ajax.request({ - url : '../dynaforms/dynaforms_Save.php', - method: 'POST', - params:{ - functions : 'saveDynaform', - ACTION : 'normal', - FIELDS : fieldname, - VARIABLES : variable, - ADD_TABLE : sAddTab, - PRO_UID : pro_uid, - DYN_TITLE : sTitle, - DYN_TYPE : sDynaformType, - DYN_DESCRIPTION : sDesc - }, - success: function(response) { - PMExt.notify( _('ID_STATUS') , _('ID_DYANFORM_CREATED') ); - taskDynaform.reload(); - formWindow.hide() - } - }); - } + if(sTitle == '') + PMExt.error( _('ID_ERROR') , _('ID_DYNAFORM_TITLE_REQUIRED') ); + else + { + Ext.Ajax.request({ + url : '../dynaforms/dynaforms_Save.php', + method: 'POST', + params:{ + functions : 'saveDynaform', + ACTION : 'normal', + FIELDS : fieldname, + VARIABLES : variable, + ADD_TABLE : sAddTab, + PRO_UID : pro_uid, + DYN_TITLE : sTitle, + DYN_TYPE : sDynaformType, + DYN_DESCRIPTION : sDesc + }, + success: function(response) { + PMExt.notify( _('ID_STATUS') , _('ID_DYANFORM_CREATED') ); + taskDynaform.reload(); + formWindow.hide() + } + }); + } } },{ text: _('ID_CANCEL'), @@ -3337,9 +3336,8 @@ ProcessOptions.prototype.addTriggers= function() pageSize: 10, store: triggerStore, displayInfo: true, - displayMsg: 'Displaying dynaforms {0} - {1} of {2}', - emptyMsg: "No users to display", - items:[] + displayMsg: 'Displaying Triggers {0} - {1} of {2}', + emptyMsg: "No Triggers to display" }), viewConfig: {forceFit: true} }); diff --git a/workflow/engine/xmlform/dynaforms/dynaforms_Editor.xml b/workflow/engine/xmlform/dynaforms/dynaforms_Editor.xml index 4b1a2a97e..864486d86 100644 --- a/workflow/engine/xmlform/dynaforms/dynaforms_Editor.xml +++ b/workflow/engine/xmlform/dynaforms/dynaforms_Editor.xml @@ -4,6 +4,7 @@ + <en><![CDATA[<table cellpadding="0" cellspacing="0" width="100%" style="background-color:transparent"> <tr> <td class=\'FormTitle\'>Preview</td> <td align="right"></td> </tr> </table>]]></en> @@ -11,6 +12,7 @@ <dynaforms_Preview type="private" defaultValue="../dynaforms/dynaforms_Preview"/> <dynaforms_Ajax type="private" defaultValue="../dynaforms/dynaforms_Ajax"/> <processMap type="private" defaultValue="../processes/processes_Map"/> +<processBpmnMap type="private" defaultValue="../bpmn/processmap"/> <SCRIPT type="javascript" replaceTags="1"><![CDATA[ function loadEditor() @@ -34,11 +36,16 @@ function loadEditor() mainPanel.events.remove = function() { var canClose=dynaformEditor.close(); - if (canClose) + var dynEditorType = "@#DYN_EDITOR"; + if (canClose && dynEditorType == 'processmap') { window.location.href="@G::encryptLink(@#processMap)?PRO_UID=@%PRO_UID"; return true; } + else if(dynEditorType == 'bpmn') + { + window.location.href="@G::encryptLink(@#processBpmnMap)?PRO_UID=@%PRO_UID"; + } else { mainPanel.cancelClose=true;