diff options
Diffstat (limited to 'server/lib/views.js')
| -rw-r--r-- | server/lib/views.js | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/server/lib/views.js b/server/lib/views.js index b776582..4faf80f 100644 --- a/server/lib/views.js +++ b/server/lib/views.js @@ -3,6 +3,7 @@ var User = require('./schemas/User'), Project = require('./schemas/Project'), Documentation = require('./schemas/Documentation'), + Collaborator = require('./schemas/Collaborator'), config = require('../../config'), marked = require('marked'), util = require('./util'), @@ -19,29 +20,24 @@ marked.setOptions({ var views = {} +views.editor_new = function (req, res) { + if (! req.user) { + res.redirect('/') + } + else { + res.render('editor') + } +} + views.editor = function (req, res) { - if (! req.user && ! req.project) { + if (! req.project) { res.redirect('/') } - else if (! req.user || (req.project && String(req.user._id) !== String(req.project.user_id))) { - User.findOne({ _id: req.project.user_id }, function(err, user) { - if (err || ! user) { - console.error(err) - res.redirect('/') - return - } - res.render('reader', { - name: util.sanitize(req.project.name), - description: util.sanitize(req.project.description), - date: moment(req.project.updated_at).format("M/DD/YYYY"), - author: user.displayName, - authorlink: "/profile/" + user.username, - noui: !! (req.query.noui === '1'), - }) - }) + else if (req.isCollaborator || req.isOwner) { + res.render('editor') } else { - res.render('editor') + views.reader(req, res) } } |
