From bb5e90af8dced05bf935f31a34ec78fb1be1d87c Mon Sep 17 00:00:00 2001 From: Hector Cortez Date: Mon, 22 Aug 2011 19:00:51 -0400 Subject: [PATCH] BUG 7467 Adjust the Output Document to an Ajax call. --- .../methods/outputdocs/outputdocs_Ajax.php | 39 ++++++ .../methods/outputdocs/outputdocs_Save.php | 123 ++++++------------ .../outputdocs/outputdocs_Properties.xml | 2 +- 3 files changed, 82 insertions(+), 82 deletions(-) diff --git a/workflow/engine/methods/outputdocs/outputdocs_Ajax.php b/workflow/engine/methods/outputdocs/outputdocs_Ajax.php index c11796562..374a806b9 100644 --- a/workflow/engine/methods/outputdocs/outputdocs_Ajax.php +++ b/workflow/engine/methods/outputdocs/outputdocs_Ajax.php @@ -2,6 +2,11 @@ $action = isset($POST['action'])? $POST['action']: isset($_GET['action'])? $_GET['action']: ''; +// Function call from ajax_function for calling to lookForNameOutput. +if($action=='') { + $action = isset($_POST['function'])?$_POST['function']:''; +} + switch($action){ case 'setTemplateFile': //print_r($_FILES); @@ -41,4 +46,38 @@ switch($action){ echo $aFields['OUT_DOC_TEMPLATE']; } break; + + case 'lookForNameOutput': + require_once('classes/model/Content.php'); + require_once ( "classes/model/OutputDocument.php" ); + + $snameInput = urldecode($_POST['NAMEOUTPUT']); + $sPRO_UID = urldecode($_POST['proUid']); + + $oCriteria = new Criteria('workflow'); + $oCriteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_UID); + $oCriteria->add(OutputDocumentPeer::PRO_UID, $sPRO_UID); + $oDataset = OutputDocumentPeer::doSelectRS($oCriteria); + $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $flag = true; + while ($oDataset->next() && $flag) { + $aRow = $oDataset->getRow(); + + $oCriteria1 = new Criteria('workflow'); + $oCriteria1->addSelectColumn('COUNT(*) AS OUTPUTS'); + $oCriteria1->add(ContentPeer::CON_CATEGORY, 'OUT_DOC_TITLE'); + $oCriteria1->add(ContentPeer::CON_ID, $aRow['OUT_DOC_UID']); + $oCriteria1->add(ContentPeer::CON_VALUE, $snameInput); + $oCriteria1->add(ContentPeer::CON_LANG, SYS_LANG); + $oDataset1 = ContentPeer::doSelectRS($oCriteria1); + $oDataset1->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $oDataset1->next(); + $aRow1 = $oDataset1->getRow(); + + if ($aRow1['OUTPUTS']) + $flag = false; + } + echo $flag; + // G::json_encode($flag); + break; } diff --git a/workflow/engine/methods/outputdocs/outputdocs_Save.php b/workflow/engine/methods/outputdocs/outputdocs_Save.php index 5fc075730..af6c15a11 100644 --- a/workflow/engine/methods/outputdocs/outputdocs_Save.php +++ b/workflow/engine/methods/outputdocs/outputdocs_Save.php @@ -38,93 +38,54 @@ try { break; } - if (isset($_POST['function'])) - $sfunction = $_POST['function']; + //default: + + require_once 'classes/model/OutputDocument.php'; + G::LoadClass('processMap'); + + $oOutputDocument = new OutputDocument(); + + + if (isset($_POST['form'])) + $aData = $_POST['form']; //For old process map form else - $sfunction = $_POST['functions']; + $aData = $_POST; //For Extjs (Since we are not using form in ExtJS) - //if(isset($_POST['function']) && $_POST['function']=='lookForNameOutput'){ - if ($sfunction == 'lookForNameOutput') { - require_once('classes/model/Content.php'); - require_once ( "classes/model/OutputDocument.php" ); - - $snameInput = urldecode($_POST['NAMEOUTPUT']); - $sPRO_UID = urldecode($_POST['proUid']); - - $oCriteria = new Criteria('workflow'); - $oCriteria->addSelectColumn(OutputDocumentPeer::OUT_DOC_UID); - $oCriteria->add(OutputDocumentPeer::PRO_UID, $sPRO_UID); - $oDataset = OutputDocumentPeer::doSelectRS($oCriteria); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $flag = true; - while ($oDataset->next() && $flag) { - $aRow = $oDataset->getRow(); - - $oCriteria1 = new Criteria('workflow'); - $oCriteria1->addSelectColumn('COUNT(*) AS OUTPUTS'); - $oCriteria1->add(ContentPeer::CON_CATEGORY, 'OUT_DOC_TITLE'); - $oCriteria1->add(ContentPeer::CON_ID, $aRow['OUT_DOC_UID']); - $oCriteria1->add(ContentPeer::CON_VALUE, $snameInput); - $oCriteria1->add(ContentPeer::CON_LANG, SYS_LANG); - $oDataset1 = ContentPeer::doSelectRS($oCriteria1); - $oDataset1->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $oDataset1->next(); - $aRow1 = $oDataset1->getRow(); - - if ($aRow1['OUTPUTS'] - )$flag = false; + if(isset($aData['OUT_DOC_TITLE']) && $aData['OUT_DOC_TITLE']!=''){ + $oForm = new Form('outputdocs/outputdocs_Properties', PATH_XMLFORM); + $aData = $oForm->validatePost(); + if(isset($aData['OUT_DOC_PDF_SECURITY_ENABLED'])&&$aData['OUT_DOC_PDF_SECURITY_ENABLED']=="0"){ + $aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'] =""; + $aData['OUT_DOC_PDF_SECURITY_OWNER_PASSWORD'] =""; + $aData['OUT_DOC_PDF_SECURITY_PERMISSIONS'] =""; } - //print $flag; - } else { - //default: - - require_once 'classes/model/OutputDocument.php'; - G::LoadClass('processMap'); - - $oOutputDocument = new OutputDocument(); - - - if (isset($_POST['form'])) - $aData = $_POST['form']; //For old process map form - else - $aData = $_POST; //For Extjs (Since we are not using form in ExtJS) - - - if(isset($aData['OUT_DOC_TITLE']) && $aData['OUT_DOC_TITLE']!=''){ - $oForm = new Form('outputdocs/outputdocs_Properties', PATH_XMLFORM); - $aData = $oForm->validatePost(); - if(isset($aData['OUT_DOC_PDF_SECURITY_ENABLED'])&&$aData['OUT_DOC_PDF_SECURITY_ENABLED']=="0"){ - $aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'] =""; - $aData['OUT_DOC_PDF_SECURITY_OWNER_PASSWORD'] =""; - $aData['OUT_DOC_PDF_SECURITY_PERMISSIONS'] =""; - } - if(isset($aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'])&&$aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD']!=""){ - $aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'] = G::encrypt($aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'],$aData['OUT_DOC_UID']); - $aData['OUT_DOC_PDF_SECURITY_OWNER_PASSWORD'] = G::encrypt($aData['OUT_DOC_PDF_SECURITY_OWNER_PASSWORD'],$aData['OUT_DOC_UID']); - } - } - if ($aData['OUT_DOC_UID'] == '') { - - if ((isset($aData['OUT_DOC_TYPE'])) && ( $aData['OUT_DOC_TYPE'] == 'JRXML' )) { - $dynaformUid = $aData['DYN_UID']; - $outDocUid = $oOutputDocument->create($aData); - G::LoadClass('javaBridgePM'); - $jbpm = new JavaBridgePM (); - print $jbpm->generateJrxmlFromDynaform($outDocUid, $dynaformUid, 'classic'); - } else { - $outDocUid = $oOutputDocument->create($aData); - } - } else { - $oOutputDocument->update($aData); - } - - if (isset($aData['PRO_UID'])) { - //refresh dbarray with the last change in outputDocument - $oMap = new processMap(); - $oCriteria = $oMap->getOutputDocumentsCriteria($aData['PRO_UID']); + if(isset($aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'])&&$aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD']!=""){ + $aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'] = G::encrypt($aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'],$aData['OUT_DOC_UID']); + $aData['OUT_DOC_PDF_SECURITY_OWNER_PASSWORD'] = G::encrypt($aData['OUT_DOC_PDF_SECURITY_OWNER_PASSWORD'],$aData['OUT_DOC_UID']); } } + if ($aData['OUT_DOC_UID'] == '') { + + if ((isset($aData['OUT_DOC_TYPE'])) && ( $aData['OUT_DOC_TYPE'] == 'JRXML' )) { + $dynaformUid = $aData['DYN_UID']; + $outDocUid = $oOutputDocument->create($aData); + G::LoadClass('javaBridgePM'); + $jbpm = new JavaBridgePM (); + print $jbpm->generateJrxmlFromDynaform($outDocUid, $dynaformUid, 'classic'); + } else { + $outDocUid = $oOutputDocument->create($aData); + } + } else { + $oOutputDocument->update($aData); + } + + if (isset($aData['PRO_UID'])) { + //refresh dbarray with the last change in outputDocument + $oMap = new processMap(); + $oCriteria = $oMap->getOutputDocumentsCriteria($aData['PRO_UID']); + } + } catch (Exception $oException) { die($oException->getMessage()); } diff --git a/workflow/engine/xmlform/outputdocs/outputdocs_Properties.xml b/workflow/engine/xmlform/outputdocs/outputdocs_Properties.xml index 43c3ee19f..a1783ea0f 100644 --- a/workflow/engine/xmlform/outputdocs/outputdocs_Properties.xml +++ b/workflow/engine/xmlform/outputdocs/outputdocs_Properties.xml @@ -174,7 +174,7 @@ var verifyTitle = function(oForm) var proUid = getField('PRO_UID').value; var OutPutID = getField('OUT_DOC_UID').value; if(OutPutID==''){ - reqName=ajax_function(oForm.action,'lookForNameOutput','NAMEOUTPUT='+encodeURIComponent(nameOutPut)+'&proUid='+encodeURIComponent(proUid),'POST') ; + reqName=ajax_function('../outputdocs/outputdocs_Ajax','lookForNameOutput','NAMEOUTPUT='+encodeURIComponent(nameOutPut)+'&proUid='+encodeURIComponent(proUid),'POST') ; if(reqName){ outputdocsPropertiesSave(oForm); } else {