diff options
| author | Adam Soltys <[email protected]> | 2014-08-08 11:33:43 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2014-08-08 11:33:43 -0700 |
| commit | 2cc86381a6f79cd729048b34a72b70562a7b0ace (patch) | |
| tree | c42dda997719ce544a4dea2bf15937d293ebfd59 /src/routes/sessions.coffee | |
| parent | 3082e274b70a93fdac8a9a63934252ed914fe406 (diff) | |
| parent | 6d5c3a56067b96bb5d97cca4a80bacbf78395b2c (diff) | |
| download | coinos-server-2cc86381a6f79cd729048b34a72b70562a7b0ace.tar.gz coinos-server-2cc86381a6f79cd729048b34a72b70562a7b0ace.zip | |
Merge branch 'code_reorg'
Diffstat (limited to 'src/routes/sessions.coffee')
| -rw-r--r-- | src/routes/sessions.coffee | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/routes/sessions.coffee b/src/routes/sessions.coffee new file mode 100644 index 00000000..67efba75 --- /dev/null +++ b/src/routes/sessions.coffee @@ -0,0 +1,35 @@ +module.exports = (passport) -> + new: (req, res) -> + res.render('sessions/new', + layout: 'layout', + js: (-> global.js), + css: (-> global.css) + ) + + create: (req, res, next) -> + passport.authenticate('local', (err, user, info) -> + if (err) + return next(err) + if (!user) + return res.render('sessions/new', + layout: 'layout', + js: (-> global.js), + css: (-> global.css), + badpw: true + ) + req.login(user, (err) -> + if (err) + return next(err) + + if /edit/.test(req.headers['referer']) + url = "/#{user.username}/edit" + else + url = "/#{user.username}" + + return res.redirect(url) + ) + )(req, res, next) + + destroy: (req, res) -> + req.logout() + res.redirect('/login') |
