Merged in darojas/processmaker/PM1030 (pull request #1259)
PM-1030 "2 dynaforms with same name" SOLVED
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
7
workflow/engine/js/dynaformEditor/core/dynaformEditor.js
Normal file → Executable file
7
workflow/engine/js/dynaformEditor/core/dynaformEditor.js
Normal file → Executable file
@@ -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)
|
||||
{
|
||||
|
||||
@@ -26,6 +26,11 @@
|
||||
*
|
||||
* @author David Callizaya <davidsantos@colosa.com>
|
||||
*/
|
||||
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 ();
|
||||
|
||||
@@ -73,8 +73,34 @@
|
||||
</PME_PROP_REVERT>
|
||||
<sdfsdf type="javascript">
|
||||
|
||||
|
||||
<![CDATA[
|
||||
leimnud.event.add(getField('DYN_TITLE'), 'blur', function()
|
||||
{
|
||||
var isTrue;
|
||||
oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : "../dynaforms/dynaforms_Ajax",
|
||||
method: 'POST',
|
||||
async : true,
|
||||
args : 'dynaformName=' + getField('DYN_TITLE').value + '&dynaformUid=' + getField('DYN_UID').value + '&proUid=' + getField('PRO_UID').value
|
||||
});
|
||||
oRPC.callback = function(oRPC) {
|
||||
var response = oRPC.xmlhttp.responseText;
|
||||
response = parseInt(response);
|
||||
var nDynaform = new input(getField('DYN_TITLE'));
|
||||
if (response){
|
||||
nDynaform.passed();
|
||||
} else {
|
||||
nDynaform.failed();
|
||||
nDynaform.focus();
|
||||
msgBox("@G::LoadTranslation(ID_EXIST_DYNAFORM)", "alert");
|
||||
dynaformEditor.refreshPropertiesDynTitle();
|
||||
}
|
||||
}.extend(this);
|
||||
isTrue = oRPC.make();
|
||||
return isTrue;
|
||||
});
|
||||
|
||||
|
||||
// added by gustavo cruz gustavo-at-colosa.com
|
||||
// function getElementsByClassNameCrossBrowser
|
||||
// CrossBrowser implemetation of the getElementsByClassName firefox function
|
||||
|
||||
Reference in New Issue
Block a user