diff --git a/app/controllers/forms.server.controller.js b/app/controllers/forms.server.controller.js
index 1c6e45c6..f098fae3 100644
--- a/app/controllers/forms.server.controller.js
+++ b/app/controllers/forms.server.controller.js
@@ -112,13 +112,6 @@ exports.createSubmission = function(req, res) {
submission.fdfData = fdfData;
- //Create new file
- // pdfFiller.fillForm( form.pdf.path, config.pdfUploadPath+form.title+'/'+form.title+'_'+Date.now()+'_submission.pdf', fdfData, function() {
- // console.log('\n\n\n fdfData');
- // console.log(fdfData);
- // console.log('\n\n\n :\n');
- // console.log(req.body);
-
submission.save(function(err){
if (err) {
console.error(err);
@@ -129,7 +122,6 @@ exports.createSubmission = function(req, res) {
return res.status(200);
}
});
- // });
};
@@ -139,7 +131,7 @@ exports.createSubmission = function(req, res) {
exports.listSubmissions = function(req, res) {
var _form = req.form;
- FormSubmission.find({ form: req.form }).exec(function(err, submissions) {
+ FormSubmission.find({ form: req.form }).populate('admin', 'form').exec(function(err, submissions) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
diff --git a/app/models/form.server.model.js b/app/models/form.server.model.js
index 6f7ac0dd..dab0d4d6 100644
--- a/app/models/form.server.model.js
+++ b/app/models/form.server.model.js
@@ -33,7 +33,7 @@ var FormSchema = new Schema({
type: String,
default: '',
},
- form_fields: [FieldSchema],
+ form_fields: [{type: Schema.Types.Mixed}],
submissions: [{
type: Schema.Types.ObjectId,
@@ -141,9 +141,9 @@ FormSchema.pre('save', function (next) {
}
field.fieldValue = '';
- // field.created = Date.now();
- // field.required = true;
- //field.disabled = false;
+ field.created = Date.now();
+ field.required = true;
+ field.disabled = false;
// field = new Field(field);
// field.save(function(err) {
diff --git a/app/models/form_submission.server.model.js b/app/models/form_submission.server.model.js
index 225e7263..847a1f95 100644
--- a/app/models/form_submission.server.model.js
+++ b/app/models/form_submission.server.model.js
@@ -11,6 +11,8 @@ var mongoose = require('mongoose'),
config = require('../../config/config'),
path = require('path'),
Form = mongoose.model('Form'),
+ FieldSchema = require('./form_field.server.model.js'),
+ Field = mongoose.model('Field', FieldSchema),
fs = require('fs-extra');
/**
@@ -30,7 +32,7 @@ var FormSubmissionSchema = new Schema({
type: Schema.Types.ObjectId,
ref: 'User',
},
- form_fields: [Schema.Types.Mixed],
+ form_fields: [{type: Schema.Types.Mixed}],
form: {
type: Schema.Types.ObjectId,
ref: 'Form',
diff --git a/app/routes/forms.server.routes.js b/app/routes/forms.server.routes.js
index c271c943..4d240194 100644
--- a/app/routes/forms.server.routes.js
+++ b/app/routes/forms.server.routes.js
@@ -12,14 +12,17 @@ module.exports = function(app) {
.post(forms.uploadPDF);
app.route('/forms')
- .get(forms.list)
+ .get(users.requiresLogin, forms.hasAuthorization, forms.list)
.post(users.requiresLogin, forms.create);
+ app.route('/forms/:formId/submissions')
+ .get(forms.listSubmissions);
+
app.route('/forms/:formId')
.get(forms.read)
.post(forms.createSubmission)
.put(users.requiresLogin, forms.hasAuthorization, forms.update)
- .delete(users.requiresLogin, forms.delete);
+ .delete(users.requiresLogin, forms.hasAuthorization, forms.delete);
// Finish by binding the form middleware
app.param('formId', forms.formByID);
diff --git a/app/views/layout.server.view.html b/app/views/layout.server.view.html
index 70ac2341..dcc389d6 100755
--- a/app/views/layout.server.view.html
+++ b/app/views/layout.server.view.html
@@ -50,9 +50,9 @@
-
+
{% block content %}{% endblock %}
-
+
diff --git a/public/modules/core/css/core.css b/public/modules/core/css/core.css
index 8c0ec4be..cb916ee7 100755
--- a/public/modules/core/css/core.css
+++ b/public/modules/core/css/core.css
@@ -1,5 +1,4 @@
-
-
+/*Navbar Custom CSS*/
.navbar .navbar-brand {
font-size: 1.6em;
font-weight: 900;
@@ -10,7 +9,7 @@
}
.content {
- margin-top: 50px;
+ /*margin-top: 50px;*/
}
.undecorated-link:hover {
text-decoration: none;
@@ -30,17 +29,22 @@ body.ng-cloak
display: block;
}
-section > .jumbotron {
- padding-top: 15px;
+/*Hero Section CSS (for /home)*/
+section.hero-section {
+ /*padding-top:30px;*/
+ width: 100%;
+}
+section.hero-section > .jumbotron {
background-image: url(http://yourplaceandmine.ie/wp-content/uploads/2014/09/Daingean-meeting-048_13-1080x675.jpg);
background-repeat: no-repeat;
- background-position: 50% 50%;
+ background-position: 0 50%;
+ background-position-top: 0px;
background-size: cover;
}
section > .jumbotron > .opacity-background {
- background-color: rgba(70,51,51,0.5);
- height:inherit;
- width:inherit;
- padding:inherit;
+ background-color: rgba(71,61,61,0.5);
+ color: white;
+ padding: inherit;
+ height: inherit;
}
\ No newline at end of file
diff --git a/public/modules/core/views/home.client.view.html b/public/modules/core/views/home.client.view.html
index 929b1f14..f36e69da 100755
--- a/public/modules/core/views/home.client.view.html
+++ b/public/modules/core/views/home.client.view.html
@@ -1,7 +1,7 @@
-
+
-
+
diff --git a/public/modules/forms/controllers/view-form-submission.client.controller.js b/public/modules/forms/controllers/view-form-submission.client.controller.js
new file mode 100644
index 00000000..a7f55de3
--- /dev/null
+++ b/public/modules/forms/controllers/view-form-submission.client.controller.js
@@ -0,0 +1,56 @@
+'use strict';
+
+// submissions controller
+angular.module('forms').controller('ViewSubmissionController', ['$scope', '$stateParams', '$state', 'Submissions','$http',
+ function($scope, $stateParams, $state, Submissions, $http) {
+ $scope.submissionId = undefined;
+
+ // Principal.identity().then(function(user){
+ // $scope.authentication.user = user;
+ // }).then(function(){
+
+
+ // Return all form's submissions
+ $scope.findAll = function() {
+ $scope.submissions = submissions.query({
+ formId: $stateParams.formId
+ });
+ };
+
+ // Find a specific submission
+ $scope.findOne = function() {
+ $scope.submission = submissions.get({
+ submissionId: $scope.submissionId,
+ formId: $stateParams.formId
+ });
+ };
+
+
+ // Remove existing submission
+ $scope.remove = function(submission) {
+ if (submission) {
+ submission.$remove();
+
+ $http.delete('/forms/'+$stateParams.formId+'submissions/'+$scope.submission._id).
+ success(function(data, status, headers){
+ console.log('submission deleted successfully');
+ alert('submission deleted..');
+ });
+
+ } else {
+ $scope.submission.$remove(function() {
+ console.log('remove');
+ $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..');
+ });
+ });
+ }
+ };
+
+
+ // });
+ }
+]);
\ No newline at end of file
diff --git a/public/modules/forms/controllers/view-form.client.controller.js b/public/modules/forms/controllers/view-form.client.controller.js
index 9d27906f..cff5a7e7 100644
--- a/public/modules/forms/controllers/view-form.client.controller.js
+++ b/public/modules/forms/controllers/view-form.client.controller.js
@@ -35,7 +35,7 @@ angular.module('forms').controller('ViewFormController', ['$scope', '$stateParam
$state.go('listForms');
});
- } else {
+ } else{
$scope.form.$remove(function() {
console.log('remove');
$state.path('forms');
diff --git a/public/modules/forms/services/submissions.client.service.js b/public/modules/forms/services/submissions.client.service.js
new file mode 100644
index 00000000..c7b3043c
--- /dev/null
+++ b/public/modules/forms/services/submissions.client.service.js
@@ -0,0 +1,22 @@
+'use strict';
+
+//Submissions service used for communicating with the forms REST endpoints
+angular.module('forms').factory('Submissions', ['$resource',
+ function($resource) {
+ return $resource('forms/:formID/submissions/:submissionId', {
+ submissionId: '@_id',
+ formId: '@_id'
+ }, {
+ 'query' : {
+ method: 'GET',
+ isArray: true,
+ },
+ 'update': {
+ method: 'PUT'
+ },
+ 'save': {
+ method: 'POST'
+ }
+ });
+ }
+]);
\ No newline at end of file
diff --git a/public/modules/forms/views/view-form-submissions.view.html b/public/modules/forms/views/view-form-submissions.view.html
index 293aaa59..7b04b287 100644
--- a/public/modules/forms/views/view-form-submissions.view.html
+++ b/public/modules/forms/views/view-form-submissions.view.html
@@ -1,37 +1,16 @@
-