diff --git a/app/controllers/forms.server.controller.js b/app/controllers/forms.server.controller.js
index d425544c..1b83a154 100644
--- a/app/controllers/forms.server.controller.js
+++ b/app/controllers/forms.server.controller.js
@@ -46,17 +46,16 @@ exports.deleteSubmissions = function(req, res) {
* Submit a form entry
*/
exports.createSubmission = function(req, res) {
- var form = req.form;
var timeElapsed = 0;
-
+
+ console.log(req.body);
if(typeof req.body.timeElapsed === 'number'){
timeElapsed = req.body.timeElapsed;
}
var submission = new FormSubmission({
- admin: form.admin._id,
- form: form._id,
- title: form.title,
+ form: req.body._id,
+ title: req.body.title,
form_fields: req.body.form_fields,
timeElapsed: timeElapsed,
percentageComplete: req.body.percentageComplete,
@@ -73,8 +72,8 @@ exports.createSubmission = function(req, res) {
message: errorHandler.getErrorMessage(err)
});
}
-
- form.submissions.push(submission);
+ res.status(200).send('Form submission successfully saved');
+ /*form.submissions.push(submission);
form.save(function (err) {
if (err) {
@@ -84,7 +83,7 @@ exports.createSubmission = function(req, res) {
});
}
res.status(200).send('Form submission successfully saved');
- });
+ });*/
});
};
@@ -94,10 +93,10 @@ exports.createSubmission = function(req, res) {
exports.listSubmissions = function(req, res) {
var _form = req.form;
- FormSubmission.find({ form: _form._id }).exec(function(err, _submissions) {
+ FormSubmission.find({ form: _form._id }).sort('-created').lean().exec(function(err, _submissions) {
if (err) {
console.error(err);
- res.status(400).send({
+ res.status(500).send({
message: errorHandler.getErrorMessage(err)
});
}
@@ -172,9 +171,6 @@ var readForRender = exports.readForRender = function(req, res) {
});
}
- delete newForm.submissions;
- //delete newForm.analytics;
- delete newForm.admin;
delete newForm.lastModified;
delete newForm.__v;
delete newForm.created;
@@ -190,7 +186,7 @@ var readForRender = exports.readForRender = function(req, res) {
* Update a form
*/
exports.update = function(req, res) {
- var form = req.form;
+ var form = req.form;
var updatedForm = req.body.form;
delete updatedForm.__v;
@@ -326,10 +322,9 @@ exports.formByIDFast = function(req, res, next, id) {
});
}
Form.findById(id)
- .select('title language form_fields startPage endPage hideFooter isLive design admin analytics.gaCode')
- .populate('admin')
- .cache()
.lean()
+ .cache()
+ .select('title language form_fields startPage endPage hideFooter isLive design analytics.gaCode')
.exec(function(err, form) {
if (err) {
return next(err);
diff --git a/app/models/form_submission.server.model.js b/app/models/form_submission.server.model.js
index 3b420f11..cf213bb8 100644
--- a/app/models/form_submission.server.model.js
+++ b/app/models/form_submission.server.model.js
@@ -16,12 +16,6 @@ var FormSubmissionSchema = new Schema({
type: String
},
- admin: {
- type: Schema.Types.ObjectId,
- ref: 'User',
- required: true
- },
-
form_fields: [FieldSchema],
form: {
@@ -59,20 +53,19 @@ var FormSubmissionSchema = new Schema({
});
FormSubmissionSchema.pre('save', function (next) {
- //Iterate through form fields and format data
+ //Iterate through form fields and format data
for(var i = 0; i < this.form_fields.length; i++){
if(this.form_fields[i].fieldType === 'dropdown'){
this.form_fields[i].fieldValue = this.form_fields[i].fieldValue.option_value;
}
}
- next();
+ next();
});
FormSubmissionSchema.path('form_fields', {
set: function(form_fields){
for (var i = 0; i < form_fields.length; i++) {
form_fields[i].isSubmission = true;
- form_fields[i].submissionId = form_fields[i]._id;
form_fields[i]._id = new mongoose.mongo.ObjectID();
}
return form_fields;
diff --git a/app/routes/forms.server.routes.js b/app/routes/forms.server.routes.js
index ce9b62dc..5695ae01 100644
--- a/app/routes/forms.server.routes.js
+++ b/app/routes/forms.server.routes.js
@@ -14,19 +14,22 @@ module.exports = function(app) {
app.route('/subdomain/:userSubdomain((?!api$)[A-Za-z0-9]+)/')
.get(core.form);
- app.route('/subdomain/:userSubdomain((?!api$)[A-Za-z0-9]+)/forms/:formId([a-zA-Z0-9]+)')
+ app.route('/subdomain/:userSubdomain((?!api$)[A-Za-z0-9]+)/forms/([a-zA-Z0-9]+)')
.post(forms.createSubmission);
app.route('/subdomain/:userSubdomain((?!api$)[A-Za-z0-9]+)/forms/:formIdFast([a-zA-Z0-9]+)/render')
.get(forms.readForRender);
app.route('/forms/:formId([a-zA-Z0-9]+)/render')
- .put(auth.isAuthenticatedOrApiKey, forms.hasAuthorization, forms.readForRender)
.get(auth.isAuthenticatedOrApiKey, forms.hasAuthorization, forms.readForRender);
} else {
app.route('/forms/:formIdFast([a-zA-Z0-9]+)/render')
.get(forms.readForRender);
}
+
+ app.route('/forms/:formIdFast([a-zA-Z0-9]+)')
+ .post(forms.createSubmission)
+
app.route('/forms')
.get(auth.isAuthenticatedOrApiKey, forms.list)
.post(auth.isAuthenticatedOrApiKey, forms.create);
@@ -46,4 +49,5 @@ module.exports = function(app) {
// Fast formId middleware
app.param('formIdFast', forms.formByIDFast);
+
};
diff --git a/app/views/form.server.view.html b/app/views/form.server.view.html
index 0bc127bd..a0b0b4cd 100644
--- a/app/views/form.server.view.html
+++ b/app/views/form.server.view.html
@@ -43,32 +43,9 @@
}
-
-
-
-
-
- {% for bowerCssFile in bowerCssFiles %}
-
- {% endfor %}
-
-
-
-
-
-
- {% for cssFile in cssFiles %}
-
- {% endfor %}
-
-
-
-
-
+
+
+
+
+
+
+ {% for bowerCssFile in bowerCssFiles %}
+
+ {% endfor %}
+
+
+
+
+
+
+ {% for cssFile in cssFiles %}
+
+ {% endfor %}
+
+
+
+
-
+
{% for jsFile in formJSFiles %}
@@ -124,11 +116,12 @@
{% endif %}
-
-
+ {% endif %}
+
+