From 82049806262154bc5157c163965eb14839020141 Mon Sep 17 00:00:00 2001
From: David Baldwynn
Date: Wed, 1 Jul 2015 21:54:46 -0700
Subject: [PATCH] cleaned up submissions table
---
app/controllers/forms.server.controller.js | 74 ++--
app/models/form_submission.server.model.js | 7 +-
.../create-form.client.controller.js | 403 +++++++++---------
.../submit-form.client.controller.js | 18 +-
.../view-form-submission.client.controller.js | 12 +-
.../view-form.client.controller.js | 102 +++--
.../forms/views/directiveViews/form/form.html | 6 +-
.../forms/views/view-form.client.view.html | 24 +-
8 files changed, 333 insertions(+), 313 deletions(-)
diff --git a/app/controllers/forms.server.controller.js b/app/controllers/forms.server.controller.js
index ceec948e..6350409a 100644
--- a/app/controllers/forms.server.controller.js
+++ b/app/controllers/forms.server.controller.js
@@ -15,7 +15,7 @@ var mongoose = require('mongoose'),
_ = require('lodash');
/**
- * Create a new form manually
+ * Create a new form
*/
exports.create = function(req, res) {
var form = new Form(req.body);
@@ -107,9 +107,9 @@ exports.createSubmission = function(req, res) {
submission.form_fields = req.body.form_fields;
submission.title = req.body.title;
submission.timeElapsed = req.body.timeElapsed;
+ console.log(req.body);
// submission.ipAddr = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
-
if (form.isGenerated){
fdfTemplate = form.convertToFDF();
} else {
@@ -120,9 +120,10 @@ exports.createSubmission = function(req, res) {
}
}
- fdfData = pdfFiller.fillFdfTemplate(fdfTemplate, submission.form_fields, null);
-
- submission.fdfData = fdfData;
+ if(form.autofillPDFs){
+ fdfData = pdfFiller.fillFdfTemplate(fdfTemplate, submission.form_fields, null);
+ submission.fdfData = fdfData;
+ }
submission.save(function(err){
if (err) {
@@ -146,10 +147,12 @@ exports.listSubmissions = function(req, res) {
FormSubmission.find({ form: req.form }).populate('admin', 'form').exec(function(err, submissions) {
if (err) {
- res.status(400).send({
+ console.log(err);
+ res.status(500).send({
message: errorHandler.getErrorMessage(err)
});
} else {
+ console.log('hello');
res.json(submissions);
}
});
@@ -186,7 +189,7 @@ exports.delete = function(req, res) {
console.log('deleting form');
Form.remove({_id: form._id}, function(err) {
if (err) {
- res.status(400).send({
+ res.status(500).send({
message: err.message
});
} else {
@@ -228,39 +231,42 @@ exports.formByID = function(req, res, next, id) {
}
Form.findById(id).populate('admin').exec(function(err, form) {
- if (err) return next(err);
- if (!form) {
+ if (err) {
+ return next(err);
+ } else if (!form || form === null) {
res.status(404).send({
message: 'Form not found'
});
}
- if(!form.admin){
- form.admin = req.user;
- form.save(function(err) {
- if (err) {
- console.log(err);
- res.status(400).send({
- message: errorHandler.getErrorMessage(err)
- });
- } else {
- //Remove sensitive information from User object
- form.admin.password = null;
- form.admin.created = null;
- form.admin.salt = null;
+ else {
+ if(!form.admin){
+ form.admin = req.user;
+ form.save(function(err) {
+ if (err) {
+ console.log(err);
+ res.status(400).send({
+ message: errorHandler.getErrorMessage(err)
+ });
+ } else {
+ //Remove sensitive information from User object
+ form.admin.password = null;
+ form.admin.created = null;
+ form.admin.salt = null;
- req.form = form;
- next();
- }
- });
+ req.form = form;
+ next();
+ }
+ });
+ }
+
+ //Remove sensitive information from User object
+ form.admin.password = null;
+ form.admin.created = null;
+ form.admin.salt = null;
+
+ req.form = form;
+ next();
}
-
- //Remove sensitive information from User object
- form.admin.password = null;
- form.admin.created = null;
- form.admin.salt = null;
-
- req.form = form;
- next();
});
};
diff --git a/app/models/form_submission.server.model.js b/app/models/form_submission.server.model.js
index 847a1f95..c4b6c7fb 100644
--- a/app/models/form_submission.server.model.js
+++ b/app/models/form_submission.server.model.js
@@ -85,10 +85,10 @@ FormSubmissionSchema.pre('save', function (next) {
Form.findById(that.form, function(err, _form){
if(err) next( new Error(err.mesasge) );
- // that.title = _form.title;
+ that.title = _form.title;
// console.log(_form);
- if(true){ //_form.autofillPDFs){
+ if(_form.autofillPDFs){
dest_filename = _form.title.trim()+'_submission_'+Date.now()+'.pdf';
dest_path = path.join(config.pdfUploadPath, dest_filename);
@@ -97,7 +97,6 @@ FormSubmissionSchema.pre('save', function (next) {
// console.log('autofillPDFs check');
-
pdfFiller.fillForm(_form.pdf.path, dest_path, this.fdfData, function(err){
console.log('fdfData: \n');
console.log(that.fdfData);
@@ -113,13 +112,11 @@ FormSubmissionSchema.pre('save', function (next) {
next();
});
} else {
-
next();
}
});
-
});
mongoose.model('FormSubmission', FormSubmissionSchema);
\ No newline at end of file
diff --git a/public/modules/forms/controllers/create-form.client.controller.js b/public/modules/forms/controllers/create-form.client.controller.js
index a55c6144..8769606f 100644
--- a/public/modules/forms/controllers/create-form.client.controller.js
+++ b/public/modules/forms/controllers/create-form.client.controller.js
@@ -2,239 +2,232 @@
angular.module('forms').controller('EditFormController', ['$scope', '$state', '$rootScope', 'Upload', '$stateParams', 'FormFields', 'Forms', 'CurrentForm', '$modal', '$location',
function ($scope, $state, $rootScope, Upload, $stateParams, FormFields, Forms, CurrentForm, $modal, $location) {
- // Principal.identity().then(function(user){
- // $scope.authentication.user = user;
- // }).then(function(){
- // console.log('aeouaoeuaoeuaou');
- // console.log('isAuthenticated(): '+Principal.isAuthenticated());\
-
- $scope.isNewForm = false;
+
+ $scope.isNewForm = false;
+ $scope.pdfLoading = false;
+ var _current_upload = null;
+ $scope.log = '';
+
+ // Get current form if it exists, or create new one
+ if($stateParams.formId){
+ $scope.form = {};
+ var _form = Forms.get({ formId: $stateParams.formId}, function(form){
+ _form.pdf = form.pdf;
+ _form.$save();
+
+ $scope.form = angular.fromJson(angular.toJson(_form));
+ console.log(JSON.stringify($scope.form.pdf));
+ });
+ } else {
+ $scope.form = {};
+ $scope.form.form_fields = [];
+ $scope.isNewForm = true;
+ }
+
+ //PDF Functions
+ $scope.cancelUpload = function(){
+ _current_upload.abort();
$scope.pdfLoading = false;
- var _current_upload = null;
- $scope.log = '';
+ };
- // Get current form if it exists, or create new one
- if($stateParams.formId){
- $scope.form = {};
- var _form = Forms.get({ formId: $stateParams.formId}, function(form){
- _form.pdf = form.pdf;
- _form.$save();
+ $scope.removePDF = function(){
+ $scope.form.pdf = null;
+ $scope.isGenerated = false;
+ $scope.autofillPDFs = false;
- $scope.form = angular.fromJson(angular.toJson(_form));
- console.log(JSON.stringify($scope.form.pdf));
+ console.log('form.pdf: '+$scope.form.pdf+' REMOVED');
+ };
+
+ $scope.uploadPDF = function(files) {
+
+ if (files && files.length) {
+ // for (var i = 0; i < files.length; i++) {
+ var file = files[0];
+ _current_upload = Upload.upload({
+ url: '/upload/pdf',
+ fields: {
+ 'user': $scope.user,
+ 'form': $scope.form
+ },
+ file: file
+ }).progress(function (evt) {
+ var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
+ $scope.log = 'progress: ' + progressPercentage + '% ' +
+ evt.config.file.name + '\n' + $scope.log;
+ $scope.pdfLoading = true;
+ }).success(function (data, status, headers, config) {
+ $scope.log = 'file ' + data.originalname + 'uploaded as '+ data.name +'. JSON: ' + JSON.stringify(data) + '\n' + $scope.log;
+ $scope.form.pdf = data;
+ $scope.pdfLoading = false;
+
+ console.log($scope.log);
+ console.log('$scope.pdf: '+$scope.form.pdf.name);
+ if(!$scope.$$phase) {
+ $scope.$apply();
+ }
+ }).error(function(err){
+ $scope.pdfLoading = false;
+ console.log('Error occured during upload.\n');
+ console.log(err);
});
- } else {
- $scope.form = {};
- $scope.form.form_fields = [];
- $scope.isNewForm = true;
+ // }
}
+ };
- //PDF Functions
- $scope.cancelUpload = function(){
- _current_upload.abort();
- $scope.pdfLoading = false;
- };
+ $scope.goToWithId = function(route, id) {
+ $state.go(route, {'formId': id}, {reload: true});
+ };
- $scope.removePDF = function(){
- $scope.form.pdf = null;
- $scope.isGenerated = false;
- $scope.autofillPDFs = false;
+ // Create new Form
+ $scope.createOrUpdate = function() {
- console.log('form.pdf: '+$scope.form.pdf+' REMOVED');
- };
-
- $scope.uploadPDF = function(files) {
-
- if (files && files.length) {
- // for (var i = 0; i < files.length; i++) {
- var file = files[0];
- _current_upload = Upload.upload({
- url: '/upload/pdf',
- fields: {
- 'user': $scope.user,
- 'form': $scope.form
- },
- file: file
- }).progress(function (evt) {
- var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
- $scope.log = 'progress: ' + progressPercentage + '% ' +
- evt.config.file.name + '\n' + $scope.log;
- $scope.pdfLoading = true;
- }).success(function (data, status, headers, config) {
- $scope.log = 'file ' + data.originalname + 'uploaded as '+ data.name +'. JSON: ' + JSON.stringify(data) + '\n' + $scope.log;
- $scope.form.pdf = data;
- $scope.pdfLoading = false;
-
- console.log($scope.log);
- console.log('$scope.pdf: '+$scope.form.pdf.name);
- if(!$scope.$$phase) {
- $scope.$apply();
- }
- }).error(function(err){
- $scope.pdfLoading = false;
- console.log('Error occured during upload.\n');
- console.log(err);
- });
- // }
- }
- };
-
- $scope.goToWithId = function(route, id) {
- $state.go(route, {'formId': id}, {reload: true});
- };
-
- // Create new Form
- $scope.createOrUpdate = function() {
-
- if($scope.isNewForm){
- // Create new Form object
- var form = new Forms($scope.form);
-
- form.$save(function(response) {
-
- console.log('form created');
- // console.log(response.pdf);
-
- // Clear form fields
- $scope.form = {};
-
- // Redirect after save
- $scope.goToWithId('viewForm', response._id);
-
- }, function(errorResponse) {
- console.log(errorResponse.data.message);
- $scope.error = errorResponse.data.message;
- });
- } else{
- console.log('update form');
- $scope.update();
- }
- };
-
- // Update existing Form
- $scope.update = function() {
+ if($scope.isNewForm){
+ // Create new Form object
var form = new Forms($scope.form);
- form.$update(function(response) {
- console.log('form updated');
+
+ form.$save(function(response) {
+
+ console.log('form created');
+ // console.log(response.pdf);
+
+ // Clear form fields
+ $scope.form = {};
+
+ // Redirect after save
$scope.goToWithId('viewForm', response._id);
- // $location.path('forms/' + response._id + '/admin');
+
}, function(errorResponse) {
console.log(errorResponse.data.message);
$scope.error = errorResponse.data.message;
});
+ } else{
+ console.log('update form');
+ $scope.update();
+ }
+ };
+
+ // Update existing Form
+ $scope.update = function() {
+ var form = new Forms($scope.form);
+ form.$update(function(response) {
+ console.log('form updated');
+ $scope.goToWithId('viewForm', response._id);
+ // $location.path('forms/' + response._id + '/admin');
+ }, function(errorResponse) {
+ console.log(errorResponse.data.message);
+ $scope.error = errorResponse.data.message;
+ });
+ };
+
+ //Populate AddField with all available form field types
+ $scope.addField = {};
+ $scope.addField.types = FormFields.fields;
+ $scope.addField.new = $scope.addField.types[0].name;
+ $scope.addField.lastAddedID = 0;
+
+ // preview form mode
+ $scope.previewMode = false;
+
+ // previewForm - for preview purposes, form will be copied into this
+ // otherwise, actual form might get manipulated in preview mode
+ $scope.previewForm = {};
+
+
+ // accordion settings
+ $scope.accordion = {};
+ $scope.accordion.oneAtATime = true;
+
+ // create new field button click
+ $scope.addNewField = function(){
+
+ // incr field_id counter
+ $scope.addField.lastAddedID++;
+
+ var newField = {
+ 'title' : 'New field - ' + ($scope.addField.lastAddedID),
+ 'fieldType' : $scope.addField.new,
+ 'fieldValue' : '',
+ 'required' : true,
+ 'disabled' : false
};
- //Populate AddField with all available form field types
- $scope.addField = {};
- $scope.addField.types = FormFields.fields;
- $scope.addField.new = $scope.addField.types[0].name;
- $scope.addField.lastAddedID = 0;
+ // put newField into fields array
+ $scope.form.form_fields.push(newField);
+ // console.log($scope.form.form_fields);
+ };
- // preview form mode
- $scope.previewMode = false;
-
- // previewForm - for preview purposes, form will be copied into this
- // otherwise, actual form might get manipulated in preview mode
- $scope.previewForm = {};
-
-
- // accordion settings
- $scope.accordion = {};
- $scope.accordion.oneAtATime = true;
-
- // create new field button click
- $scope.addNewField = function(){
-
- // incr field_id counter
- $scope.addField.lastAddedID++;
-
- var newField = {
- 'title' : 'New field - ' + ($scope.addField.lastAddedID),
- 'fieldType' : $scope.addField.new,
- 'fieldValue' : '',
- 'required' : true,
- 'disabled' : false
- };
-
- // put newField into fields array
- $scope.form.form_fields.push(newField);
- // console.log($scope.form.form_fields);
- };
-
- // deletes particular field on button click
- $scope.deleteField = function (field_id){
- for(var i = 0; i < $scope.form.form_fields.length; i++){
- if($scope.form.form_fields[i].field_id === field_id){
- $scope.form.form_fields.splice(i, 1);
- break;
- }
+ // deletes particular field on button click
+ $scope.deleteField = function (field_id){
+ for(var i = 0; i < $scope.form.form_fields.length; i++){
+ if($scope.form.form_fields[i].field_id === field_id){
+ $scope.form.form_fields.splice(i, 1);
+ break;
}
+ }
+ };
+
+ // add new option to the field
+ $scope.addOption = function (field){
+ if(!field.field_options)
+ field.field_options = [];
+
+ var lastOptionID = 0;
+
+ if(field.field_options[field.field_options.length-1])
+ lastOptionID = field.field_options[field.field_options.length-1].option_id;
+
+ // new option's id
+ var option_id = lastOptionID + 1;
+
+ var newOption = {
+ 'option_id' : option_id,
+ 'option_title' : 'Option ' + option_id,
+ 'option_value' : option_id
};
- // add new option to the field
- $scope.addOption = function (field){
- if(!field.field_options)
- field.field_options = [];
+ // put new option into field_options array
+ field.field_options.push(newOption);
+ };
- var lastOptionID = 0;
-
- if(field.field_options[field.field_options.length-1])
- lastOptionID = field.field_options[field.field_options.length-1].option_id;
-
- // new option's id
- var option_id = lastOptionID + 1;
-
- var newOption = {
- 'option_id' : option_id,
- 'option_title' : 'Option ' + option_id,
- 'option_value' : option_id
- };
-
- // put new option into field_options array
- field.field_options.push(newOption);
- };
-
- // delete particular option
- $scope.deleteOption = function (field, option){
- for(var i = 0; i < field.field_options.length; i++){
- if(field.field_options[i].option_id === option.option_id){
- field.field_options.splice(i, 1);
- break;
- }
+ // delete particular option
+ $scope.deleteOption = function (field, option){
+ for(var i = 0; i < field.field_options.length; i++){
+ if(field.field_options[i].option_id === option.option_id){
+ field.field_options.splice(i, 1);
+ break;
}
- };
+ }
+ };
- // preview form
- $scope.previewOn = function(){
- if($scope.form.form_fields === null || $scope.form.form_fields.length === 0) {
- var title = 'Error';
- var msg = 'No fields added yet, please add fields to the form before preview.';
- var btns = [{result:'ok', label: 'OK', cssClass: 'btn-primary'}];
+ // preview form
+ $scope.previewOn = function(){
+ if($scope.form.form_fields === null || $scope.form.form_fields.length === 0) {
+ var title = 'Error';
+ var msg = 'No fields added yet, please add fields to the form before preview.';
+ var btns = [{result:'ok', label: 'OK', cssClass: 'btn-primary'}];
- // $dialog.messageBox(title, msg, btns).open();
- }
- else {
- $scope.previewMode = !$scope.previewMode;
- $scope.form.submitted = false;
- angular.copy($scope.form, $scope.previewForm);
- }
- };
-
- // hide preview form, go back to create mode
- $scope.previewOff = function(){
+ // $dialog.messageBox(title, msg, btns).open();
+ }
+ else {
$scope.previewMode = !$scope.previewMode;
$scope.form.submitted = false;
- };
+ angular.copy($scope.form, $scope.previewForm);
+ }
+ };
- // decides whether field options block will be shown (true for dropdown and radio fields)
- $scope.showAddOptions = function (field){
- if(field.field_type === 'radio' || field.field_type === 'dropdown')
- return true;
- else
- return false;
- };
+ // hide preview form, go back to create mode
+ $scope.previewOff = function(){
+ $scope.previewMode = !$scope.previewMode;
+ $scope.form.submitted = false;
+ };
- // });
+ // decides whether field options block will be shown (true for dropdown and radio fields)
+ $scope.showAddOptions = function (field){
+ if(field.field_type === 'radio' || field.field_type === 'dropdown')
+ return true;
+ else
+ return false;
+ };
}
]);
\ No newline at end of file
diff --git a/public/modules/forms/controllers/submit-form.client.controller.js b/public/modules/forms/controllers/submit-form.client.controller.js
index 6e6405b3..307410f4 100644
--- a/public/modules/forms/controllers/submit-form.client.controller.js
+++ b/public/modules/forms/controllers/submit-form.client.controller.js
@@ -3,20 +3,10 @@
// Forms controller
angular.module('forms').controller('SubmitFormController', ['$scope', '$stateParams', '$state', 'Forms', 'CurrentForm',
function($scope, $stateParams, $state, Forms, CurrentForm) {
-
- // Principal.identity().then(function(user){
- // $scope.authentication.user = user;
- // }).then(function(){
- $scope.form = Forms.get({
- formId: $stateParams.formId
- });
- CurrentForm.setForm($scope.form);
-
-
- // console.log($scope.form);
-
-
- // });
+ $scope.form = Forms.get({
+ formId: $stateParams.formId
+ });
+ CurrentForm.setForm($scope.form);
}
]);
\ No newline at end of file
diff --git a/public/modules/forms/controllers/view-form-submission.client.controller.js b/public/modules/forms/controllers/view-form-submission.client.controller.js
index aa82a69f..c87a0ff2 100644
--- a/public/modules/forms/controllers/view-form-submission.client.controller.js
+++ b/public/modules/forms/controllers/view-form-submission.client.controller.js
@@ -33,9 +33,9 @@ angular.module('forms').controller('ViewSubmissionController', ['$scope', '$stat
$http.delete('/forms/'+$stateParams.formId+'submissions/'+$scope.submission._id).
success(function(data, status, headers){
- console.log('submission deleted successfully');
- alert('submission deleted..');
- });
+ console.log('submission deleted successfully');
+ alert('submission deleted..');
+ });
} else {
$scope.submission.$remove(function() {
@@ -43,9 +43,9 @@ angular.module('forms').controller('ViewSubmissionController', ['$scope', '$stat
$state.path('submissions');
$http.delete('/forms/'+$stateParams.formId+'/submissions/'+$scope.submission._id).
success(function(data, status, headers){
- console.log('submission deleted successfully');
- alert('submission deleted..');
- });
+ console.log('submission deleted successfully');
+ alert('submission deleted..');
+ });
});
}
};
diff --git a/public/modules/forms/controllers/view-form.client.controller.js b/public/modules/forms/controllers/view-form.client.controller.js
index 1ca2eaae..f2d5878c 100644
--- a/public/modules/forms/controllers/view-form.client.controller.js
+++ b/public/modules/forms/controllers/view-form.client.controller.js
@@ -4,51 +4,73 @@
angular.module('forms').controller('ViewFormController', ['$scope', '$stateParams', '$state', 'Forms', 'CurrentForm','$http',
function($scope, $stateParams, $state, Forms, CurrentForm, $http) {
- // view form submissions
- $scope.viewSubmissions = false;
+ // view form submissions
+ $scope.form = CurrentForm.getForm();
+ $scope.submissions = undefined;
+ $scope.viewSubmissions = false;
- //show submissions of Form
- $scope.showSubmissions = function(){
- $scope.viewSubmissions = true;
- }
- //hide submissions of Form
- $scope.hideSubmissions = function(){
- $scope.viewSubmissions = false;
- }
- // Return all user's Forms
- $scope.findAll = function() {
- $scope.forms = Forms.query();
- };
-
- // Find a specific Form
- $scope.findOne = function() {
- $scope.form = Forms.get({
- formId: $stateParams.formId
- });
- CurrentForm.setForm($scope.form);
- };
-
- // Remove existing Form
- $scope.remove = function() {
- console.log('hello');
- var form = CurrentForm.getForm()
- if(!form){
- form = $scope.form
- }
- $http.delete('/forms/'+$scope.form._id)
+ //show submissions of Form
+ $scope.showSubmissions = function(){
+ $scope.viewSubmissions = true;
+ if(!$scope.submissions){
+ $http.get('/forms/'+$scope.form._id+'/submissions')
.success(function(data, status, headers){
- console.log('form deleted successfully');
- alert('Form deleted..');
- $state.go('listForms');
- }).error(function(error){
- console.log('ERROR: Form could not be deleted.');
- console.error(error);
+ console.log(data);
+ $scope.submissions = data;
+ console.log('form submissions successfully fetched');
+ })
+ .error(function(err){
+ console.log('Could not fetch form submissions.\nError: '+err);
+ });
+ } else if(!$scope.submissions.length){
+ $http.get('/forms/'+$scope.form._id+'/submissions')
+ .success(function(data, status, headers){
+ $scope.submissions = data;
+ console.log('form submissions successfully fetched');
+ })
+ .error(function(err){
+ console.log('Could not fetch form submissions.\nError: '+err);
});
+ }
+ console.log($scope.submissions);
+ }
- };
+ //hide submissions of Form
+ $scope.hideSubmissions = function(){
+ $scope.viewSubmissions = false;
+ }
-
- // });
+ // Return all user's Forms
+ $scope.findAll = function() {
+ $scope.forms = Forms.query();
+ };
+
+ // Find a specific Form
+ $scope.findOne = function() {
+ $scope.form = Forms.get({
+ formId: $stateParams.formId
+ });
+ CurrentForm.setForm($scope.form);
+ };
+
+ // Remove existing Form
+ $scope.remove = function() {
+ console.log('hello');
+ var form = CurrentForm.getForm()
+ if(!form){
+ form = $scope.form
+ }
+ $http.delete('/forms/'+$scope.form._id)
+ .success(function(data, status, headers){
+ console.log('form deleted successfully');
+ alert('Form deleted..');
+ $state.go('listForms');
+ }).error(function(error){
+ console.log('ERROR: Form could not be deleted.');
+ console.error(error);
+ });
+
+ };
}
]);
\ No newline at end of file
diff --git a/public/modules/forms/views/directiveViews/form/form.html b/public/modules/forms/views/directiveViews/form/form.html
index 91529ba3..50dd96d2 100755
--- a/public/modules/forms/views/directiveViews/form/form.html
+++ b/public/modules/forms/views/directiveViews/form/form.html
@@ -41,14 +41,14 @@
diff --git a/public/modules/forms/views/view-form.client.view.html b/public/modules/forms/views/view-form.client.view.html
index db73b0e7..6a74f502 100644
--- a/public/modules/forms/views/view-form.client.view.html
+++ b/public/modules/forms/views/view-form.client.view.html
@@ -25,20 +25,32 @@
-
+
# |
-
- {{key}}
+ |
+ {{value.title}}
+ |
+
+ Time Elapsed
+ |
+
+ Date Submitted (UTC)
|
- {{$index+1}} |
-
- {{value}}
+ | {{$index+1}} |
+
+ {{value.fieldValue}}
+ |
+
+ {{submission.timeElapsed}}
+
+ |
+ {{submission.created | date:'yyyy-MM-dd HH:mm:ss'}}
|