diff --git a/app/controllers/eventos.js b/app/controllers/eventos.js new file mode 100644 index 0000000000..33151ab63c --- /dev/null +++ b/app/controllers/eventos.js @@ -0,0 +1,101 @@ +/** + * Module dependencies. + */ +var mongoose = require('mongoose'), + Eventos = mongoose.model('Eventos'), + _ = require('lodash'); + + +/** + * Find article by id + */ +exports.article = function(req, res, next, id) { + Eventos.load(id, function(err, article) { + if (err) return next(err); + if (!article) return next(new Error('Failed to load article ' + id)); + req.article = article; + next(); + }); +}; + + +/** + * Show cadastroEvento form + */ +exports.cadastro = function(req, res) { + res.render('eventos/cadastro', { + title: 'Sign up', + eventos: new Eventos() + }); +}; + +/** + * Create a article + */ +exports.create = function(req, res) { + var article = new Eventos(req.body); + article.user = req.user; + + article.save(function(err) { + if (err) { + return res.send('users/signup', { + errors: err.errors, + article: article + }); + } else { + res.jsonp(article); + } + }); +}; + +/** + * Update a article + */ +exports.update = function(req, res) { + var article = req.article; + + article = _.extend(article, req.body); + + article.save(function(err) { + res.jsonp(article); + }); +}; + +/** + * Delete an article + */ +exports.destroy = function(req, res) { + var article = req.article; + + article.remove(function(err) { + if (err) { + res.render('error', { + status: 500 + }); + } else { + res.jsonp(article); + } + }); +}; + +/** + * Show an article + */ +exports.show = function(req, res) { + res.jsonp(req.article); +}; + +/** + * List of Eventoss + */ +exports.all = function(req, res) { + Eventos.find().sort('-created').populate('user', 'name username').exec(function(err, articles) { + if (err) { + res.render('error', { + status: 500 + }); + } else { + res.jsonp(articles); + } + }); +}; \ No newline at end of file diff --git a/app/controllers/users.js b/app/controllers/users.js index 21b0685c22..d129e0e54f 100755 --- a/app/controllers/users.js +++ b/app/controllers/users.js @@ -31,6 +31,16 @@ exports.signup = function(req, res) { }); }; +/** + * Show cadastroBeneficiario form + */ +exports.cadastroBeneficiario = function(req, res) { + res.render('users/cadastroBeneficiario', { + title: 'Sign up', + user: new User() + }); +}; + /** * Logout */ diff --git a/app/models/eventos.js b/app/models/eventos.js new file mode 100644 index 0000000000..9ba025f888 --- /dev/null +++ b/app/models/eventos.js @@ -0,0 +1,42 @@ +/** + * Module dependencies. + */ +var mongoose = require('mongoose'), + config = require('../../config/config'), + Schema = mongoose.Schema; + + +/** + * Article Schema + */ +var EventosSchema = new Schema({ + created: { + type: Date, + default: Date.now + }, + name: { + type: String, + default: '', + trim: true + }, + locale: { + type: String, + default: '', + trim: true + }, + user: { + type: Schema.ObjectId, + ref: 'User' + } +}); + +/** + * Statics + */ +EventosSchema.statics.load = function(id, cb) { + this.findOne({ + _id: id + }).populate('user', 'name username').exec(cb); +}; + +mongoose.model('Eventos', EventosSchema); diff --git a/app/views/eventos/cadastro.jade b/app/views/eventos/cadastro.jade new file mode 100644 index 0000000000..2bccd97207 --- /dev/null +++ b/app/views/eventos/cadastro.jade @@ -0,0 +1,21 @@ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+
+
\ No newline at end of file diff --git a/app/views/includes/head.jade b/app/views/includes/head.jade index 8daa225acf..ffa1dc5d7d 100755 --- a/app/views/includes/head.jade +++ b/app/views/includes/head.jade @@ -16,11 +16,11 @@ head meta(property='og:type', content='website') meta(property='og:url', content='APP_URL') meta(property='og:image', content='APP_LOGO') - meta(property='og:site_name', content='MEAN - A Modern Stack') + meta(property='og:site_name', content='Causas do Bem') meta(property='fb:admins', content='APP_ADMIN') link(rel='stylesheet', href='/lib/bootstrap/docs/assets/css/bootstrap.css') - //- link(rel='stylesheet', href='/lib/bootstrap/dist/css/bootstrap-responsive.css') + link(rel='stylesheet', href='/lib/bootstrap/dist/css/bootstrap-responsive.css') link(rel='stylesheet', href='/css/common.css') link(rel='stylesheet', href='/css/views/articles.css') diff --git a/app/views/users/cadastro.jade b/app/views/users/cadastro.jade new file mode 100644 index 0000000000..4432412642 --- /dev/null +++ b/app/views/users/cadastro.jade @@ -0,0 +1,34 @@ +extends auth + +block auth + form.signup.form-horizontal(action="/cadastro", method="post") + .control-group + label.control-label(for='name') Nome: + .controls + input#name(type='text', name="name", placeholder='Nome', value=user.name) + + .control-group + label.control-label(for='email') Endereço: + .controls + input#email(type='text', name="email", placeholder='Endereço', value=user.email) + + .control-group + label.control-label(for='email') E-mail: + .controls + input#username(type='text', name="email", placeholder='E-mail', value=user.email) + + .control-group + label.control-label(for='password') Password + .controls + input#password(type='password', name="password", placeholder='Password', value=user.password) + + .control-group + label.control-label(for='cpf') CPF + .controls + input#password(type='text', name="cpf", placeholder='CPF', value=user.cpf) + + .form-actions + button.btn.btn-primary(type='submit') Sign up +   + | or  + a.show-login(href="/signin") login diff --git a/app/views/users/cadastroBeneficiario.jade b/app/views/users/cadastroBeneficiario.jade new file mode 100644 index 0000000000..878c23de47 --- /dev/null +++ b/app/views/users/cadastroBeneficiario.jade @@ -0,0 +1,34 @@ +extends auth + +block auth + form.signup.form-horizontal(action="/cadastroBeneficiario/create", method="post") + .control-group + label.control-label(for='name') Nome: + .controls + input#name(type='text', name="name", placeholder='Nome', value=user.name) + + .control-group + label.control-label(for='email') Endereço: + .controls + input#email(type='text', name="email", placeholder='Endereço', value=user.email) + + .control-group + label.control-label(for='email') E-mail: + .controls + input#username(type='text', name="email", placeholder='E-mail', value=user.email) + + .control-group + label.control-label(for='password') Password + .controls + input#password(type='password', name="password", placeholder='Password', value=user.password) + + .control-group + label.control-label(for='cpf') CPF + .controls + input#password(type='text', name="cpf", placeholder='CPF', value=user.cpf) + + .form-actions + button.btn.btn-primary(type='submit') Sign up +   + | or  + a.show-login(href="/signin") login diff --git a/config/routes.js b/config/routes.js index 5b428a9914..6be870cbee 100755 --- a/config/routes.js +++ b/config/routes.js @@ -3,11 +3,13 @@ module.exports = function(app, passport, auth) { var users = require('../app/controllers/users'); app.get('/signin', users.signin); app.get('/signup', users.signup); + app.get('/cadastro-beneficiario', users.cadastroBeneficiario); app.get('/signout', users.signout); app.get('/users/me', users.me); //Setting up the users api app.post('/users', users.create); + app.post('/cadastroBeneficiario/create', users.create); //Setting the local strategy route app.post('/users/session', passport.authenticate('local', { @@ -70,6 +72,18 @@ module.exports = function(app, passport, auth) { //Finish with setting up the articleId param app.param('articleId', articles.article); + //Eventos Routes + var eventos = require('../app/controllers/eventos'); + app.get('/eventos', eventos.all); + app.get('/eventos/cadastro', eventos.cadastro); + app.post('/eventos', auth.requiresLogin, eventos.create); + //app.get('/eventos/:articleId', eventos.show); + //app.put('/eventos/:articleId', auth.requiresLogin, auth.article.hasAuthorization, eventos.update); + //app.del('/eventos/:articleId', auth.requiresLogin, auth.article.hasAuthorization, eventos.destroy); + + //Finish with setting up the articleId param + //app.param('articleId', eventos.article); + //Home route var index = require('../app/controllers/index'); app.get('/', index.render); diff --git a/public/js/controllers/eventos.js b/public/js/controllers/eventos.js new file mode 100644 index 0000000000..2687573559 --- /dev/null +++ b/public/js/controllers/eventos.js @@ -0,0 +1,3 @@ +angular.module('mean.system').controller('IndexController', ['$scope', 'Global', function ($scope, Global) { + $scope.global = Global; +}]); \ No newline at end of file diff --git a/public/views/eventos/cadastro.html b/public/views/eventos/cadastro.html new file mode 100644 index 0000000000..cd9a8107f9 --- /dev/null +++ b/public/views/eventos/cadastro.html @@ -0,0 +1,21 @@ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+
+
\ No newline at end of file diff --git a/public/views/header.html b/public/views/header.html index 7567812559..f030f8e5d9 100644 --- a/public/views/header.html +++ b/public/views/header.html @@ -1,7 +1,7 @@