aboutsummaryrefslogtreecommitdiffstats
path: root/routes
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2012-12-11 21:47:38 -0800
committerAdam Soltys <[email protected]>2012-12-11 22:10:46 -0800
commited4a64c60d96ed2ba377a73201c43b558b7f915b (patch)
treefa56757ebef86393a30d98e23193f468934d12af /routes
parent7f19424e402be418d18b77dab06f263ef450a146 (diff)
downloadcoinos-server-ed4a64c60d96ed2ba377a73201c43b558b7f915b.tar.gz
coinos-server-ed4a64c60d96ed2ba377a73201c43b558b7f915b.zip
Open registration, tweak directory CSS
Diffstat (limited to 'routes')
-rw-r--r--routes/sessions.coffee4
-rw-r--r--routes/users.coffee20
2 files changed, 17 insertions, 7 deletions
diff --git a/routes/sessions.coffee b/routes/sessions.coffee
index 50719394..70c18b4e 100644
--- a/routes/sessions.coffee
+++ b/routes/sessions.coffee
@@ -14,7 +14,9 @@ module.exports = (passport) ->
req.login(user, (err) ->
if (err)
return next(err)
- return res.redirect('/' + user.username)
+ url = req.headers['referer']
+ url = "/#{user.username}" unless /edit/.test(url)
+ return res.redirect(url)
)
)(req, res, next)
diff --git a/routes/users.coffee b/routes/users.coffee
index ea927583..d312dcf5 100644
--- a/routes/users.coffee
+++ b/routes/users.coffee
@@ -1,7 +1,7 @@
db = require("redis").createClient()
bcrypt = require('bcrypt')
-module.exports =
+module.exports = (sessions) ->
json: (req, res) ->
db.hgetall(req.params.user, (err, obj) ->
delete obj['password']
@@ -23,11 +23,19 @@ module.exports =
)
create: (req, res) ->
- bcrypt.hash(req.body.password, 12, (err, hash) ->
- req.body.password = hash
- db.hmset(req.body.username, req.body, ->
- res.redirect(req.body.username)
- )
+ db.hgetall(req.body.username, (err, obj) ->
+ if obj
+ res.redirect(req.body.username)
+ else
+ bcrypt.hash(req.body.password, 12, (err, hash) ->
+ db.hmset(
+ req.body.username,
+ {username: req.body.username, password: hash},
+ ->
+ req.headers['referer'] = "/#{req.body.username}/edit"
+ sessions.create(req, res)
+ )
+ )
)
edit: (req, res) ->