diff --git a/workflow/engine/classes/model/Dynaform.php b/workflow/engine/classes/model/Dynaform.php index dcbb584ea..35a0a651a 100755 --- a/workflow/engine/classes/model/Dynaform.php +++ b/workflow/engine/classes/model/Dynaform.php @@ -517,13 +517,14 @@ class Dynaform extends BaseDynaform return $G_FORM->fields; } - public function verifyExistingName ($sName, $sProUid) + public function verifyExistingName ($sName, $sProUid, $sDynUid) { $sNameDyanform = urldecode( $sName ); $sProUid = urldecode( $sProUid ); $oCriteria = new Criteria( 'workflow' ); $oCriteria->addSelectColumn( DynaformPeer::DYN_UID ); $oCriteria->add( DynaformPeer::PRO_UID, $sProUid ); + $oCriteria->add( DynaformPeer::DYN_UID, $sDynUid ); $oDataset = DynaformPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $flag = true; @@ -532,14 +533,16 @@ class Dynaform extends BaseDynaform $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_ID, $sDynUid, Criteria::NOT_EQUAL); $oCriteria1->add( ContentPeer::CON_VALUE, $sNameDyanform ); $oCriteria1->add( ContentPeer::CON_LANG, SYS_LANG ); + $oCriteria1->add( DynaformPeer::PRO_UID, $sProUid); + $oCriteria1->addJoin( ContentPeer::CON_ID, DynaformPeer::DYN_UID, Criteria::INNER_JOIN ); $oDataset1 = ContentPeer::doSelectRS( $oCriteria1 ); $oDataset1->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset1->next(); $aRow1 = $oDataset1->getRow(); - if ($aRow1['DYNAFORMS']) { + if ($aRow1['DYNAFORMS'] == 1) { $flag = false; break; } diff --git a/workflow/engine/js/dynaformEditor/core/dynaformEditor.js b/workflow/engine/js/dynaformEditor/core/dynaformEditor.js old mode 100644 new mode 100755 index 3323e41ed..b25401c9b --- a/workflow/engine/js/dynaformEditor/core/dynaformEditor.js +++ b/workflow/engine/js/dynaformEditor/core/dynaformEditor.js @@ -856,6 +856,13 @@ var dynaformEditor={ /*getField("ENABLETEMPLATE","dynaforms_Properties").checked=(prop.ENABLETEMPLATE=="1");*/ getField("MODE","dynaforms_Properties").value=prop.MODE; }, + refreshPropertiesDynTitle:function() + { + var form=this.views["properties"].getElementsByTagName("form")[0]; + var prop=this.ajax.get_properties(this.A,this.dynUid); + getField("A","dynaforms_Properties").value=prop.A; + getField("DYN_TITLE","dynaforms_Properties").value=prop.DYN_TITLE; + }, // Internal functions runScripts:function(scripts) { diff --git a/workflow/engine/methods/dynaforms/dynaforms_Ajax.php b/workflow/engine/methods/dynaforms/dynaforms_Ajax.php index 6ba97be6b..5d21861c2 100755 --- a/workflow/engine/methods/dynaforms/dynaforms_Ajax.php +++ b/workflow/engine/methods/dynaforms/dynaforms_Ajax.php @@ -26,6 +26,11 @@ * * @author David Callizaya */ +if (isset($_POST['dynaformName'])) { + $dynaForm = new Dynaform(); + $res = $dynaForm->verifyExistingName($_POST['dynaformName'], $_POST['proUid'], $_POST['dynaformUid']); + print ($res) ? 1 : 0; +} global $_DBArray; if (! isset( $_DBArray )) { $_DBArray = array (); diff --git a/workflow/engine/xmlform/dynaforms/dynaforms_Properties.xml b/workflow/engine/xmlform/dynaforms/dynaforms_Properties.xml index 503644db5..15b117c1a 100755 --- a/workflow/engine/xmlform/dynaforms/dynaforms_Properties.xml +++ b/workflow/engine/xmlform/dynaforms/dynaforms_Properties.xml @@ -73,8 +73,34 @@ -