From: Tom Hughes Date: Tue, 28 Aug 2012 19:39:18 +0000 (+0100) Subject: Move a chunk of non-markup ruby code from a view to the controller X-Git-Tag: live~5399 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/367303f6d8f708ff0e074c02264f2508f4c19326?hp=d9054cfe29efeb615237a143ca620c53af37288f Move a chunk of non-markup ruby code from a view to the controller --- diff --git a/app/controllers/diary_entry_controller.rb b/app/controllers/diary_entry_controller.rb index 68d3a81ee..52ed87f56 100644 --- a/app/controllers/diary_entry_controller.rb +++ b/app/controllers/diary_entry_controller.rb @@ -37,6 +37,7 @@ class DiaryEntryController < ApplicationController default_lang = @user.preferences.where(:k => "diary.default_language").first lang_code = default_lang ? default_lang.v : @user.preferred_language @diary_entry = DiaryEntry.new(:language_code => lang_code) + set_map_location render :action => 'edit' end end @@ -47,11 +48,11 @@ class DiaryEntryController < ApplicationController if @user != @diary_entry.user redirect_to :controller => 'diary_entry', :action => 'view', :id => params[:id] - elsif params[:diary_entry] - if @diary_entry.update_attributes(params[:diary_entry]) - redirect_to :controller => 'diary_entry', :action => 'view', :id => params[:id] - end + elsif params[:diary_entry] and @diary_entry.update_attributes(params[:diary_entry]) + redirect_to :controller => 'diary_entry', :action => 'view', :id => params[:id] end + + set_map_location rescue ActiveRecord::RecordNotFound render :action => "no_such_entry", :status => :not_found end @@ -212,4 +213,22 @@ private def user_specific_list? params[:friends] or params[:nearby] end + + ## + # decide on a location for the diary entry map + def set_map_location + if @diary_entry.latitude and @diary_entry.longitude + @lon = @diary_entry.longitude + @lat = @diary_entry.latitude + @zoom = 12 + elsif @user.home_lat.nil? or @user.home_lon.nil? + @lon = params[:lon] || -0.1 + @lat = params[:lat] || 51.5 + @zoom = params[:zoom] || 4 + else + @lon = @user.home_lon + @lat = @user.home_lat + @zoom = 12 + end + end end diff --git a/app/views/diary_entry/edit.html.erb b/app/views/diary_entry/edit.html.erb index ef46c6310..0952c901b 100644 --- a/app/views/diary_entry/edit.html.erb +++ b/app/views/diary_entry/edit.html.erb @@ -35,20 +35,6 @@ <% end %> -<% if @diary_entry.latitude and @diary_entry.longitude %> - <% lon = @diary_entry.longitude %> - <% lat = @diary_entry.latitude %> - <% zoom = '12' %> -<% elsif @user.home_lat.nil? or @user.home_lon.nil? %> - <% lon = h(params['lon'] || '-0.1') %> - <% lat = h(params['lat'] || '51.5') %> - <% zoom = h(params['zoom'] || '4') %> -<% else %> - <% lon = @user.home_lon %> - <% lat = @user.home_lat %> - <% zoom = '12' %> -<% end %> -