Bug 47: google doc list. The dynaforms can't be saved with the name of another existing dynaform
This commit is contained in:
@@ -464,6 +464,35 @@ class Dynaform extends BaseDynaform {
|
||||
$G_FORM->parseFile( $filename , SYS_LANG, true );
|
||||
|
||||
return $G_FORM->fields;
|
||||
}
|
||||
}
|
||||
|
||||
function verifyExistingName($sName,$sProUid){
|
||||
$sNameDyanform=urldecode($sName);
|
||||
$sProUid=urldecode($sProUid);
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->addSelectColumn ( DynaformPeer::DYN_UID );
|
||||
$oCriteria->add( DynaformPeer::PRO_UID, $sProUid );
|
||||
$oDataset = DynaformPeer::doSelectRS( $oCriteria );
|
||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$flag=true;
|
||||
while ($oDataset->next() && $flag) {
|
||||
$aRow = $oDataset->getRow();
|
||||
$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_VALUE, $sNameDyanform);
|
||||
$oCriteria1->add(ContentPeer::CON_LANG, SYS_LANG);
|
||||
$oDataset1 = ContentPeer::doSelectRS($oCriteria1);
|
||||
$oDataset1->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset1->next();
|
||||
$aRow1 = $oDataset1->getRow();
|
||||
if($aRow1['DYNAFORMS']) {
|
||||
$flag =false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return $flag;
|
||||
}
|
||||
|
||||
} // Dynaform
|
||||
|
||||
@@ -30,6 +30,12 @@ if (($RBAC_Response=$RBAC->userCanAccess("PM_FACTORY"))!=1) return $RBAC_Respons
|
||||
$dynaform = new dynaform();
|
||||
$oJSON = new Services_JSON();
|
||||
|
||||
if(isset($_POST['function']) && $_POST['function']=='lookforNameDynaform'){
|
||||
$existsName = $dynaform->verifyExistingName($_POST['NAMEDYNAFORM'], $_POST['proUid']);
|
||||
print $existsName;
|
||||
die();
|
||||
}
|
||||
|
||||
if(isset($_POST['form']))
|
||||
{
|
||||
$aData = $_POST['form']; //For old process map form
|
||||
|
||||
@@ -75,26 +75,28 @@
|
||||
}
|
||||
|
||||
function dynaformSave ( form, bOpen ) {
|
||||
var nameDynaForm = getField('DYN_TITLE').value;
|
||||
var proUid = getField('PRO_UID').value;
|
||||
var nameDynaForm = getField('DYN_TITLE').value;
|
||||
var proUid = getField('PRO_UID').value;
|
||||
|
||||
if(nameDynaForm==''){
|
||||
alert(G_STRINGS.ID_REQUIRED_NAME_DYNAFORM);return false;
|
||||
}
|
||||
if(nameDynaForm==''){
|
||||
// G_STRINGS.ID_REQUIRED_NAME_DYNAFORM
|
||||
msgBox('@G::LoadTranslation(ID_REQUIRED_NAME_DYNAFORM)','alert');
|
||||
return false;
|
||||
}
|
||||
|
||||
reqName=ajax_function(form.action,'lookforNameDynaform','NAMEDYNAFORM='+encodeURIComponent(nameDynaForm)+'&proUid='+encodeURIComponent(proUid),'POST') ;
|
||||
if(!reqName){
|
||||
alert(G_STRINGS.ID_EXIST_DYNAFORM);return false;
|
||||
}else{
|
||||
if (!bOpen) {
|
||||
reqName=ajax_function(form.action,'lookforNameDynaform','NAMEDYNAFORM='+encodeURIComponent(nameDynaForm)+'&proUid='+encodeURIComponent(proUid),'POST') ;
|
||||
if(!reqName){
|
||||
// alert(G_STRINGS.ID_EXIST_DYNAFORM);return false;
|
||||
msgBox('@G::LoadTranslation(ID_EXIST_DYNAFORM)','alert');
|
||||
}else{
|
||||
if (!bOpen) {
|
||||
ajax_post( form.action, form, 'POST' );
|
||||
lastPopupWindow.remove();
|
||||
@#PAGED_TABLE_ID.refresh();
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
ajax_post( form.action, form, 'POST', openDynaform );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -30,10 +30,17 @@
|
||||
<JS type="javascript"><![CDATA[
|
||||
|
||||
|
||||
function dynaformSaveas ( frm, bOpen ) {
|
||||
function dynaformSaveas ( frm ) {
|
||||
if(document.getElementById("form[DYN_TITLENEW]").value){
|
||||
ajax_post( frm.action, frm, 'POST' );
|
||||
currentPopupWindow.remove();
|
||||
var nameDynaForm = document.getElementById("form[DYN_TITLENEW]").value;
|
||||
var proUid = getField('PRO_UID').value;
|
||||
reqName=ajax_function('dynaforms_Save','lookforNameDynaform','NAMEDYNAFORM='+encodeURIComponent(nameDynaForm)+'&proUid='+encodeURIComponent(proUid),'POST') ;
|
||||
if(!reqName){
|
||||
msgBox('@G::LoadTranslation(ID_EXIST_DYNAFORM)','alert');
|
||||
}else {
|
||||
ajax_post( frm.action, frm, 'POST' );
|
||||
currentPopupWindow.remove();
|
||||
}
|
||||
}
|
||||
else {
|
||||
alert(G_STRINGS.ID_TITLE_EMPTY);
|
||||
|
||||
Reference in New Issue
Block a user