fixed dynaform save function (since it was over rided)

This commit is contained in:
safan
2010-12-16 06:27:13 +00:00
parent 630637846a
commit 960d1a1b7a
2 changed files with 104 additions and 55 deletions

View File

@@ -26,51 +26,84 @@ if (($RBAC_Response=$RBAC->userCanAccess("PM_FACTORY"))!=1) return $RBAC_Respons
//G::genericForceLogin( 'WF_MYINFO' , 'login/noViewPage', $urlLogin = 'login/login' ); //G::genericForceLogin( 'WF_MYINFO' , 'login/noViewPage', $urlLogin = 'login/login' );
require_once('classes/model/Dynaform.php'); require_once('classes/model/Dynaform.php');
require_once('classes/model/Content.php');
$dynaform = new dynaform();
$oJSON = new Services_JSON(); $oJSON = new Services_JSON();
if(isset($_POST['function']) && $_POST['function']=='lookforNameDynaform'){ if(isset($_POST['function']))
$existsName = $dynaform->verifyExistingName($_POST['NAMEDYNAFORM'], $_POST['proUid']); $sfunction =$_POST['function'];
print $existsName;
die();
}
if(isset($_POST['form']))
{
$aData = $_POST['form']; //For old process map form
if ($aData['DYN_UID']==='') unset($aData['DYN_UID']);
}
else else
{ $sfunction =$_POST['functions'];
$aData = $_POST; //For Extjs (Since we are not using form in ExtJS)
if(isset($aData['FIELDS'])) if($sfunction=='lookforNameDynaform'){
{ $snameDyanform=urldecode($_POST['NAMEDYNAFORM']);
//$test = '{"1":{"TESTID":"1223","PRO_VARIABLE":"saaa"},"2":{"TESTID":"420","PRO_VARIABLE":"sas"}}'; $sPRO_UID=urldecode($_POST['proUid']);
//$aData['FIELDS'] = (array)$oJSON->decode($test);
$oData = $oJSON->decode($_POST['FIELDS']); $oCriteria = new Criteria('workflow');
$aData['FIELDS'] = ''; $oCriteria->addSelectColumn ( DynaformPeer::DYN_UID );
for($i=0;$i<count($oData);$i++) $oCriteria->add(DynaformPeer::PRO_UID, $sPRO_UID);
{ $oDataset = DynaformPeer::doSelectRS($oCriteria);
$aData['FIELDS'][$i+1] = (array)$oData[$i]; $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
} $flag=true;
} while ($oDataset->next() && $flag) {
} $aRow = $oDataset->getRow();
//if ($aData['DYN_UID']==='') unset($aData['DYN_UID']);
$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;
if (isset($aData['DYN_UID']))
{
$dynaform->Save( $aData );
}
else
{
if (!isset($aData['ADD_TABLE'])||$aData['ADD_TABLE']==""){
$aFields=$dynaform->create( $aData );
} else {
$aFields=$dynaform->createFromPMTable( $aData, $aData['ADD_TABLE']);
} }
$aData['DYN_UID']=$dynaform->getDynUid(); print $flag;
$dynaform->update( $aData );
} } else {
echo $dynaform->getDynUid(); $dynaform = new dynaform();
if(isset($_POST['form']))
{
$aData = $_POST['form']; //For old process map form
if ($aData['DYN_UID']==='') unset($aData['DYN_UID']);
}
else
{
$aData = $_POST; //For Extjs (Since we are not using form in ExtJS)
if(isset($aData['FIELDS']))
{
//$test = '{"1":{"TESTID":"1223","PRO_VARIABLE":"saaa"},"2":{"TESTID":"420","PRO_VARIABLE":"sas"}}';
//$aData['FIELDS'] = (array)$oJSON->decode($test);
$oData = $oJSON->decode($_POST['FIELDS']);
$aData['FIELDS'] = '';
for($i=0;$i<count($oData);$i++)
{
$aData['FIELDS'][$i+1] = (array)$oData[$i];
}
}
}
//if ($aData['DYN_UID']==='') unset($aData['DYN_UID']);
if (isset($aData['DYN_UID']))
{
$dynaform->Save( $aData );
}
else
{
if (!isset($aData['ADD_TABLE'])||$aData['ADD_TABLE']==""){
$aFields=$dynaform->create( $aData );
} else {
$aFields=$dynaform->createFromPMTable( $aData, $aData['ADD_TABLE']);
}
$aData['DYN_UID']=$dynaform->getDynUid();
$dynaform->update( $aData );
}
echo $dynaform->getDynUid();
}
?> ?>

View File

@@ -445,27 +445,43 @@ ProcessOptions.prototype.addDynaform= function(_5625)
sDesc = getForm.DYN_DESCRIPTION[1]; sDesc = getForm.DYN_DESCRIPTION[1];
} }
Ext.Ajax.request({ Ext.Ajax.request({
url : '../dynaforms/dynaforms_Save.php', url : '../dynaforms/dynaforms_Save.php',
method: 'POST', method: 'POST',
params:{ params:{
ACTION : sAction, functions : 'lookforNameDynaform',
FIELDS : sData, NAMEDYNAFORM : sTitle,
ADD_TABLE : sAddTab, proUid : pro_uid
PRO_UID : pro_uid,
DYN_TITLE : sTitle,
DYN_TYPE : 'xmlform',
DYN_DESCRIPTION : sDesc
}, },
success: function(response) { success: function(response) {
Ext.MessageBox.alert ('Status','Dynaform has been created successfully.'); if(response.responseText == "1")
} {
}); Ext.Ajax.request({
formWindow.close(); url : '../dynaforms/dynaforms_Save.php',
taskDynaform.reload(); method: 'POST',
params:{
functions : '',
ACTION : sAction,
FIELDS : sData,
ADD_TABLE : sAddTab,
PRO_UID : pro_uid,
DYN_TITLE : sTitle,
DYN_TYPE : 'xmlform',
DYN_DESCRIPTION : sDesc
},
success: function(response) {
Ext.MessageBox.alert ('Status','Dynaform has been created successfully.');
}
});
formWindow.close();
taskDynaform.reload();
}
else
Ext.MessageBox.alert ('Status','There is an Dynaform with the same name in this process. It is not saving');
} }
},{ })
}
},{
text: 'Cancel', text: 'Cancel',
handler: function(){ handler: function(){
// when this button clicked, // when this button clicked,