From 418d4ddb735c714b83c7e6a4177329615e6d64aa Mon Sep 17 00:00:00 2001 From: Luis Fernando Saisa Lopez Date: Tue, 26 Nov 2013 16:47:09 -0400 Subject: [PATCH] BUG 13536 "Save as option inside a Dyanform is..." SOLVED - Save as option inside a Dyanform is not working - Problema: Cuando se utiliza del Editor de Dynaform la opcion "Save as" que permite sacar copias de un dynaform, la copia que se creaba no se visualiza cuando se listanban los dynaforms. Solucion: Del Editor de Dynaform la opcion "Save as" permite sacar copias de un Dynaform, al sacar una copia de un dynaforms utilizando esta opcion, en el listado de dynafoms se muestra la copia correctamente. El problema consistia que cuando se hacia click en el boton "Save" del formulario "Save as" los datos no se registraban en la base de datos y en el listado de los dynaforms no se los veia, por alguna razon los metodos que se utilizaban no hacian tal registro. Para la solucion del problema se utilizo el metodo "create()" de la clase "class Dynaform". Disponible para la version 2.5.2 --- .../methods/dynaforms/dynaforms_Save_as.php | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/workflow/engine/methods/dynaforms/dynaforms_Save_as.php b/workflow/engine/methods/dynaforms/dynaforms_Save_as.php index 511357b09..9ae3ed9e4 100755 --- a/workflow/engine/methods/dynaforms/dynaforms_Save_as.php +++ b/workflow/engine/methods/dynaforms/dynaforms_Save_as.php @@ -35,7 +35,7 @@ if (! class_exists( "FieldCondition" )) { } try { - $con = Propel::getConnection( DynaformPeer::DATABASE_NAME ); + $frm = $_POST['form']; $PRO_UID = $frm['PRO_UID']; $DYN_UID = $frm['DYN_UID']; @@ -46,22 +46,18 @@ try { $aConditions = $oFieldCondition->getAllByDynUid( $DYN_UID ); $dynaform = new dynaform(); - /*Save Register*/ + $arrayData = array(); - $dynUid = (G::generateUniqueID()); + $arrayData["PRO_UID"] = $PRO_UID; + $arrayData["DYN_TYPE"] = $DYN_TYPE; + $arrayData["DYN_TITLE"] = $frm["DYN_TITLENEW"]; - $dynaform->setDynUid( $dynUid ); - $dynaform->setProUid( $PRO_UID ); - $dynaform->setDynType( $DYN_TYPE ); - $dynaform->setDynFilename( $PRO_UID . PATH_SEP . $dynUid ); - - $con->begin(); - $res = $dynaform->save(); - $dynaform->setDynTitle( $frm['DYN_TITLENEW'] ); - $dynaform->setDynDescription( (! $frm['DYN_DESCRIPTIONNEW']) ? 'Default Dynaform Description' : $frm['DYN_DESCRIPTIONNEW'] ); - - //$con->commit(); + if (isset($frm["DYN_DESCRIPTIONNEW"])) { + $arrayData["DYN_DESCRIPTION"] = $frm["DYN_DESCRIPTIONNEW"]; + } + $aFields = $dynaform->create($arrayData); + $dynUid = $dynaform->getDynUid(); $hd = fopen( PATH_DYNAFORM . $PRO_UID . '/' . $DYN_UID . '.xml', "r" ); $hd1 = fopen( PATH_DYNAFORM . $PRO_UID . '/' . $dynUid . '.xml', "w" );