From 7342b4665d947e68c671b6b4e3711d2cde22879e Mon Sep 17 00:00:00 2001 From: varunzxzx Date: Sat, 7 Oct 2017 11:19:51 +0530 Subject: [PATCH] Shortid in form --- app/controllers/forms.server.controller.js | 1 + app/models/form.server.model.js | 11 ++++++++--- app/models/form_submission.server.model.js | 6 ++---- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app/controllers/forms.server.controller.js b/app/controllers/forms.server.controller.js index 1cad8f92..a49f013b 100644 --- a/app/controllers/forms.server.controller.js +++ b/app/controllers/forms.server.controller.js @@ -54,6 +54,7 @@ exports.createSubmission = function(req, res) { timeElapsed = req.body.timeElapsed; } var submission = new FormSubmission({ + form: req.body._id, title: req.body.title, form_fields: req.body.form_fields, timeElapsed: timeElapsed, diff --git a/app/models/form.server.model.js b/app/models/form.server.model.js index ab6a9b2f..a07c9d5c 100644 --- a/app/models/form.server.model.js +++ b/app/models/form.server.model.js @@ -11,6 +11,8 @@ var mongoose = require('mongoose'), Random = require('random-js'), mt = Random.engines.mt19937(); +var shortid = require('shortid'); + mt.autoSeed(); @@ -84,6 +86,10 @@ var formSchemaOptions = { * Form Schema */ var FormSchema = new Schema({ + _id: { + type: String, + default: shortid.generate + }, title: { type: String, trim: true, @@ -262,12 +268,12 @@ FormSchema.virtual('analytics.fields').get(function () { var totalViews = dropoffViews+continueViews; var continueRate = 0; var dropoffRate = 0; - + if(totalViews > 0){ continueRate = (continueViews/totalViews*100).toFixed(0); dropoffRate = (dropoffViews/totalViews*100).toFixed(0); } - + fieldDropoffs[i] = { dropoffViews: dropoffViews, responses: continueViews, @@ -442,4 +448,3 @@ FormSchema.pre('save', function (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 2eb0875f..e2029e4e 100644 --- a/app/models/form_submission.server.model.js +++ b/app/models/form_submission.server.model.js @@ -8,8 +8,6 @@ var mongoose = require('mongoose'), mUtilities = require('mongoose-utilities'), FieldSchema = require('./form_field.server.model.js'); -var shortid = require('shortid'); - /** * Form Submission Schema */ @@ -21,9 +19,9 @@ var FormSubmissionSchema = new Schema({ form_fields: [FieldSchema], form: { + type: Schema.Types.ObjectId, ref: 'Form', - type: String, - default: shortid.generate + required: true }, ipAddr: {