completed dynaform saving part

This commit is contained in:
safan
2010-12-07 11:29:45 +00:00
parent 609c5e0339
commit 720db63b61
2 changed files with 56 additions and 68 deletions

View File

@@ -26,57 +26,44 @@ if (($RBAC_Response=$RBAC->userCanAccess("PM_FACTORY"))!=1) return $RBAC_Respons
//G::genericForceLogin( 'WF_MYINFO' , 'login/noViewPage', $urlLogin = 'login/login' );
require_once('classes/model/Dynaform.php');
require_once('classes/model/Content.php');
if(isset($_POST['function']) && $_POST['function']=='lookforNameDynaform'){
$snameDyanform=urldecode($_POST['NAMEDYNAFORM']);
$sPRO_UID=urldecode($_POST['proUid']);
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn ( DynaformPeer::DYN_UID );
$oCriteria->add(DynaformPeer::PRO_UID, $sPRO_UID);
$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;
$dynaform = new dynaform();
$oJSON = new Services_JSON();
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"}}';
$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']);
}
print $flag;
} else {
$dynaform = new dynaform();
if ($_POST['form']['DYN_UID']==='') unset($_POST['form']['DYN_UID']);
if (isset($_POST['form']['DYN_UID']))
{
$dynaform->Save( $_POST['form'] );
}
else
{
if (!isset($_POST['form']['ADD_TABLE'])||$_POST['form']['ADD_TABLE']==""){
$aFields=$dynaform->create( $_POST['form'] );
} else {
$aFields=$dynaform->createFromPMTable( $_POST['form'], $_POST['form']['ADD_TABLE']);
}
$_POST['form']['DYN_UID']=$dynaform->getDynUid();
$dynaform->update( $_POST['form'] );
}
echo $dynaform->getDynUid();
}
$aData['DYN_UID']=$dynaform->getDynUid();
$dynaform->update( $aData );
}
echo $dynaform->getDynUid();
?>

View File

@@ -299,7 +299,7 @@ ProcessOptions.prototype.addDynaform= function(_5625)
triggerAction: 'all',
forceSelection: true,
fieldLabel: 'Create from a PM Table',
name: 'ADD_TABLE',
//name: 'ADD_TABLE',
displayField: 'ADD_TAB_NAME',
valueField: 'ADD_TAB_UID',
value : '---------------------------',
@@ -317,11 +317,17 @@ ProcessOptions.prototype.addDynaform= function(_5625)
}
});*/
Ext.getCmp("fieldsGrid").show();
Ext.getCmp("pmTable").setValue(record.data.ADD_TAB_UID);
this.setValue(record.data[this.valueField || this.displayField]);
this.collapse();
}
},{
xtype:'hidden',//<--hidden field
name:'ADD_TABLE',
id :'pmTable'
},
{
xtype : 'textfield',
fieldLabel: 'Title',
name : 'DYN_TITLE',
@@ -360,7 +366,7 @@ ProcessOptions.prototype.addDynaform= function(_5625)
maximizable: true,
width: 600,
//autoHeight: true,
height: 500,
height: 450,
layout: 'fit',
plain: true,
bodyStyle: 'padding:5px;',
@@ -379,24 +385,19 @@ ProcessOptions.prototype.addDynaform= function(_5625)
}
else
{
//sAction = getForm.ADD_TABLE;
var aFields = new Array();
var sAddTab = getForm.ADD_TABLE;
var aStoreFields = tablesFieldsStore.data.items;
var aData = '';
//Creating string in JSON format
for(var i=0;i<aStoreFields.length;i++)
{
/*aFields[i] = new Array();
aFields[i] = aStoreFields[i].data.FLD_NAME;
aFields[i] = aStoreFields[i].data.PRO_VARIABLE;*/
var fName = aStoreFields[i].data.FLD_NAME;
var pVar = aStoreFields[i].data.PRO_VARIABLE;
aData = '"FLD_NAME":"'+fName+'","PRO_VARIABLE":"'+pVar+'"';
aData += '"FLD_NAME":"'+fName+'","PRO_VARIABLE":"'+pVar+'",';
}
var sData = '[' +aData+ ']';
//var sFields = Ext.util.JSON.encode(aData);
var sData = '{'+aData.slice(0,aData.length-1)+'}';
sTitle = getForm.DYN_TITLE[1];
sDesc = getForm.DYN_DESCRIPTION[1];
var sAddTab = getForm.ADD_TABLE;
}
@@ -404,7 +405,7 @@ ProcessOptions.prototype.addDynaform= function(_5625)
url : '../dynaforms/dynaforms_Save.php',
method: 'POST',
params:{
//ACTION : sAction,
ACTION : sAction,
FIELDS : sData,
ADD_TABLE : sAddTab,
PRO_UID : pro_uid,