summaryrefslogtreecommitdiff
path: root/server/lib/views/staff.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/lib/views/staff.js')
-rw-r--r--server/lib/views/staff.js68
1 files changed, 68 insertions, 0 deletions
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/")
+ },
}
}