diff --git a/app/controllers/forms.server.controller.js b/app/controllers/forms.server.controller.js index 02ecb0de..7a12250e 100644 --- a/app/controllers/forms.server.controller.js +++ b/app/controllers/forms.server.controller.js @@ -34,17 +34,8 @@ exports.deleteSubmissions = function(req, res) { }); return; } - - form.save(function(formSaveErr){ - if(formSaveErr){ - res.status(400).send({ - message: errorHandler.getErrorMessage(formSaveErr) - }); - return; - } - res.status(200).send('Form submissions successfully deleted'); - - }); + + res.status(200).send('Form submissions successfully deleted'); }); }; diff --git a/app/models/form.server.model.js b/app/models/form.server.model.js index c6fd922b..4aa58f89 100644 --- a/app/models/form.server.model.js +++ b/app/models/form.server.model.js @@ -13,10 +13,6 @@ var mongoose = require('mongoose'), //Mongoose Models var FieldSchema = require('./form_field.server.model.js'); -var FormSubmissionSchema = require('./form_submission.server.model.js'), - FormSubmission = mongoose.model('FormSubmission', FormSubmissionSchema); - - var ButtonSchema = new Schema({ url: { type: String, @@ -97,18 +93,10 @@ var FormSchema = new Schema({ }, visitors: [VisitorDataSchema] }, - form_fields: { type: [FieldSchema], default: [] }, - submissions: { - type: [{ - type: Schema.Types.ObjectId, - ref: 'FormSubmission' - }], - default: [] - }, admin: { type: Schema.Types.ObjectId, ref: 'User', @@ -273,119 +261,6 @@ FormSchema.pre('save', function (next) { next(); }); -/* -FormSchema.pre('save', function (next) { - var that = this; - var _original; - - async.series([ - function(cb) { - that.constructor - .findOne({_id: that._id}).exec(function (err, original) { - if (err) { - return cb(err); - } else if (!original){ - return next(); - } else { - _original = original; - return cb(null); - } - }); - }, - function(cb) { - if(that.form_fields && that.isModified('form_fields') && formFieldsAllHaveIds(that.toObject().form_fields)){ - - var current_form = that.toObject(), - old_form_fields = _original.toObject().form_fields, - new_ids = _.map(_.map(current_form.form_fields, 'globalId'), function(id){ return ''+id;}), - old_ids = _.map(_.map(old_form_fields, 'globalId'), function(id){ return ''+id;}), - deletedIds = getDeletedIndexes(old_ids, new_ids); - - //Check if any form_fileds were deleted - if( deletedIds.length > 0 ){ - - var modifiedSubmissions = []; - - async.forEachOfSeries(deletedIds, - function (deletedIdIndex, key, cb_id) { - - var deleted_id = old_ids[deletedIdIndex]; - //Find FormSubmissions that contain field with _id equal to 'deleted_id' - FormSubmission. - find({ form: that, form_fields: {$elemMatch: {globalId: deleted_id} } }). - exec(function(err, submissions){ - if(err) { - return cb_id(err); - } - - //Preserve fields that have at least one submission - if (submissions.length) { - //Add submissions - modifiedSubmissions.push.apply(modifiedSubmissions, submissions); - } - - return cb_id(null); - }); - }, - function (err) { - if(err){ - console.error(err.message); - return cb(err); - } - - //Iterate through all submissions with modified form_fields - async.forEachOfSeries(modifiedSubmissions, function (submission, key, callback) { - - var submission_form_fields = submission.toObject().form_fields; - var currentform_form_fields = that.toObject().form_fields; - - //Iterate through ids of deleted fields - for (var i = 0; i < deletedIds.length; i++) { - var index = _.findIndex(submission_form_fields, function (field) { - var tmp_id = field.globalId + ''; - return tmp_id === old_ids[deletedIds[i]]; - }); - - var deletedField = submission_form_fields[index]; - - //Hide field if it exists - if (deletedField) { - - //Delete old form_field - submission_form_fields.splice(index, 1); - - deletedField.deletePreserved = true; - - //Move deleted form_field to start - submission_form_fields.unshift(deletedField); - currentform_form_fields.unshift(deletedField); - } - } - submission.form_fields = submission_form_fields; - that.form_fields = currentform_form_fields; - - return callback(null); - }, function (err) { - return cb(err); - }); - }); - } else { - return cb(null); - } - } else { - return cb(null); - } - } - ], - function(err){ - if(err){ - return next(err); - } - next(); - }); -}); -*/ - FormSchema.index({created: 1}); mongoose.model('Form', FormSchema); diff --git a/app/models/form_submission.server.model.js b/app/models/form_submission.server.model.js index 6e77529f..58c2a897 100644 --- a/app/models/form_submission.server.model.js +++ b/app/models/form_submission.server.model.js @@ -101,4 +101,4 @@ FormSubmissionSchema.plugin(timeStampPlugin, { useVirtual: false }); -module.exports = FormSubmissionSchema; +mongoose.model('FormSubmission', FormSubmissionSchema);