X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/53b4d645d80cbe4ac397cfc004e8985317aed6a8..0e96027a209d59ff5e7f5c2b1405febc59664a16:/app/controllers/diary_entry_controller.rb?ds=inline diff --git a/app/controllers/diary_entry_controller.rb b/app/controllers/diary_entry_controller.rb index 9fad57c02..018f4a48a 100644 --- a/app/controllers/diary_entry_controller.rb +++ b/app/controllers/diary_entry_controller.rb @@ -1,8 +1,8 @@ class DiaryEntryController < ApplicationController layout 'site', :except => :rss - before_filter :set_locale before_filter :authorize_web + before_filter :set_locale before_filter :require_user, :only => [:new, :edit] before_filter :check_database_readable before_filter :check_database_writable, :only => [:new, :edit] @@ -20,6 +20,7 @@ class DiaryEntryController < ApplicationController render :action => 'edit' end else + @diary_entry = DiaryEntry.new(:language_code => @user.preferred_language) render :action => 'edit' end end @@ -31,6 +32,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 @@ -115,7 +118,11 @@ class DiaryEntryController < ApplicationController if user @entry = DiaryEntry.find(:first, :conditions => ['user_id = ? AND id = ?', user.id, params[:id]]) - @title = "Users' diaries | #{params[:display_name]}" + if @entry + @title = "Users' diaries | #{params[:display_name]}" + else + render :action => 'no_such_entry', :status => :not_found + end else @not_found_user = params[:display_name]