variables.ElementName = getStoryPullQuoteCEName();
variables.CCAPIName = getCCAPIName(variables.elementName);
//variables.elementIDfield = "storyID";
if ( LEN(TRIM(arguments.uniqueID)) )
return application.npsStory.ceData.getCEData(variables.elementName, application.npsStory.appConfig.story.pullQuoteFieldNames.UUID, TRIM(arguments.uniqueID));
else
return application.npsStory.ceData.getCEData(variables.elementName);
var dataArray = ArrayNew(1);
var dataStruct = StructNew();
var retStruct = StructNew();
var saveStatus = StructNew();
// Check to see if there is data in the element to be updated
if ( StructKeyExists(arguments.elementData, application.npsStory.appConfig.story.pullQuoteFieldNames.UUID) AND LEN(TRIM(arguments.elementData[application.npsStory.appConfig.story.pullQuoteFieldNames.UUID])) )
{
dataArray = getStoryPullQuote(uniqueID=arguments.elementData[application.npsStory.appConfig.story.pullQuoteFieldNames.UUID]);
}
// If no record exists create one, if so update it
if ( NOT ArrayLen(dataArray) )
{
// Create the a new record
dataStruct = arguments.elementData;
// if no UUID field exists create one... but other we assume that a new UUID for this "new" data was already created
if ( NOT StructKeyExists(dataStruct, application.npsStory.appConfig.story.pullQuoteFieldNames.UUID) )
dataStruct[application.npsStory.appConfig.story.pullQuoteFieldNames.UUID] = createUUID();
// Set the update type
retStruct['type'] = 'created';
}
else
{
// Update the Record
// Set the existing values
dataStruct = dataArray[1].values;
// remove the UUID filed from the passed in data
if ( StructKeyExists(arguments.elementData, application.npsStory.appConfig.story.pullQuoteFieldNames.UUID) )
StructDelete(arguments.elementData, application.npsStory.appConfig.story.pullQuoteFieldNames.UUID);
// Override with the new values
// - Use the arguments.elementData to modify specific values for the keys in the dataStruct
StructAppend( dataStruct, arguments.elementData, true);
/*for ( key in arguments.elementData ) {
dataStruct[key] = arguments.elementData[key];
}*/
// Set the Page ID from the existing record
dataStruct.dataPageID = dataArray[1].PageID;
// Set the update type
retStruct['type'] = 'updated';
}
// Create the record
saveStatus = storyPullQuoteCCAPI(dataStruct);
// Build the status struct
if ( saveStatus['CONTENTUPDATED'] IS true )
retStruct['status'] = 'success';
else
retStruct['status'] = 'fail';
// Return the status struct
return retStruct;
var retStatusStruct = StructNew();
//application.ADF.utils.doDump(arguments.dataValues,"arguments.dataValues", false);
// Create the page
retStatusStruct = application.ADF.csContent.populateContent(variables.CCAPIName, arguments.dataValues);
/* retStatusStruct RETURNS: CONTENTUPDATED : true/false & CONTENTUPDATERESPONSE: Success:1 */