finish login i18n + controller

This commit is contained in:
wvengen 2013-02-05 12:54:55 +01:00
parent 419f5ef0ad
commit b12a906a74
6 changed files with 58 additions and 34 deletions

View file

@ -18,7 +18,7 @@ class LoginController < ApplicationController
logger.debug("Sent password reset email to #{user.email}.")
end
end
redirect_to login_url, :notice => "Wenn Deine E-Mail hier registiert ist bekommst Du jetzt eine Nachricht mit einem Passwort-Zurücksetzen-Link."
redirect_to login_url, :notice => I18n.t('login.reset_password.notice')
end
# Set a new password with a token from the password reminder email.
@ -34,7 +34,7 @@ class LoginController < ApplicationController
@user.reset_password_token = nil
@user.reset_password_expires = nil
@user.save
redirect_to login_url, :notice => "Dein Passwort wurde aktualisiert. Du kannst Dich jetzt anmelden."
redirect_to login_url, :notice => I18n.t('login.update_password.notice')
else
render :new_password
end
@ -44,10 +44,10 @@ class LoginController < ApplicationController
def accept_invitation
@invite = Invite.find_by_token(params[:token])
if (@invite.nil? || @invite.expires_at < Time.now)
flash[:error] = "Deine Einladung ist nicht (mehr) gültig."
flash[:error] = I18n.t('login.errors.invite_invalid')
render :action => 'login'
elsif @invite.group.nil?
flash[:error] = "Die Gruppe, in die Du eingeladen wurdest, existiert leider nicht mehr."
flash[:error] = I18n.t('login.errors.group_invalid')
render :action => 'login'
elsif (request.post?)
User.transaction do
@ -56,14 +56,14 @@ class LoginController < ApplicationController
if @user.save
Membership.new(:user => @user, :group => @invite.group).save!
@invite.destroy
redirect_to login_url, notice: "Herzlichen Glückwunsch, Dein Account wurde erstellt. Du kannst Dich nun einloggen."
redirect_to login_url, notice: I18n.t('login.accept_invitation.notice')
end
end
else
@user = User.new(:email => @invite.email)
end
rescue
flash[:error] = "Ein Fehler ist aufgetreten. Bitte erneut versuchen."
flash[:error] = I18n.t('errors.general_again')
end
protected
@ -71,7 +71,7 @@ class LoginController < ApplicationController
def validate_token
@user = User.find_by_id_and_reset_password_token(params[:id], params[:token])
if (@user.nil? || @user.reset_password_expires < Time.now)
flash.now.error = "Ungültiger oder abgelaufener Token. Bitte versuch es erneut."
flash[:error] = I18n.t('login.errors.token_invalid')
render :action => 'forgot_password'
end
end

View file

@ -2,22 +2,10 @@
:javascript
$('user_nick').focus();
- title "Einladung in die #{FoodsoftConfig[:name]}"
%p
Du bist eingeladen worden als Mitglied der Gruppe
%b= @invite.group.name
in der Foodcoop
= FoodsoftConfig[:name]
mitzumachen.
%p
Wenn Du mitmachen möchtest, dann fülle bitte dieses Formular aus.
%p
Deine Daten werden selbstverständlich nicht an Dritte, aus was auch immer für
Gründen, weitergeben. Du kannst auch entscheiden, wieviel deiner persönlichen
Daten für alle einsehbar sein sollen. 'Alle' bedeutet hier alle Foodcoop-Mitglieder.
Die Administratoren haben aber jederzeit Zugriff auf deine Daten.
- title t('.title', name: FoodsoftConfig[:name])
= t('.body', group: h(@invite.group.name), foodcoop: h(FoodsoftConfig[:name])).html_safe
= simple_form_for @user, url: accept_invitation_path do |form|
= render partial: 'shared/user_form_fields', locals: {f: form}
.form-actions
= submit_tag "Foodsoft Account erstellen", class: 'btn'
= submit_tag t('.submit'), class: 'btn'

View file

@ -1,12 +1,7 @@
- title "Passwort vergessen?"
%p
Kein Problem, Du kannst dir einfach ein neues Passwort zulegen.
%p
Dazu musst hier die E-Mail-Adresse eingeben, mit der Du in der FoodSoft angemeldet bist.
Du erhälst dann eine E-Mail mit weiteren Instruktionen.
- title t('.title')
= t('.body').html_safe
= simple_form_for User.new, url: {action: 'reset_password'} do |form|
= form.input :email
.form-actions
= form.submit "Neues Passwort anfordern", class: 'btn'
= link_to "oder abbrechen", :back
= form.submit t('.submit'), class: 'btn'
= link_to t('.cancel'), :back

View file

@ -1,7 +1,7 @@
- title "Neues Passwort"
%p=h "Bitte neues Passwort für #{@user.nick} eingeben."
- title t('.title')
= t('.body', user: h(@user.nick)).html_safe
= simple_form_for @user, :url => {:action => 'update_password', :id => @user.id, :token => @user.reset_password_token} do |form|
= form.input :password
= form.input :password_confirmation
.form-actions
= form.submit 'Neues Passwort speichern', class: 'btn'
= form.submit t('.submit'), class: 'btn'

View file

@ -120,6 +120,7 @@ de:
year: Jahr
errors: &errors
general: 'Ein Problem ist aufgetreten.'
general_again: 'Ein Fehler ist aufgetreten. Bitte erneut versuchen.'
format: ! '%{attribute} %{message}'
messages:
accepted: muss akzeptiert werden

View file

@ -0,0 +1,40 @@
de:
login:
accept_invitation:
title: 'Einlading in die %{name}'
body:
<p>Du bist eingeladen worden als Mitglied der Gruppe <b>%{group}</b>
in der Foodcoop %{foodcoop} mitzumachen.</p>
<p>Wenn Du mitmachen möchtest, dann fülle bitte dieses Formular aus.</p>
<p>Deine Daten werden selbstverständlich nicht an Dritte, aus was auch immer für
Gründen, weitergeben. Du kannst auch entscheiden, wieviel deiner persönlichen
Daten für alle einsehbar sein sollen. 'Alle' bedeutet hier alle Foodcoop-Mitglieder.
Die Administratoren haben aber jederzeit Zugriff auf deine Daten.</p>
submit: 'Foodsoft Account erstellen'
forgot_password:
title: 'Passwort vergessen?'
body:
<p>Kein Problem, Du kannst dir einfach ein neues Passwort zulegen.</p>
<p>Dazu musst hier die E-Mail-Adresse eingeben, mit der Du in der Foodsoft angemeldet bist.
Du erhälst dann eine E-Mail mit weiteren Instruktionen.</p>
submit: 'Neues Passwort anfordern'
cancel: 'oder abbrechen'
new_password:
title: 'Neues Passwort'
body:
<p>Bitte neues Passwort für <b>%{user}</b> eingeben.</p>
submit: 'Neues passwort speichern'
# used by controller
reset_password:
notice: 'Wenn Deine E-Mail hier registiert ist bekommst Du jetzt eine Nachricht mit einem Passwort-Zurücksetzen-Link.'
update_password:
notice: 'Dein Passwort wurde aktualisiert. Du kannst Dich jetzt anmelden.'
accept_invitation:
notice: 'Herzlichen Glückwunsch, Dein Account wurde erstellt. Du kannst Dich nun einloggen.'
errors:
invite_invalid: 'Deine Einladung ist nicht (mehr) gültig.'
group_invalid: 'Die Gruppe, in die Du eingeladen wurdest, existiert leider nicht mehr."'
token_invalid: 'Ungültiger oder abgelaufener Token. Bitte versuch es erneut.'