diff options
| author | Jules Laplace <jules@okfoc.us> | 2015-01-07 18:28:46 -0500 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2015-01-07 18:28:46 -0500 |
| commit | 190a145cf1433fde570df1ac9784d4c5cea77d3d (patch) | |
| tree | f054584a854f493c5559cb25a6a0102831b1e6f4 | |
| parent | 5dd9742da846e8db863a951f1502d0edf5a3f90b (diff) | |
everything but saving
| -rw-r--r-- | server/lib/middleware.js | 2 | ||||
| -rw-r--r-- | server/lib/views/staff.js | 68 |
2 files changed, 69 insertions, 1 deletions
diff --git a/server/lib/middleware.js b/server/lib/middleware.js index 4848ab0..797d677 100644 --- a/server/lib/middleware.js +++ b/server/lib/middleware.js @@ -75,7 +75,7 @@ var middleware = { } next() }) - } + } else { req.project = null next() diff --git a/server/lib/views/staff.js b/server/lib/views/staff.js index c3739e9..ce676ed 100644 --- a/server/lib/views/staff.js +++ b/server/lib/views/staff.js @@ -120,6 +120,31 @@ var staff = module.exports = { next() }) }, + + ensurePlans: function(req, res, next){ + Plan.exec(function (err, plans) { + res.locals.plans = plans.map(staff.helpers.plan) + next() + }) + }, + ensurePlan: function (req, res, next) { + if (req.params.slug) { + Plan.findOne({ slug: req.params.slug }, function(err, plan){ + if (err || ! plan) { + console.error(err) + req.plan = null + } + else { + req.plan = plan + } + next() + }) + } + else { + req.plan = null + next() + } + }, ensureRecentProjects: function(req, res, next){ var dreq = { params: { sort: 'created_at', limit: 20, offset: 0 } } @@ -424,7 +449,43 @@ var staff = module.exports = { staff.media.show ); + + // + // plans + app.get('/staff/plans/', + middleware.ensureAuthenticated, + middleware.ensureIsStaff, + staff.middleware.ensurePlans, + + staff.plans.index + ); + app.get('/staff/plans/new', + middleware.ensureAuthenticated, + middleware.ensureIsStaff, + + staff.plans.new + ); + app.post('/staff/plans/new', + middleware.ensureAuthenticated, + middleware.ensureIsStaff, + + staff.plans.create + ); + app.get('/staff/plans/:slug', + middleware.ensureAuthenticated, + middleware.ensureIsStaff, + + staff.middleware.ensurePlan, + + staff.plans.edit + ); + app.post('/staff/plans/:slug', + middleware.ensureAuthenticated, + middleware.ensureIsStaff, + + staff.plans.update + ); }, paginate: function(req, res){ @@ -557,11 +618,18 @@ var staff = module.exports = { res.render('staff/plans/index') }, new: function(req, res){ + res.locals.plan = new Plan () res.render('staff/plans/new') }, edit: function(req, res){ res.render('staff/plans/edit') }, + create: function(req, res){ + res.redirect("/staff/plans/") + }, + update: function(req, res){ + res.redirect("/staff/plans/") + }, } } |
