From f8665324ad4afc5db7f47d50f5091f418347a13e Mon Sep 17 00:00:00 2001 From: Quincy Larson Date: Mon, 10 Aug 2015 15:37:49 -0700 Subject: [PATCH] simplify user account and profile system for github locking --- server/boot/user.js | 10 +-- server/views/account/account.jade | 101 +++++++++++++++--------------- server/views/account/show.jade | 20 +++--- 3 files changed, 67 insertions(+), 64 deletions(-) diff --git a/server/boot/user.js b/server/boot/user.js index 6afddc9feb..77cd45ddfc 100644 --- a/server/boot/user.js +++ b/server/boot/user.js @@ -165,11 +165,11 @@ module.exports = function(app) { isMigrationGrandfathered: user.isMigrationGrandfathered, isGithubCool: user.isGithubCool, location: user.location, - githubProfile: user.githubProfile, - linkedinProfile: user.linkedinProfile, - codepenProfile: user.codepenProfile, - facebookProfile: user.facebookProfile, - twitterHandle: user.twitterHandle, + githubProfile: user.github, + linkedinProfile: user.linkedin, + googleProfile: user.google, + facebookProfile: user.facebook, + twitterHandle: user.twitter, bio: user.bio, picture: user.picture, progressTimestamps: user.progressTimestamps, diff --git a/server/views/account/account.jade b/server/views/account/account.jade index 526b604bf4..db839fe21d 100644 --- a/server/views/account/account.jade +++ b/server/views/account/account.jade @@ -3,74 +3,77 @@ block content script. var challengeName = 'Account View' .panel.panel-info(ng-controller="profileValidationController") - .panel-heading.text-center Update your portfolio here: + .panel-heading.text-center Manage your account here .panel-body if (!user.isGithubCool) .row .col-xs-12 - a.btn.btn-lg.btn-block.btn-github.btn-link-social(href='/auth/github') + a.btn.btn-lg.btn-block.btn-github.btn-link-social(href='/link/github') i.fa.fa-github - | Link GitHub to unlock profile + | Link my GitHub to unlock this profile else .row .col-xs-12 - a.btn.btn-lg.btn-block.btn-github.btn-link-social(href='/auth/github') + a.btn.btn-lg.btn-block.btn-github.btn-link-social(href='/link/github') i.fa.fa-github - | Update Github Info + | Update my profile from Github if (!user.twitter) .col-xs-12 - a.btn.btn-lg.btn-block.btn-twitter.btn-link-social.disabled(href='#') + a.btn.btn-lg.btn-block.btn-twitter.btn-link-social(href='/link/twitter') i.fa.fa-twitter | Add my Twitter to my profile - if (!user.google) - .col-xs-12 - a.btn.btn-lg.btn-block.btn-google-plus.btn-link-social.disabled(href='#') - i.fa.fa-google-plus - | Add my Google+ to my profile if (!user.facebook) .col-xs-12 - a.btn.btn-lg.btn-block.btn-facebook.btn-link-social.disabled(href='#') + a.btn.btn-lg.btn-block.btn-facebook.btn-link-social(href='/link/facebook') i.fa.fa-facebook | Add my Facebook to my profile if (!user.linkedin) .col-xs-12 - a.btn.btn-lg.btn-block.btn-linkedin.btn-link-social.disabled(href='#') + a.btn.btn-lg.btn-block.btn-linkedin.btn-link-social(href='/link/linkedin') i.fa.fa-linkedin | Add my LinkedIn to my profile - - .spacer - .spacer - .row - .col-xs-6.col-sm-4.col-sm-offset-2 - a.btn.btn-warning.btn-block.btn-link-social(href='/logout') - span.ion-android-exit - | Sign me out of Free Code Camp - .col-xs-6.col-sm-4 - a.btn.btn-danger.btn-block.confirm-deletion.btn-link-social - span.ion-trash-b - | Delete my Free Code Camp account - script. - $('.confirm-deletion').on("click", function() { - $('#modal-dialog').modal('show'); - }); - #modal-dialog.modal.animated.wobble - .modal-dialog - .modal-content - .modal-header - a.close(href='#', data-dismiss='modal', aria-hidden='true') × - h3 Are you really leaving us? - .modal-body - p Pro Tip: If you tweet feedback to  - a(href="https://twitter.com/intent/tweet?text=Hey%20@freecodecamp") @FreeCodeCamp - | , we'll act quickly on it! - .modal-footer - a.btn.btn-success.btn-block(href='#', data-dismiss='modal', aria-hidden='true') - span.ion-happy - | Nevermind, I'll stick around - br - form(action='/account/delete', method='POST') - input(type='hidden', name='_csrf', value=_csrf) - button.btn.btn-danger.btn-block(type='submit') - span.ion-trash-b - | Yes, Delete my account + if (!user.google) + .col-xs-12 + a.btn.btn-lg.btn-block.btn-google-plus.btn-link-social(href='/link/google') + i.fa.fa-google-plus + | Add my Google+ to my profile + .spacer + hr + .spacer + .col-xs-12 + a.btn.btn-lg.btn-block.btn-warning.btn-link-social(href='/logout') + span.ion-android-exit + | Sign me out of Free Code Camp + .col-xs-12 + a.btn.btn-lg.btn-block.btn-primary.btn-link-social(href='mailto:team@freecodecamp.com') + span.ion-email + | Email us at team@freecodecamp.com + .col-xs-12 + a.btn.btn-lg.btn-block.btn-danger.btn-link-social.confirm-deletion + span.ion-trash-b + | Delete my Free Code Camp account + script. + $('.confirm-deletion').on("click", function() { + $('#modal-dialog').modal('show'); + }); + #modal-dialog.modal.animated.wobble + .modal-dialog + .modal-content + .modal-header + a.close(href='#', data-dismiss='modal', aria-hidden='true') × + h3 Are you really leaving us? + .modal-body + p Pro Tip: If you tweet feedback to  + a(href="https://twitter.com/intent/tweet?text=Hey%20@freecodecamp") @FreeCodeCamp + | , we'll act quickly on it! + .modal-footer + a.btn.btn-success.btn-block(href='#', data-dismiss='modal', aria-hidden='true') + span.ion-happy + | Nevermind, I'll stick around + br + form(action='/account/delete', method='POST') + input(type='hidden', name='_csrf', value=_csrf) + button.btn.btn-danger.btn-block(type='submit') + span.ion-trash-b + | Yes, Delete my account diff --git a/server/views/account/show.jade b/server/views/account/show.jade index bc65c80b17..87e5d828a5 100644 --- a/server/views/account/show.jade +++ b/server/views/account/show.jade @@ -23,16 +23,16 @@ block content else img.img-center.img-responsive.public-profile-img(src='https://s3.amazonaws.com/freecodecamp/camper-image-placeholder.png') h1.text-center.negative-5.profile-social-icons - if (twitterHandle) - a.fa.fa-twitter-square.text-primary(title="@#{username}'s Twitter Profile", href="http://twitter.com/#{twitterHandle}", target='_blank') - if (githubProfile) - a.fa.fa-github-square.text-primary(title="@#{username}'s GitHub Profile", href=githubProfile, target='_blank') - if (codepenProfile) - a.ion-social-codepen.text-primary(title="@#{username}'s CodePen Profile", href=codepenProfile, target='_blank') - if (linkedinProfile) - a.fa.fa-linkedin-square.text-primary(title="@#{username}'s LinkedIn Profile", href=linkedinProfile, target='_blank') - if (facebookProfile) - a.fa.fa-facebook-square.text-primary(title="@#{username}'s Facebook Profile", href=facebookProfile, target='_blank') + if (twitter) + a.fa.fa-twitter-square.text-primary(title="@#{username}'s Twitter Profile", href=twitter, target='_blank') + if (github) + a.fa.fa-github-square.text-primary(title="@#{username}'s GitHub Profile", href=github, target='_blank') + if (linkedin) + a.fa.fa-linkedin-square.text-primary(title="@#{username}'s LinkedIn Profile", href=linkedin, target='_blank') + if (facebook) + a.fa.fa-facebook-square.text-primary(title="@#{username}'s Facebook Profile", href=facebook, target='_blank') + if (google) + a.fa.fa-google-square.text-primary(title="@#{username}'s Google Profile", href=google, target='_blank') .visible-md.visible-lg .col-xs-12.col-sm-12.col-md-4.text-justify h1.flat-top.wrappable= name