if user
token = user.tokens.create
Notifier.deliver_lost_password(user, token)
- flash[:notice] = t 'user.lost_password.notice email on way'
+ @notice = t 'user.lost_password.notice email on way'
else
- flash[:notice] = t 'user.lost_password.notice email cannot find'
+ @notice = t 'user.lost_password.notice email cannot find'
end
end
end
def reset_password
@title = t 'user.reset_password.title'
- if params['token']
+ if params[:token]
token = UserToken.find_by_token(params[:token])
+
if token
- pass = OSM::make_token(8)
- user = token.user
- user.pass_crypt = pass
- user.pass_crypt_confirmation = pass
- user.active = true
- user.email_valid = true
- user.save!
- token.destroy
- Notifier.deliver_reset_password(user, pass)
- flash[:notice] = t 'user.reset_password.flash changed check mail'
+ if params[:user]
+ @user = token.user
+ @user.pass_crypt = params[:user][:pass_crypt]
+ @user.pass_crypt_confirmation = params[:user][:pass_crypt_confirmation]
+ @user.active = true
+ @user.email_valid = true
+
+ if @user.save
+ token.destroy
+ flash[:notice] = t 'user.reset_password.flash changed'
+ redirect_to :action => 'login'
+ end
+ end
else
flash[:notice] = t 'user.reset_password.flash token bad'
+ redirect_to :action => 'lost_password'
end
end
-
- redirect_to :action => 'login'
end
def new
subject I18n.t('notifier.lost_password.subject')
body :url => url_for(:host => SERVER_URL,
:controller => "user", :action => "reset_password",
- :email => user.email, :token => token.token)
- end
-
- def reset_password(user, pass)
- common_headers user
- subject I18n.t('notifier.reset_password.subject')
- body :pass => pass
+ :token => token.token)
end
def gpx_success(trace, possible_points)
+++ /dev/null
-<p><%= t 'notifier.reset_password_html.greeting' %></p>
-
-<p><%= t 'notifier.reset_password_html.reset', :new_password => @pass %></p>
+++ /dev/null
-<%= t 'notifier.reset_password_plain.greeting' %>
-
-<%= t 'notifier.reset_password_plain.reset', :new_password => @pass %>
--- /dev/null
+<h1><%= t 'user.reset_password.heading' %></h1>
+
+<%= error_messages_for :user %>
+
+<% form_tag do %>
+<%= hidden_field_tag(:token, params[:token]) %>
+<table id="loginForm">
+ <tr><td class="fieldName"><%= t 'user.reset_password.password' %></td><td><%= password_field(:user, :pass_crypt,{:size => 30, :maxlength => 255, :tabindex => 4}) %></td></tr>
+ <tr><td class="fieldName"><%= t 'user.reset_password.confirm password' %></td><td><%= password_field(:user, :pass_crypt_confirmation,{:size => 30, :maxlength => 255, :tabindex => 5}) %></td></tr>
+
+ <tr><td colspan=2> <!--vertical spacer--></td></tr>
+ <tr><td></td><td align=right><input type="submit" value="<%= t'user.reset_password.reset' %>" tabindex="6"></td></tr>
+</table>
+<% end %>
greeting: "Hi,"
hopefully_you: "Someone (possibly you) has asked for the password to be reset on this email address's openstreetmap.org account."
click_the_link: "If this is you, please click the link below to reset your password."
- reset_password:
- subject: "[OpenStreetMap] Password reset"
- reset_password_plain:
- greeting: "Hi,"
- reset: "Your password has been reset to {{new_password}}"
- reset_password_html:
- greeting: "Hi,"
- reset: "Your password has been reset to {{new_password}}"
message:
inbox:
title: "Inbox"
account not active: "Sorry, your account is not active yet.<br>Please click on the link in the account confirmation email to activate your account."
auth failure: "Sorry, couldn't log in with those details."
lost_password:
- title: "lost password"
+ title: "Lost password"
heading: "Forgotten Password?"
email address: "Email Address:"
new password button: "Send me a new password"
notice email on way: "Sorry you lost it :-( but an email is on its way so you can reset it soon."
notice email cannot find: "Couldn't find that email address, sorry."
reset_password:
- title: "reset password"
- flash changed check mail: "Your password has been changed and is on its way to your mailbox :-)"
+ title: "Reset password"
+ heading: "Reset Password"
+ password: "Password: "
+ confirm password: "Confirm Password: "
+ reset: "Reset Password"
+ flash changed: "Your password has been changed."
flash token bad: "Didn't find that token, check the URL maybe?"
new:
title: "Create account"