summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2015-01-07 18:28:46 -0500
committerJules Laplace <jules@okfoc.us>2015-01-07 18:28:46 -0500
commit190a145cf1433fde570df1ac9784d4c5cea77d3d (patch)
treef054584a854f493c5559cb25a6a0102831b1e6f4
parent5dd9742da846e8db863a951f1502d0edf5a3f90b (diff)
everything but saving
-rw-r--r--server/lib/middleware.js2
-rw-r--r--server/lib/views/staff.js68
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/")
+ },
}
}