mysociety/alaveteli

View on GitHub
app/helpers/track_helper.rb

Summary

Maintainability
B
5 hrs
Test Coverage
module TrackHelper
  def already_subscribed_notice(track_thing)
    case track_thing.track_type
    when 'request_updates'
      _("You are already subscribed to '{{link_to_request}}', a request.",
        link_to_request: request_link(track_thing.info_request))
    when 'all_new_requests'
      _('You are already subscribed to any <a href="{{new_requests_url}}">new requests</a>.',
        new_requests_url: request_list_path)
    when 'all_successful_requests'
      _('You are already subscribed to any <a href="{{successful_requests_url}}">successful requests</a>.',
        successful_requests_url: request_list_successful_path )
    when 'public_body_updates'
      _("You are already subscribed to '{{link_to_authority}}', a public authority.",
        link_to_authority: public_body_link(track_thing.public_body))
    when 'user_updates'
      _("You are already subscribed to '{{link_to_user}}', a person.",
        link_to_user: user_link(track_thing.tracked_user))
    when 'search_query'
      _('You are already subscribed to <a href="{{search_url}}">this search</a>.',
        search_url: search_path([track_thing.track_query, 'newest', 'advanced']))
    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

  def unsubscribe_notice(track_thing)
    case track_thing.track_type
    when 'request_updates'
      _("You are no longer following '{{link_to_request}}', a request.",
        link_to_request: request_link(track_thing.info_request))
    when 'all_new_requests'
      _('You are no longer following <a href="{{new_requests_url}}">new requests</a>.',
        new_requests_url: request_list_path)
    when 'all_successful_requests'
      _('You are no longer following <a href="{{successful_requests_url}}">successful requests</a>.',
        successful_requests_url: request_list_successful_path )
    when 'public_body_updates'
      _("You are no longer following '{{link_to_authority}}', a public authority.",
        link_to_authority: public_body_link(track_thing.public_body))
    when 'user_updates'
      _("You are no longer following '{{link_to_user}}', a person.",
        link_to_user: user_link(track_thing.tracked_user))
    when 'search_query'
      _('You are no longer following <a href="{{search_url}}">this search</a>.',
        search_url: search_path([track_thing.track_query, 'newest', 'advanced']))
    end
  end

  def track_description(track_thing)
    case track_thing.track_type
    when 'request_updates'
      _("'{{link_to_request}}', a request",
        link_to_request: request_link(track_thing.info_request))
    when 'all_new_requests'
      link_to(_('new requests'), request_list_path)
    when 'all_successful_requests'
      link_to(_('successful requests'), request_list_successful_path)
    when 'public_body_updates'
      _("'{{link_to_authority}}', a public authority",
        link_to_authority: public_body_link(track_thing.public_body))
    when 'user_updates'
      _("'{{link_to_user}}', a person",
        link_to_user: user_link(track_thing.tracked_user))
    when 'search_query'
      link_to(track_thing.track_query_description,
              search_path([track_thing.track_query, 'newest', 'advanced']))
    end
  end
end