diff --git a/workflow/engine/methods/dynaforms/dynaforms_Save.php b/workflow/engine/methods/dynaforms/dynaforms_Save.php index e394d4114..e12bda1dd 100644 --- a/workflow/engine/methods/dynaforms/dynaforms_Save.php +++ b/workflow/engine/methods/dynaforms/dynaforms_Save.php @@ -26,57 +26,44 @@ if (($RBAC_Response=$RBAC->userCanAccess("PM_FACTORY"))!=1) return $RBAC_Respons //G::genericForceLogin( 'WF_MYINFO' , 'login/noViewPage', $urlLogin = 'login/login' ); require_once('classes/model/Dynaform.php'); - require_once('classes/model/Content.php'); - - if(isset($_POST['function']) && $_POST['function']=='lookforNameDynaform'){ - $snameDyanform=urldecode($_POST['NAMEDYNAFORM']); - $sPRO_UID=urldecode($_POST['proUid']); - - $oCriteria = new Criteria('workflow'); - $oCriteria->addSelectColumn ( DynaformPeer::DYN_UID ); - $oCriteria->add(DynaformPeer::PRO_UID, $sPRO_UID); - $oDataset = DynaformPeer::doSelectRS($oCriteria); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $flag=true; - while ($oDataset->next() && $flag) { - $aRow = $oDataset->getRow(); - - $oCriteria1 = new Criteria('workflow'); - $oCriteria1->addSelectColumn('COUNT(*) AS DYNAFORMS'); - $oCriteria1->add(ContentPeer::CON_CATEGORY, 'DYN_TITLE'); - $oCriteria1->add(ContentPeer::CON_ID, $aRow['DYN_UID']); - $oCriteria1->add(ContentPeer::CON_VALUE, $snameDyanform); - $oCriteria1->add(ContentPeer::CON_LANG, SYS_LANG); - $oDataset1 = ContentPeer::doSelectRS($oCriteria1); - $oDataset1->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $oDataset1->next(); - $aRow1 = $oDataset1->getRow(); - if($aRow1['DYNAFORMS'])$flag=false; - - + $dynaform = new dynaform(); + $oJSON = new Services_JSON(); + + if(isset($_POST['form'])) + { + $aData = $_POST['form']; //For old process map form + if ($aData['DYN_UID']==='') unset($aData['DYN_UID']); + } + else + { + $aData = $_POST; //For Extjs (Since we are not using form in ExtJS) + if(isset($aData['FIELDS'])) + { + //$test = '{"1":{"TESTID":"1223","PRO_VARIABLE":"saaa"},"2":{"TESTID":"420","PRO_VARIABLE":"sas"}}'; + $oData = $oJSON->decode($_POST['FIELDS']); + $aData['FIELDS'] = ''; + for($i=0;$iSave( $aData ); + } + else + { + if (!isset($aData['ADD_TABLE'])||$aData['ADD_TABLE']==""){ + $aFields=$dynaform->create( $aData ); + } else { + $aFields=$dynaform->createFromPMTable( $aData, $aData['ADD_TABLE']); } - print $flag; - - } else { - $dynaform = new dynaform(); - - if ($_POST['form']['DYN_UID']==='') unset($_POST['form']['DYN_UID']); - - if (isset($_POST['form']['DYN_UID'])) - { - $dynaform->Save( $_POST['form'] ); - } - else - { - if (!isset($_POST['form']['ADD_TABLE'])||$_POST['form']['ADD_TABLE']==""){ - $aFields=$dynaform->create( $_POST['form'] ); - } else { - $aFields=$dynaform->createFromPMTable( $_POST['form'], $_POST['form']['ADD_TABLE']); - } - $_POST['form']['DYN_UID']=$dynaform->getDynUid(); - $dynaform->update( $_POST['form'] ); - } - echo $dynaform->getDynUid(); - } + $aData['DYN_UID']=$dynaform->getDynUid(); + $dynaform->update( $aData ); + } + echo $dynaform->getDynUid(); ?> \ No newline at end of file diff --git a/workflow/engine/templates/bpmn/ProcessOptions.js b/workflow/engine/templates/bpmn/ProcessOptions.js index 2cec6dedc..6b2de2bc7 100755 --- a/workflow/engine/templates/bpmn/ProcessOptions.js +++ b/workflow/engine/templates/bpmn/ProcessOptions.js @@ -29,7 +29,7 @@ ProcessOptions.prototype.addDynaform= function(_5625) text: 'New Dynaform', iconCls: 'application_add', handler: function () { - + } }); @@ -299,7 +299,7 @@ ProcessOptions.prototype.addDynaform= function(_5625) triggerAction: 'all', forceSelection: true, fieldLabel: 'Create from a PM Table', - name: 'ADD_TABLE', + //name: 'ADD_TABLE', displayField: 'ADD_TAB_NAME', valueField: 'ADD_TAB_UID', value : '---------------------------', @@ -317,11 +317,17 @@ ProcessOptions.prototype.addDynaform= function(_5625) } });*/ Ext.getCmp("fieldsGrid").show(); - + Ext.getCmp("pmTable").setValue(record.data.ADD_TAB_UID); + this.setValue(record.data[this.valueField || this.displayField]); this.collapse(); } },{ + xtype:'hidden',//<--hidden field + name:'ADD_TABLE', + id :'pmTable' + }, + { xtype : 'textfield', fieldLabel: 'Title', name : 'DYN_TITLE', @@ -353,14 +359,14 @@ ProcessOptions.prototype.addDynaform= function(_5625) ] }); - + var gridWindow = new Ext.Window({ title: 'Dynaform', collapsible: false, maximizable: true, width: 600, //autoHeight: true, - height: 500, + height: 450, layout: 'fit', plain: true, bodyStyle: 'padding:5px;', @@ -379,32 +385,27 @@ ProcessOptions.prototype.addDynaform= function(_5625) } else { - //sAction = getForm.ADD_TABLE; - var aFields = new Array(); + var sAddTab = getForm.ADD_TABLE; var aStoreFields = tablesFieldsStore.data.items; var aData = ''; + //Creating string in JSON format for(var i=0;i