Comparing version 0.2.40 to 0.2.41
@@ -57,3 +57,4 @@ var mongoose = require('mongoose'), | ||
"fieldOptions": Schema.Types.Mixed, | ||
"required": {type: Boolean, required: true} | ||
"required": {type: Boolean, required: true}, | ||
"pageData":{type:Object,required:false} | ||
}, schemaOptions); | ||
@@ -60,0 +61,0 @@ |
@@ -540,2 +540,12 @@ var mongoose = require('mongoose'); | ||
deleteAppRefrences: function (options, params, cb) { | ||
console.log("called delete app refrences "); | ||
cb(); | ||
}, | ||
deleteSubmissions : function (options, params, cb){ | ||
console.log("called delete submissions "); | ||
cb(); | ||
}, | ||
setLogger: function (logger) { | ||
@@ -542,0 +552,0 @@ return logfns.setLogger(logger); |
@@ -67,3 +67,3 @@ var models = require('../common/models.js')(); | ||
}); | ||
}); | ||
}); | ||
} | ||
@@ -91,3 +91,2 @@ | ||
//AppsUsing | ||
fullyPopulatedForm = formToReturn.toJSON(); | ||
@@ -97,5 +96,2 @@ fullyPopulatedForm.pageRef = pageRef; | ||
fullyPopulatedForm.lastUpdatedTimestamp = fullyPopulatedForm.lastUpdated.getTime(); | ||
fullyPopulatedForm.appsUsingForm = 123; //TODO THIS IS MOCK DATA. NEEDS SOME LOGIC | ||
fullyPopulatedForm.submissionsToday = 1234; //TODO, THIS IS MOCK DATA> NEEDS LOGIC | ||
fullyPopulatedForm.submissionsTotal = 124125; //TODO, THIS IS MOCK DATA> NEEDS LOGIC | ||
@@ -102,0 +98,0 @@ if(!(options.getAllForms === true)){ |
@@ -26,2 +26,3 @@ var models = require('../common/models.js')(); | ||
var formFieldsToValidate = []; | ||
var skipValidation = options.skipvalidation; | ||
@@ -84,5 +85,8 @@ async.series([lookupSubmission, validateSubmission, saveSubmission], function(err){ | ||
formSubmission.formId = formSubmittedAgainst; | ||
formSubmission.masterFormTimestamp = submissionFlags.masterFormTimestamp; | ||
formSubmission.deviceFormTimestamp = submissionFlags.deviceFormTimestamp; | ||
if(! skipValidation){ | ||
formSubmission.formId = formSubmittedAgainst; | ||
formSubmission.masterFormTimestamp = submissionFlags.masterFormTimestamp; | ||
formSubmission.deviceFormTimestamp = submissionFlags.deviceFormTimestamp; | ||
} | ||
// always set to pending when creating or updating, and last updated time to now | ||
@@ -99,3 +103,8 @@ formSubmission.status = 'pending'; | ||
function validateSubmission(cb){ | ||
async.series([validateSubmissionParams, validateSubmissionData], cb); | ||
if(skipValidation){ | ||
validateSubmissionParams(cb); | ||
} | ||
else{ | ||
async.series([validateSubmissionParams, validateSubmissionData], cb); | ||
} | ||
} | ||
@@ -129,2 +138,3 @@ | ||
function validateSubmissionData(cb){ | ||
//console.log('validateSubmissionData'); | ||
@@ -146,2 +156,3 @@ //Submission has data | ||
//Form fields now fully populated.. time for some validation | ||
formSubmittedAgainst = updatedForm; | ||
@@ -152,3 +163,4 @@ var currentFormJSON = updatedForm.toJSON(); | ||
async.apply(checkFormForUpgrade, currentFormJSON), | ||
async.apply(validateDataAgainstCurrentForm, currentFormJSON) | ||
async.apply(validateDataAgainstCurrentForm, currentFormJSON), | ||
async.apply(updateFieldPageRefs,formSubmittedAgainst) | ||
], cb); | ||
@@ -159,2 +171,20 @@ }); | ||
function updateFieldPageRefs(form,cb){ | ||
async.each(form.pages,function (page,cb){ | ||
async.each(page.fields,function (field,cb){ | ||
if(field && field.pageData){ | ||
if(field.pageData._id === page._id && field.pageData.name === page.name){ | ||
return cb(); | ||
} | ||
} | ||
field.pageData = { | ||
"_id":page._id, | ||
"name": page.name | ||
}; | ||
field.save(cb); | ||
},cb); | ||
},cb); | ||
} | ||
function checkFormForUpgrade(currentFormJSON, cb){ | ||
@@ -210,2 +240,5 @@ | ||
if(skipValidation){ | ||
return cb(); | ||
} | ||
var engine = formsRulesEngine(currentFormJSON); | ||
@@ -212,0 +245,0 @@ engine.validateForm(submissionData, formSubmission, function (err, results) { |
@@ -22,2 +22,4 @@ var models = require('../common/models.js')(); | ||
async.series([validateParams, findSubmission, findPlaceholder, saveFileStream, deleteOldFile, updateSubmission], function(err){ | ||
@@ -126,3 +128,3 @@ if(err) return cb(err); | ||
var fileNameToSave = fileDetails.fileName; | ||
var fileGroupId = fileDetails.fileGroupId; | ||
var fileGroupId = submission.fileGroupId; | ||
@@ -160,3 +162,3 @@ var fileExtension = mime.extension(fileDetails.fileType); | ||
if(fileSavedResult.version > 1){ | ||
fileHandler.deleteFile(connections.databaseConnection, {"groupId" : submission.groupId, "version": fileSavedResult.version - 1}, cb); | ||
fileHandler.deleteFile(connections.databaseConnection, {"groupId" : submission.fileGroupId, "version": fileSavedResult.version - 1}, cb); | ||
} else { | ||
@@ -163,0 +165,0 @@ return cb(); |
{ | ||
"name": "fh-forms", | ||
"version": "0.2.40", | ||
"version": "0.2.41", | ||
"description": "Cloud Forms API for form submission", | ||
@@ -5,0 +5,0 @@ "main": "lib/forms.js", |
@@ -1,1 +0,1 @@ | ||
0.2.40-15 | ||
0.2.41-54 |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
223316
39
6056