diff --git a/app/controllers/forms.server.controller.js b/app/controllers/forms.server.controller.js index e0538623..ee989396 100644 --- a/app/controllers/forms.server.controller.js +++ b/app/controllers/forms.server.controller.js @@ -115,6 +115,10 @@ exports.createSubmission = function(req, res) { if(ip && process.env.NODE_ENV !== 'development') submission.ipAddr = ip; } + if(req.device){ + submission.device = req.device; + } + if(form.autofillPDFs){ try { submission.fdfData = pdfFiller.convFieldJson2FDF(submission.form_fields); diff --git a/app/models/form_submission.server.model.js b/app/models/form_submission.server.model.js index 1818e118..05183635 100644 --- a/app/models/form_submission.server.model.js +++ b/app/models/form_submission.server.model.js @@ -71,6 +71,14 @@ var FormSubmissionSchema = new Schema({ geoLocation: { type: Schema.Types.Mixed, }, + device: { + type: { + type: String, + }, + name: { + type: String, + } + }, pdfFilePath: { type: Schema.Types.Mixed, diff --git a/config/express.js b/config/express.js index 23b672e1..7e94b7d4 100755 --- a/config/express.js +++ b/config/express.js @@ -23,6 +23,7 @@ var fs = require('fs-extra'), config = require('./config'), consolidate = require('consolidate'), path = require('path'), + device = require('express-device'), client = new raven.Client(config.DSN); @@ -128,6 +129,9 @@ module.exports = function(db) { app.use(passport.initialize()); app.use(passport.session()); + // setup express-device + app.use(device.capture()); + // connect flash for flash messages app.use(flash()); diff --git a/package.json b/package.json index 4c00f2e0..c4679038 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ }, "engines": { "node": "~5.0.0", - "npm": "~2.11.2" + "npm": "~3.3.6" }, "scripts": { "start": "grunt", @@ -85,7 +85,9 @@ "shortid": "^2.2.2", "soap": "^0.11.0", "swig": "~1.4.1", - "then-fs": "~2.0.0" + "then-fs": "~2.0.0", + "useragent": "~2.1.7", + "express-device" "~0.4.2" }, "devDependencies": { "node-mandrill": "^1.0.1", diff --git a/public/modules/forms/views/directiveViews/form/edit-submissions-form.client.view.html b/public/modules/forms/views/directiveViews/form/edit-submissions-form.client.view.html index 47aa14fc..d9a6588d 100644 --- a/public/modules/forms/views/directiveViews/form/edit-submissions-form.client.view.html +++ b/public/modules/forms/views/directiveViews/form/edit-submissions-form.client.view.html @@ -44,7 +44,10 @@ Time Elapsed - Geolacation + Device + + + Location IP Address @@ -81,7 +84,10 @@ {{row.timeElapsed}} - {{row.geoLocation}} + {{row.device.name}}, {{row.device.type}} + + + {{row.geoLocation.city}}, {{row.geoLocation.country}} {{row.ipAddr}}