Some more of the user account translations. Custom generate method for languages, that doesn't appear to work. Setting user language on create. Start translations in controllers. Diary entries can now be saved.

This commit is contained in:
Shaun McDonald 2009-05-30 14:04:42 +00:00
parent a6f88faa20
commit 3a599519eb
7 changed files with 93 additions and 38 deletions

View file

@ -13,6 +13,8 @@ class DiaryEntryController < ApplicationController
if params[:diary_entry]
@diary_entry = DiaryEntry.new(params[:diary_entry])
@diary_entry.user = @user
@diary_entry.language = Language.find_by_code(params[:language])
@diary_entry.language = Language.find_by_code("en") if @diary_entry.language.nil?
if @diary_entry.save
redirect_to :controller => 'diary_entry', :action => 'list', :display_name => @user.display_name
@ -31,6 +33,8 @@ class DiaryEntryController < ApplicationController
if @user != @diary_entry.user
redirect_to :controller => 'diary_entry', :action => 'view', :id => params[:id]
elsif params[:diary_entry]
params[:diary_entry][:language] = Language.find_by_code(params[:diary_entry][:language])
params[:diary_entry][:language] = Language.find_by_code("en") if params[:diary_entry][:language].nil?
if @diary_entry.update_attributes(params[:diary_entry])
redirect_to :controller => 'diary_entry', :action => 'view', :id => params[:id]
end

View file

@ -23,9 +23,11 @@ class UserController < ApplicationController
@user.data_public = true
@user.description = "" if @user.description.nil?
@user.creation_ip = request.remote_ip
@user.locale = Language.find_by_code(I18n.locale.to_s)
@user.locale = Language.find_by_code("en") if @user.locale.nil?
if @user.save
flash[:notice] = "User was successfully created. Check your email for a confirmation note, and you\'ll be mapping in no time :-)<br /><br />Please note that you won't be able to login until you've received and confirmed your email address.<br /><br />If you use an antispam system which sends confirmation requests then please make sure you whitelist webmaster@openstreetmap.org as we are unable to reply to any confirmation requests."
flash[:notice] = I18n.t('user.new.create success message')
Notifier.deliver_signup_confirm(@user, @user.tokens.create)
redirect_to :action => 'login'
else
@ -54,10 +56,10 @@ class UserController < ApplicationController
if @user.save
if params[:user][:email] == @user.new_email
@notice = "User information updated successfully. Check your email for a note to confirm your new email address."
flash[:notice] = I18n.t('user.account.flash update success confirm needed')
Notifier.deliver_email_confirm(@user, @user.tokens.create)
else
@notice = "User information updated successfully."
flash[:notice] = I18n.t('user.account.flash update success')
end
end
end
@ -68,7 +70,7 @@ class UserController < ApplicationController
@user.home_lat = params[:user][:home_lat].to_f
@user.home_lon = params[:user][:home_lon].to_f
if @user.save
flash[:notice] = "Home location saved successfully."
flash[:notice] = I18n.t('user.set_home.flash success')
redirect_to :controller => 'user', :action => 'account'
end
end
@ -77,27 +79,27 @@ class UserController < ApplicationController
def go_public
@user.data_public = true
@user.save
flash[:notice] = 'All your edits are now public.'
flash[:notice] = I18n.t('user.go_public.flash success')
redirect_to :controller => 'user', :action => 'account', :display_name => @user.display_name
end
def lost_password
@title = 'lost password'
@title = I18n.t('user.lost_password.title')
if params[:user] and params[:user][:email]
user = User.find_by_email(params[:user][:email], :conditions => {:visible => true})
if user
token = user.tokens.create
Notifier.deliver_lost_password(user, token)
@notice = "Sorry you lost it :-( but an email is on its way so you can reset it soon."
flash[:notice] = I18n.t('user.lost_password.notice.email on way')
else
@notice = "Couldn't find that email address, sorry."
flash[:notice] = I18n.t('user.lost_password.notice email cannot find')
end
end
end
def reset_password
@title = 'reset password'
@title = I18n.t('user.reset_password.title')
if params['token']
token = UserToken.find_by_token(params[:token])
if token
@ -110,9 +112,9 @@ class UserController < ApplicationController
user.save!
token.destroy
Notifier.deliver_reset_password(user, pass)
flash[:notice] = "Your password has been changed and is on its way to your mailbox :-)"
flash[:notice] = I18n.t('user.reset_password.flash changed check mail')
else
flash[:notice] = "Didn't find that token, check the URL maybe?"
flash[:notice] = I18n.t('user.reset_password.flash token bad')
end
end