Ejemplo n.º 1
0
var controller = require('stackers');

var User = require('../../models/user');

var userAdminController = controller({
	path : 'admin/users',
	child : true
});

userAdminController.beforeEach(User.isLoggedIn);
userAdminController.beforeEach(function(req, res, next){
	if( req.user.can('users', 'edit')) next(); else res.send('403');
});

userAdminController.get('', function (req, res) {
	var query = User.find({},function(err, users){
		if(err) return res.send(500, err);

		res.data.users = users;
		res.render('admin/users/list', req);
	});
});

userAdminController.get('/:userId', function (req, res) {
	res.render('admin/users/info', req);
});

userAdminController.post('/:userId', function (req, res) {
	req.requestUser.role = req.body.role;
	req.requestUser.fullname = req.body.fullname;
	req.requestUser.email = req.body.email;
Ejemplo n.º 2
0
var controller = require('stackers'),
	config     = require('../../conf'),
	Promise    = require('bluebird'),
	moment     = require('moment');

var Events = require('../collections/events');

var homeController = controller({
	path : ''
});

homeController.beforeEach(function(req, res, next){
	res.data.analytics = config.analytics || '';

	next();
});

// Server routes
homeController.get('', function (req, res) {
	var qEvents = Events.findOne(function(event){
		return event.current === true &&
			event.type === Events.Types.MEETUP;
	});

	var qSessions = Events.find(function(event){
		return event.current === true &&
			event.type === Events.Types.CODING;
	});

	Promise.all([qEvents, qSessions])
	.spread(function(event, sessions) {
Ejemplo n.º 3
0
'use strict';
var controller = require('stackers'),
		superagent = require ('superagent'),
  	db = require('../lib/db');

var User = db.model('user');

var appController = controller({
	path : '/app'
});


appController.get('/', function (req, res) {
	res.render('app/index');
});

appController.post('/', function (req, res) {
	superagent
	  .post('https://api.conekta.io/charges')
		.auth('PRIVATE_API_KEY', '')
		.set('Content-type', 'application/json')
		.set('Accept', 'application/vnd.conekta-v0.3.0+json')
	  .send({
			description: 'Buying Item with id:001',
			amount: 500 * 100,
			currency: 'MXN',
			reference_id: '0001',// Este deberia de ser un id de la transaccion interna
			card: req.body.conektaTokenId
		 })
	  .end(function(error, conektaRes){
			if(error) return res.send(500,err);
Ejemplo n.º 4
0
var controller = require('stackers');
var url = require('url');

var User = require('../models/user');
var Section = require('../models/section');
var Post = require('../models/post');
var Comment = require('../models/comment');
var Notification = require('../models/notification');

var _ = require('underscore');

var currentController = controller({
  path : 'notification',
  child : true
});

currentController.get('/inbox', User.isLoggedIn, function (req, res) {
  Notification.find({toUser:req.user}).sort("-createdDate").exec(function(err,notifications){
    if(err)
      return res.send(500, err);

    req.notifications = notifications;
    res.render('notification/inbox', req);
  })
});

currentController.get('/:notificationId', User.isLoggedIn, function (req, res) {
  req.notification.read = true;
  req.notification.save(function(err){
    if(err)
      return res.send(500, err);
Ejemplo n.º 5
0
var controller = require('stackers'),
	_ =  require('underscore'),
	marked = require('marked');

var Users   = require('../collections/users');
var Tickets = require('../collections/tickets');
var Events  = require('../collections/events');

var profileController = controller({
	path : 'perfil'
});

profileController.param('userName', function (userName, done) {
	var users = new Users();

	var q = users.fetchOne(function (item) {
		return  item.username === userName;
	});

	q.then(function (user) {
		done(null, user || {});
	}).catch(function (err) {
		done(err);
	});
});

profileController.get('', function (req, res) {
	if( !(req.session.passport && req.session.passport.user && req.session.passport.user.username ) ){
		return res.send('Render log in options');
	}