diff options
author | Lurifax <stianalexanderolsen@gmail.com> | 2013-04-29 14:49:39 +0200 |
---|---|---|
committer | Lurifax <stianalexanderolsen@gmail.com> | 2013-04-29 14:49:39 +0200 |
commit | e0a8e93d0e691c3939a121f65e87dece50f6d97d (patch) | |
tree | 263cd285ca4b06c7c13cc6f92e3cf7739be9bfc1 | |
parent | Merge branch 'master' of github.com:dennisse/Divid (diff) | |
parent | been working on the project model and posting projects (diff) | |
download | Divid-e0a8e93d0e691c3939a121f65e87dece50f6d97d.tar.gz |
Merge branch 'master' of github.com:dennisse/Divid
-rw-r--r-- | app.js | 11 | ||||
-rw-r--r-- | controllers/system.js | 13 | ||||
-rw-r--r-- | models/project.js | 39 | ||||
-rw-r--r-- | public/css/use.less | 6 | ||||
-rw-r--r-- | router.js | 3 | ||||
-rw-r--r-- | views/home.ejs | 37 | ||||
-rw-r--r-- | views/navbar.ejs | 4 | ||||
-rw-r--r-- | views/newproject.ejs | 2 |
8 files changed, 75 insertions, 40 deletions
@@ -3,17 +3,17 @@ * Module dependencies. */ var express = require('express') - , fs = require('fs') - , passport = require('passport'); + , fs = require('fs') + , passport = require('passport') + , mongoose = require('mongoose'); /** * App configuration */ -var port = process.env.PORT || 8001 +var port = process.env.PORT || 8000 , env = process.env.NODE_ENV || 'development' , config = require('./config/config')[env] - , auth = require('./config/middlewares/authorization') - , mongoose = require('mongoose'); + , auth = require('./config/middlewares/authorization'); // Bootstrap db connection mongoose.connect(config.db); @@ -24,6 +24,7 @@ db.once('open', function callback(){ }); // Bootstrap models +// This gets all model files in ./models var models_path = __dirname + '/models'; fs.readdirSync(models_path).forEach( function(file) { require(models_path + '/' + file); diff --git a/controllers/system.js b/controllers/system.js index cf205b9..e3a55bd 100644 --- a/controllers/system.js +++ b/controllers/system.js @@ -2,7 +2,8 @@ /** * Module dependencies */ - +var mongoose = require('mongoose') + , Project = mongoose.model('Project'); @@ -65,7 +66,15 @@ exports.project = function(req, res) { res.render('project', { title: 'Harepus', loggedin: true }); } -exports.newproject = function(req, res) { +exports.newProject = function(req, res) { res.render('newproject', { title: 'Nytt prosjekt', loggedin: true }); } +exports.postNewProject = function(req, res) { + var project = new Project(req.body); + project.save(function(err) { + if (err) return res.render('newproject', { title: 'Nytt prosjekt - en feil oppstod', loggedin: true, errors: err.errors, project: project }); + return res.redirect('/dashboard'); + }); +} + diff --git a/models/project.js b/models/project.js new file mode 100644 index 0000000..2424694 --- /dev/null +++ b/models/project.js @@ -0,0 +1,39 @@ + +/** + * Module dependencies + */ + +var mongoose = require('mongoose') + , Schema = mongoose.Schema; + + + + + +var ProjectSchema = new Schema({ + user: { type: String, ref: 'User' }, + name: { type: String, default: '', trim: true }, + description: {type: String, default: '', trim: true }, + currency: { type: String, default: 'kr', trim: true }, + public: { type: String, default: 'invite-only' }, + created: { type: Date, default: Date.now }, + updated: { type: Date, default: Date.now } +}); + + +// the four validations below only apply if you are signing up traditionally + +ProjectSchema.path('name').validate(function(name) { + // if you're authenticated by any of the oauth strategies (facebook, twitter), don't validate + return name.length; +}, 'Project name cannot be blank'); + +ProjectSchema.methods = { + + log: function() { + console.log('wat. wat logged this'); + } + +} + +mongoose.model('Project', ProjectSchema); diff --git a/public/css/use.less b/public/css/use.less index fb2cbf1..44e303c 100644 --- a/public/css/use.less +++ b/public/css/use.less @@ -169,7 +169,7 @@ margin:10px; margin-top:25px; /*border-top: 2px solid #9fd5df;*/ color: #FFFFFF; - background-color: #000000; + background-color: #ff9a00; box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.2); -webkit-box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.2); @@ -179,8 +179,8 @@ margin:10px; display: block; } -/*#footer { +#footer { background-color: #0D56A6; width:1170px; height:100px; -}*/ +} @@ -55,6 +55,7 @@ module.exports = function(app, passport, auth) { app.get('/project', auth.requiresLogin, system.project); - app.get('/project/new', auth.requiresLogin, system.newproject); + app.get('/project/new', auth.requiresLogin, system.newProject); + app.post('/project/new', auth.requiresLogin, system.postNewProject) }; diff --git a/views/home.ejs b/views/home.ejs index f2f7997..aeb0cda 100644 --- a/views/home.ejs +++ b/views/home.ejs @@ -1,6 +1,5 @@ <% include header %> <link rel="stylesheet" href="/css/devanim.css"> -<link rel="stylesheet" href="/css/use.css"> </head> <body> @@ -45,24 +44,24 @@ <div class="row"> <div class="span3 infobox" id="first"> <img class="infoimg" src="/img/laptop.png"> - <h4>Bruk mobil eller nett</h4> - <p>Uansett hva du benytter er Divid tilgjengelig. Divid er tilgjengelig på alle plattformer og gjør derfor deling av utgifter enklere mellom deg og andre.</p> + <h4>Bruk mobil eller nettleser</h4> + <p>Divid er en webapplikasjon og kan brukes på pc, nettbrett og mobil. Uansett hva du bruker er Divid tilgjengelig.</p> </div> <div class="span3 infobox" id="second"> <img class="infoimg" src="/img/addpeople.png"> <h4>Inviter de du vil</h4> - <p>Divid gjør deling av utgifter enklere. Alt du trenger for å delta i et prosjekt i er en epost-adresse!</p> + <p>Inviter deltakere til prosjekt ved å legge til epost-adressen deres eller send dem en link!</p> </div> <div class="span3 infobox" id="third"> <img class="infoimg" src="/img/overwatch.png"> - <h4>Ta kontroll</h4> - <p>I et prosjekt kan du ha mange deltagere som skal dele på den samme regningen. Send påminnelser til sene betalere og få varsel når deltakere betaler.</p> + <h4>Få oversikt</h4> + <p>Ikke la delte utgifter gå i glemmeboken. Send påminnelser og få varsel når deltakere betaler.</p> </div> </div> <div id="hvem" class="span12 content"> <div class="container last"> <div class="span6 sectionright"> - <h1>Hvem er denne tjenesten for?</h1> + <h1>Hvor kan Divid brukes?</h1> <h5>Divid er for alle. Å dele er sosialt og derfor holder Divid det sosialt.</h5> <ul> <li>Studenter - i kollektiv</li> @@ -81,13 +80,9 @@ <div id="hvor" class="span12 content"> <div class="container last"> <div class="span7 sectionleft"> - <h1>Når bruke Divid?</h1> - <p>Hvilke bruksområder kan jeg bruke Divid?</p> - <ul> - <li>Bruk appen fra din Iphone, Android eller windows mobile</li> - <li>Du kan legge til utgifter og utlegg underveis</li> - <li></li> - </ul> + <div class="span5 sectionleft tutorial"> + <iframe src="http://player.vimeo.com/video/41974181" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe> + </div> </div> <div class="span5 sectionright"> <img src="/img/iph.png" class="infoimg"> @@ -99,7 +94,7 @@ <div id="hvordan" class="span12 content"> <div class="container last"> <div class="span6 sectionright"> - <h1>Hvordan bruke divid</h1> <!-- Vi viser deg hvor enkelt det er å bruke Divid.--!> + <h1>Registrering</h1> <!-- Vi viser deg hvor enkelt det er å bruke Divid.--!> <ul> <h4><i class="icon-chevron-right icon-white"></i> Vi tar bryet og løser delingen rettferdig</h4> </br> @@ -110,19 +105,9 @@ <h4><i class="icon-chevron-right icon-white"></i> Ta bilde av kvitteringene eller en utlånt gjenstand med Divid bildebank for senere gjennomsyn</h4><!--Du slipper kvitteringer - ta bilde av de og kast de i søpla. Bildene lastes opp til Divids servere så har du de senere hvis det er bruk for de.--!> </ul> </div> - <div class="span5 sectionleft tutorial"> - <iframe src="http://player.vimeo.com/video/41974181" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe> - </div> - </div> - </div> - <div id="register" class="span12 content"> - <div class="container last"> - <div class="span6 sectionright"> - <h1>Registrering?</h1> <!--Stian mente du ville ha denne nederst? Jeg trodde den skulle være frittflytende over alt.--!> - </div> + </div> </div> - <hr> </div> </div><!-- /div.row --> </div><!-- /div#wrapper --> diff --git a/views/navbar.ejs b/views/navbar.ejs index 79cb55a..6bc2bbe 100644 --- a/views/navbar.ejs +++ b/views/navbar.ejs @@ -56,8 +56,8 @@ <div class="nav-collapse collapse"> <ul class="nav menu"> <li><a href="#faq">FAQ</a></li> - <li><a href="#kontakt">Kontakt</a></li> - <li><a href="#dashboard">Dashboard</a></li> + <li><a href="/project/new">Nytt prosjekt</a></li> + <li><a href="/dashboard">Dashboard</a></li> </ul> </div> </div> diff --git a/views/newproject.ejs b/views/newproject.ejs index 3d0ff7c..e83673f 100644 --- a/views/newproject.ejs +++ b/views/newproject.ejs @@ -13,7 +13,7 @@ <form class="form-horizontal" action="/project/new" method="post"> <fieldset> - <legend>Lag nytt prosjekt</legend> + <h1><legend><%= title %></legend></h1> <div class="control-group"> <label class="control-label">Prosjektnavn</label> |