# HG changeset patch # User Steve Losh # Date 1317269045 14400 # Node ID 0f766eda5d9f219cc09324e1819626514e105a50 # Parent 003077f697d6855a52437c9f0418e127dc62a983 Change passwords. diff -r 003077f697d6 -r 0f766eda5d9f resources/public/css/style.less --- a/resources/public/css/style.less Wed Sep 28 23:50:41 2011 -0400 +++ b/resources/public/css/style.less Thu Sep 29 00:04:05 2011 -0400 @@ -1,7 +1,7 @@ header { text-align: center; margin-top: 24px; - margin-bottom: 32px !important; + margin-bottom: 48px !important; padding-bottom: 12px; border-bottom: 2px solid #ddd; } @@ -28,9 +28,17 @@ .page-title { position: relative; - .logout { + .profile { position: absolute; - top: -6px; + top: -42px; right: 2px; + + form { + display: inline; + + input { + margin-left: 12px; + } + } } } diff -r 003077f697d6 -r 0f766eda5d9f src/newseasons/templates/main.clj --- a/src/newseasons/templates/main.clj Wed Sep 28 23:50:41 2011 -0400 +++ b/src/newseasons/templates/main.clj Thu Sep 29 00:04:05 2011 -0400 @@ -40,10 +40,13 @@ (defpartial inner [title & content] (base - - [:h2.sixteen.columns.page-title [:div.logout - (form-to [:post "/logout"] - (submit-button "Log Out"))]title] + [:h2.sixteen.columns.page-title + [:div.profile + (form-to [:post "/logout"] + (submit-button "Log Out")) + (form-to [:get "/password"] + (submit-button "Change Password"))] + title] content)) @@ -85,3 +88,11 @@ (inner (str "Search results for “" query "”") [:ul.sixteen.columns (map result results)])) + + +(defpartial password [] + (inner "Change Your Password" + [:section.sixteen.columns + (form-to [:post ""] + (field password-field "password" "New Password") + (submit-button "Change Password"))])) diff -r 003077f697d6 -r 0f766eda5d9f src/newseasons/views/main.clj --- a/src/newseasons/views/main.clj Wed Sep 28 23:50:41 2011 -0400 +++ b/src/newseasons/views/main.clj Thu Sep 29 00:04:05 2011 -0400 @@ -108,6 +108,24 @@ (resp/redirect "/"))) +; Change Password ------------------------------------------------------------- +(defpage [:get "/password"] [] + (login-required + (t/password))) + + +(defn- pass-valid? [password] + (not (empty? password))) + +(defpage [:post "/password"] {:keys [password]} + (login-required + (if-not (pass-valid? password) + (render "/password" password) + (do + (users/user-set-pass! (sess/get :email) password) + (resp/redirect "/"))))) + + ; Log Out --------------------------------------------------------------------- (defpage [:post "/logout"] [] (sess/remove! :email)