From ce3a8c78ec973f84fa38bac69ed708b1871e6eab Mon Sep 17 00:00:00 2001 From: Sahat Yalkabov Date: Fri, 6 Dec 2013 00:18:39 -0500 Subject: [PATCH] Added gender to user schema and radio buttons to account page --- config/passport.js | 14 ++++++-------- models/User.js | 1 + views/account.jade | 9 +++++++++ views/layout.jade | 2 +- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/config/passport.js b/config/passport.js index 32b495a0f9..bb16ef62d3 100755 --- a/config/passport.js +++ b/config/passport.js @@ -126,17 +126,15 @@ passport.use(new GoogleStrategy({ if (existingUser) { return done(null, existingUser); } - + console.log(profile); var user = new User({ - name: profile.displayName, - email: profile._json.email, - gender: profile._json.gender, - picture: profile._json.picture, - provider: profile.provider + google: profile.id }); - user.tokens.google = accessToken; - user[profile.provider] = profile.id; + user.profile.name = profile.displayName; + user.profile.email = profile._json.email; + user.profile.gender = profile._json.gender; + user.profile.picture = profile._json.picture; user.save(function(err) { done(err, user); diff --git a/models/User.js b/models/User.js index b471b13a70..fb73d85a1b 100644 --- a/models/User.js +++ b/models/User.js @@ -18,6 +18,7 @@ var userSchema = new mongoose.Schema({ profile: { name: { type: String, default: '' }, email: { type: String, default: '' }, + gender: { type: String, default: '' }, location: { type: String, default: '' }, website: { type: String, default: '' }, picture: { type: String, default: '' } diff --git a/views/account.jade b/views/account.jade index e9d5234bfc..33f213dd4c 100644 --- a/views/account.jade +++ b/views/account.jade @@ -14,6 +14,15 @@ block content label.col-sm-2.control-label(for='name') Name .col-sm-4 input.form-control(type='text', name='name', id='name', value='#{user.profile.name}') + .form-group + label.col-sm-2.control-label(for='name') Gender + .col-sm-4 + label.radio-inline + input(checked=user.profile.gender=='male', name='optionsRadios2', type='radio', value='option1') + span Male + label.radio-inline + input(checked=user.profile.gender=='female', name='optionsRadios2', type='radio', value='option2') + span Female .form-group label.col-sm-2.control-label(for='email') Email .col-sm-4 diff --git a/views/layout.jade b/views/layout.jade index 890b8c313f..877c4b9f67 100644 --- a/views/layout.jade +++ b/views/layout.jade @@ -41,7 +41,7 @@ html a(href='/signup') Create Account else li - a(href='/account') Welcome, #{user.firstName} #{user.lastName} + a(href='/account') #{user.profile.name} li a(href='/logout') Logout .container