From 78b08af8c78c0bed44e9cd28e6937718aedfe104 Mon Sep 17 00:00:00 2001 From: David Baldwynn Date: Mon, 6 Jul 2015 18:21:43 -0700 Subject: [PATCH] made landing page pretty --- app/controllers/forms.server.controller.js | 5 +- app/models/form.server.model.js | 28 ++--- app/models/form_field.server.model.js | 4 +- app/models/user.server.model.js | 29 ++++- app/views/index.server.view.html | 3 +- app/views/layout.server.view.html | 1 + .../controllers/header.client.controller.js | 2 +- .../controllers/home.client.controller.js | 1 - public/modules/core/css/core.css | 52 ++++++--- .../core/views/header.client.view.html | 2 +- .../modules/core/views/home.client.view.html | 54 +++++---- .../forms/config/forms.client.config.js | 4 +- .../create-form.client.controller.js | 4 +- .../view-form.client.controller.js | 109 +++++++++++++----- public/modules/forms/css/form.css | 27 ++++- .../forms/views/list-forms.client.view.html | 53 +++++++-- .../forms/views/view-form.client.view.html | 24 ++-- .../users/config/users.client.config.js | 2 +- .../users/config/users.client.routes.js | 10 +- .../controllers/settings.client.controller.js | 12 +- .../settings/edit-profile.client.view.html | 18 ++- 21 files changed, 309 insertions(+), 135 deletions(-) diff --git a/app/controllers/forms.server.controller.js b/app/controllers/forms.server.controller.js index 70e53efc..c86bcf9a 100644 --- a/app/controllers/forms.server.controller.js +++ b/app/controllers/forms.server.controller.js @@ -160,8 +160,11 @@ exports.listSubmissions = function(req, res) { * Create a new form */ exports.create = function(req, res) { - var form = new Form(req.body); + var form = new Form(req.body.form); + form.admin = req.user; + console.log(form); + console.log(req.user); form.save(function(err) { if (err) { diff --git a/app/models/form.server.model.js b/app/models/form.server.model.js index c0066770..3d2f7ffa 100644 --- a/app/models/form.server.model.js +++ b/app/models/form.server.model.js @@ -29,11 +29,15 @@ var FormSchema = new Schema({ }, title: { type: String, - default: '', trim: true, unique: true, required: 'Title cannot be blank' }, + language: { + type: String, + enum: ['english', 'french', 'spanish'], + required: 'Form must have a language' + }, description: { type: String, default: '', @@ -64,7 +68,7 @@ var FormSchema = new Schema({ }, hideFooter: { type: Boolean, - default: true, + default: false, }, isGenerated: { type: Boolean, @@ -72,7 +76,7 @@ var FormSchema = new Schema({ }, isLive: { type: Boolean, - default: true, + default: false, }, autofillPDFs: { type: Boolean, @@ -91,24 +95,6 @@ FormSchema.pre('remove', function (next) { } }); -//Create folder for user's pdfs -FormSchema.pre('save', function (next) { - var newDestination = path.join(config.pdfUploadPath, this.admin.username.replace(/ /g,'')), - stat = null; - - try { - stat = fs.statSync(newDestination); - } catch (err) { - fs.mkdirSync(newDestination); - } - if (stat && !stat.isDirectory()) { - // console.log('Directory cannot be created'); - next( new Error('Directory cannot be created because an inode of a different type exists at "' + newDestination + '"') ); - }else{ - next(); - } -}); - //Update lastModified and created everytime we save FormSchema.pre('save', function (next) { var now = new Date(); diff --git a/app/models/form_field.server.model.js b/app/models/form_field.server.model.js index ba41aca4..6307d23d 100644 --- a/app/models/form_field.server.model.js +++ b/app/models/form_field.server.model.js @@ -59,9 +59,9 @@ var FormFieldSchema = new Schema({ type: String, default: '', }, - options: [{ + fieldOptions: [{ type: String - }] + }], required: { type: Boolean, default: true, diff --git a/app/models/user.server.model.js b/app/models/user.server.model.js index b815c6b9..4a612fdd 100755 --- a/app/models/user.server.model.js +++ b/app/models/user.server.model.js @@ -5,7 +5,10 @@ */ var mongoose = require('mongoose'), Schema = mongoose.Schema, - crypto = require('crypto'); + crypto = require('crypto'), + config = require('../../config/config'), + fs = require('fs-extra'), + path = require('path'); /** * A Validation function for local strategy properties @@ -75,6 +78,12 @@ var UserSchema = new Schema({ }], default: ['user'] }, + language: { + type: String, + enum: ['english', 'french', 'spanish'], + default: 'english', + required: 'User must have a language' + }, updated: { type: Date }, @@ -92,6 +101,24 @@ var UserSchema = new Schema({ token: String }); +//Create folder for user's pdfs +UserSchema.pre('save', function (next) { + var newDestination = path.join(config.pdfUploadPath, this.username.replace(/ /g,'')), + stat = null; + + try { + stat = fs.statSync(newDestination); + } catch (err) { + fs.mkdirSync(newDestination); + } + if (stat && !stat.isDirectory()) { + // console.log('Directory cannot be created'); + next( new Error('Directory cannot be created because an inode of a different type exists at "' + newDestination + '"') ); + }else{ + next(); + } +}); + /** * Hook a pre save method to hash the password */ diff --git a/app/views/index.server.view.html b/app/views/index.server.view.html index 515f440a..7776db97 100755 --- a/app/views/index.server.view.html +++ b/app/views/index.server.view.html @@ -1,5 +1,6 @@ {% extends 'layout.server.view.html' %} - {% block content %} + +
{% endblock %} diff --git a/app/views/layout.server.view.html b/app/views/layout.server.view.html index 4e3779fe..fb01ad3a 100755 --- a/app/views/layout.server.view.html +++ b/app/views/layout.server.view.html @@ -57,6 +57,7 @@
+ {% block content %}{% endblock %}
diff --git a/public/modules/core/controllers/header.client.controller.js b/public/modules/core/controllers/header.client.controller.js index c5e7e377..570efb84 100755 --- a/public/modules/core/controllers/header.client.controller.js +++ b/public/modules/core/controllers/header.client.controller.js @@ -4,7 +4,7 @@ angular.module('core').controller('HeaderController', ['$rootScope','$scope','Me function ($rootScope, $scope, Menus, $state, Auth, User) { $scope.user = $rootScope.user = Auth.ensureHasCurrentUser(User); $scope.authentication = $rootScope.authentication = Auth; - + $rootScope.languages = $scope.languages = ['english', 'french', 'spanish']; // console.log('isAuthenticated(): '+$scope.authentication.isAuthenticated()); $scope.isCollapsed = false; diff --git a/public/modules/core/controllers/home.client.controller.js b/public/modules/core/controllers/home.client.controller.js index 0f37d3cd..2bd3cbdd 100755 --- a/public/modules/core/controllers/home.client.controller.js +++ b/public/modules/core/controllers/home.client.controller.js @@ -5,7 +5,6 @@ angular.module('core').controller('HomeController', ['$rootScope', '$scope', 'Us function($rootScope, $scope, User, Auth, $state) { $scope = $rootScope; - console.log($rootScope.user); $scope.user = Auth.ensureHasCurrentUser(User); $scope.authentication = Auth; diff --git a/public/modules/core/css/core.css b/public/modules/core/css/core.css index 7665e154..9c6725d3 100755 --- a/public/modules/core/css/core.css +++ b/public/modules/core/css/core.css @@ -4,15 +4,25 @@ border: 0; } .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover { - background-color:#ddd; + /*background-color:#ddd;*/ } .navbar .navbar-brand { font-size: 1.6em; font-weight: 900; + /*color: #FA787E;*/ + color: rgb(300,131,131); +} +.navbar .navbar-brand:hover, .navbar .navbar-brand:visited { color: #FA787E; } -.navbar .navbar-brand:hover { - color: #000; +.navbar li.dropdown a.dropdown-toggle:hover > *{ + color: black; +} +.navbar li.dropdown a.dropdown-toggle > *{ + color: #d9d9d9; +} +.navbar li.dropdown.open a.dropdown-toggle:hover > *{ + color: white; } .navbar .navbar-brand span { text-decoration: underline; @@ -44,21 +54,31 @@ body.ng-cloak /*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: 0 50%; - /*background-position-top: 0px;*/ - background-size: cover; +section.hero-section .jumbotron { + background-color: transparent; + color:#fff; } + .image-background { + position: absolute; + top: 0; + left: 0; + height: 110%; + width: 100%; + z-index: -98; + background-image: url(http://yourplaceandmine.ie/wp-content/uploads/2014/09/Daingean-meeting-048_13-1080x675.jpg); + background-repeat: no-repeat; + background-position: 0 50%; + background-size: cover; + } - section > .jumbotron > .opacity-background { - background-color: rgba(71,61,61,0.5); - color: white; - padding: inherit; - height: inherit; - width: inherit; + .opacity-background { + position: absolute; + top: 0; + left: 0; + height: 110%; + width: 100%; + background-color: rgba(0,0,0,0.5); + z-index: -97; } \ No newline at end of file diff --git a/public/modules/core/views/header.client.view.html b/public/modules/core/views/header.client.view.html index fde993f1..0069a69f 100755 --- a/public/modules/core/views/header.client.view.html +++ b/public/modules/core/views/header.client.view.html @@ -9,7 +9,7 @@ - MedForm + MedForms