From 0f235c776fcf1622f620a6a60845b5c0e4fe43f8 Mon Sep 17 00:00:00 2001 From: Victor Saisa Lopez Date: Thu, 11 Dec 2014 16:38:59 -0400 Subject: [PATCH] PM-1111 "16332: Grids with same name" SOLVED Issue: 16332: Grids with same name Cause: No se valida si existe un Grid con el mismo nombre Solution: Al "Copy/Import DynaForm" si este tiene incrustado un Grid y el titulo del mismo ya existe en el proceso; al titulo del Grid se le concatena entre parentesis el titulo del nuevo DynaForm --- workflow/engine/methods/dynaforms/dynaforms_Save.php | 6 +++--- .../engine/src/ProcessMaker/BusinessModel/DynaForm.php | 7 +++---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/workflow/engine/methods/dynaforms/dynaforms_Save.php b/workflow/engine/methods/dynaforms/dynaforms_Save.php index 43789e86e..8a64a7774 100755 --- a/workflow/engine/methods/dynaforms/dynaforms_Save.php +++ b/workflow/engine/methods/dynaforms/dynaforms_Save.php @@ -158,13 +158,13 @@ if (isset( $sfunction ) && $sfunction == 'lookforNameDynaform') { $copyDynGrdDescription = $row["CON_VALUE"]; //Create grid - $aDataAux = $aData; + $dynaformGrid = new dynaform(); + $aDataAux = $aData; $aDataAux["DYN_TYPE"] = "grid"; - $aDataAux["DYN_TITLE"] = $copyDynGrdTitle; + $aDataAux["DYN_TITLE"] = $copyDynGrdTitle . ((!$dynaformGrid->verifyExistingName($copyDynGrdTitle, $dynaform->getProUid()))? " (" . $dynaform->getDynTitle() . ")" : ""); $aDataAux["DYN_DESCRIPTION"] = $copyDynGrdDescription; - $dynaformGrid = new dynaform(); $aFields = $dynaformGrid->create($aDataAux); $dynaformGridUid = $dynaformGrid->getDynUid(); diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php b/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php index bfcc6bf10..08827276a 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php @@ -602,15 +602,15 @@ class DynaForm $dynGrdDescriptionCopyImport = $row["CON_VALUE"]; //Create Grid + $dynaFormGrid = new \Dynaform(); + $arrayDataAux = array( "PRO_UID" => $processUid, - "DYN_TITLE" => $dynGrdTitleCopyImport, + "DYN_TITLE" => $dynGrdTitleCopyImport . (($this->existsTitle($processUid, $dynGrdTitleCopyImport))? " (" . $arrayData["DYN_TITLE"] . ")" : ""), "DYN_DESCRIPTION" => $dynGrdDescriptionCopyImport, "DYN_TYPE" => "grid" ); - $dynaFormGrid = new \Dynaform(); - $dynaFormGridUid = $dynaFormGrid->create($arrayDataAux); //Copy files of the DynaForm Grid @@ -1124,6 +1124,5 @@ class DynaForm throw $e; } } - }