diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/track_controller.rb | 6 | ||||
-rw-r--r-- | app/helpers/track_helper.rb | 53 | ||||
-rw-r--r-- | app/views/track/_track_set.erb | 6 |
3 files changed, 60 insertions, 5 deletions
diff --git a/app/controllers/track_controller.rb b/app/controllers/track_controller.rb index a3a1ec42c..c861971bd 100644 --- a/app/controllers/track_controller.rb +++ b/app/controllers/track_controller.rb @@ -130,11 +130,7 @@ class TrackController < ApplicationController @track_thing.track_medium = 'email_daily' @track_thing.tracking_user_id = @user.id @track_thing.save! - if @user.receive_email_alerts - flash[:notice] = _('You will now be emailed updates about {{track_description}}. <a href="{{change_email_alerts_url}}">Prefer not to receive emails?</a>', :track_description => @track_thing.params[:list_description], :change_email_alerts_url => url_for(:controller => "user", :action => "wall", :url_name => @user.url_name)) - else - flash[:notice] = _('You are now <a href="{{wall_url_user}}">following</a> updates about {{track_description}}', :track_description => @track_thing.params[:list_description], :wall_url_user => url_for(:controller => "user", :action => "wall", :url_name => @user.url_name)) - end + flash[:notice] = render_to_string(:partial => 'track_set').html_safe return true end diff --git a/app/helpers/track_helper.rb b/app/helpers/track_helper.rb index e2615a33f..49209d6bc 100644 --- a/app/helpers/track_helper.rb +++ b/app/helpers/track_helper.rb @@ -23,4 +23,57 @@ module TrackHelper end end + def subscribe_email_notice(track_thing) + case track_thing.track_type + when 'request_updates' + _("You will now be emailed updates about '{{link_to_request}}', a request", + :link_to_request => request_link(track_thing.info_request)) + when 'all_new_requests' + _('You will now be emailed updates about any <a href="{{new_requests_url}}">new requests</a>', + :new_requests_url => request_list_path) + when 'all_successful_requests' + _('You will now be emailed updates about <a href="{{successful_requests_url}}">successful requests</a>', + :successful_requests_url => request_list_successful_path ) + when 'public_body_updates' + _("You will now be emailed updates about '{{link_to_authority}}', a public authority", + :link_to_authority => public_body_link(track_thing.public_body)) + when 'user_updates' + _("You will now be emailed updates about '{{link_to_user}}', a person", + :link_to_user => user_link(track_thing.tracked_user)) + when 'search_query' + _("You will now be emailed updates about <a href=\"{{search_url}}\">this search</a>", + :search_url => search_path([track_thing.track_query, 'newest', 'advanced'])) + end + end + + def subscribe_follow_notice(track_thing) + wall_url_user = show_user_wall_path(:url_name => track_thing.tracking_user.url_name) + case track_thing.track_type + when 'request_updates' + _('You are now <a href="{{wall_url_user}}">following</a> updates about \'{{link_to_request}}\', a request', + :link_to_request => request_link(track_thing.info_request), + :wall_url_user => wall_url_user) + when 'all_new_requests' + _('You are now <a href="{{wall_url_user}}">following</a> updates about <a href="{{new_requests_url}}">new requests</a>', + :new_requests_url => request_list_path, + :wall_url_user => wall_url_user) + when 'all_successful_requests' + _('You are now <a href="{{wall_url_user}}">following</a> updates about <a href="{{successful_requests_url}}">successful requests</a>', + :successful_requests_url => request_list_successful_path, + :wall_url_user => wall_url_user) + when 'public_body_updates' + _('You are now <a href="{{wall_url_user}}">following</a> updates about \'{{link_to_authority}}\', a public authority', + :wall_url_user => wall_url_user, + :link_to_authority => public_body_link(track_thing.public_body)) + when 'user_updates' + _('You are now <a href="{{wall_url_user}}">following</a> updates about \'{{link_to_user}}\', a person', + :wall_url_user => wall_url_user, + :link_to_user => user_link(track_thing.tracked_user)) + when 'search_query' + _('You are now <a href="{{wall_url_user}}">following</a> updates about <a href="{{search_url}}">this search</a>', + :wall_url_user => wall_url_user, + :search_url => search_path([track_thing.track_query, 'newest', 'advanced'])) + end + end + end diff --git a/app/views/track/_track_set.erb b/app/views/track/_track_set.erb new file mode 100644 index 000000000..c7665312d --- /dev/null +++ b/app/views/track/_track_set.erb @@ -0,0 +1,6 @@ +<% if @user.receive_email_alerts %> + <%= subscribe_email_notice(@track_thing) %> + <%= link_to(_('Prefer not to receive emails?'), show_user_wall_path(:url_name => @user.url_name)) %> +<% else %> + <%= subscribe_follow_notice(@track_thing) %> +<% end %> |