diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/application.rb | 17 | ||||
-rw-r--r-- | app/helpers/application_helper.rb | 32 | ||||
-rw-r--r-- | app/helpers/link_to_helper.rb | 46 |
3 files changed, 57 insertions, 38 deletions
diff --git a/app/controllers/application.rb b/app/controllers/application.rb index d0d0fef7e..824f6f77b 100644 --- a/app/controllers/application.rb +++ b/app/controllers/application.rb @@ -6,7 +6,7 @@ # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ # -# $Id: application.rb,v 1.20 2007-10-31 17:25:29 francis Exp $ +# $Id: application.rb,v 1.21 2007-11-01 05:35:43 francis Exp $ class ApplicationController < ActionController::Base @@ -73,17 +73,10 @@ class ApplicationController < ActionController::Base end end - # Simplified links to our objects - # XXX See controllers/user_controller.rb controllers/body_controller.rb for inverse - # XXX consolidate somehow with stuff in helpers/application_helper.rb - helper_method :simplify_url_part - def simplify_url_part(text) - text.downcase! - text.gsub!(/ /, "-") - text.gsub!(/[^a-z0-9_-]/, "") - text - end - + # URL generating functions are needed by all controllers (for redirects) + # and views (for links), so include them into all of both. + include LinkToHelper + end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index ee0bd877e..5ecf8f57b 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1,12 +1,16 @@ # app/helpers/application_helper.rb: -# Methods added to this helper will be available to all templates in the application. +# Methods added to this helper will be available to all views (i.e. templates) +# in the application. # # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ # -# $Id: application_helper.rb,v 1.11 2007-10-30 18:52:27 francis Exp $ +# $Id: application_helper.rb,v 1.12 2007-11-01 05:35:43 francis Exp $ module ApplicationHelper + # URL generating functions are needed by all controllers (for redirects) + # and views (for links), so include them into all of both. + include LinkToHelper # Copied from error_messages_for in active_record_helper.rb def foi_error_messages_for(*params) @@ -38,30 +42,6 @@ module ApplicationHelper def simple_date(date) return date.strftime("%e %B %Y") end - - - # Links to various models - # XXX consolidate with simplify_url_part in controllers/application.rb so - # ones with calls to simplify_url_part are only in one place - - def request_link(info_request) - link_to h(info_request.title), show_request_url(:id => info_request) - end - - def public_body_link_short(public_body) - link_to h(public_body.short_name), show_public_body_url(:simple_short_name => simplify_url_part(public_body.short_name)) - end - def public_body_link(public_body) - link_to h(public_body.name), show_public_body_url(:simple_short_name => simplify_url_part(public_body.short_name)) - end - - def user_link(user) - link_to h(user.name), show_user_url(:simple_name => simplify_url_part(user.name)) - end - - def info_request_link(info_request) - link_to h(info_request.title), show_request_url(:id => info_request) - end end diff --git a/app/helpers/link_to_helper.rb b/app/helpers/link_to_helper.rb new file mode 100644 index 000000000..b621916b7 --- /dev/null +++ b/app/helpers/link_to_helper.rb @@ -0,0 +1,46 @@ +# app/helpers/application_helper.rb: +# This module is included into all controllers via controllers/application.rb +# - +# +# Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. +# Email: francis@mysociety.org; WWW: http://www.mysociety.org/ +# +# $Id: link_to_helper.rb,v 1.1 2007-11-01 05:35:43 francis Exp $ + +module LinkToHelper + + # Links to various models + # XXX consolidate with simplify_url_part in controllers/application.rb so + # ones with calls to simplify_url_part are only in one place + + def request_link(info_request) + link_to h(info_request.title), show_request_url(:id => info_request) + end + + def public_body_link_short(public_body) + link_to h(public_body.short_name), show_public_body_url(:simple_short_name => simplify_url_part(public_body.short_name)) + end + def public_body_link(public_body) + link_to h(public_body.name), show_public_body_url(:simple_short_name => simplify_url_part(public_body.short_name)) + end + + def user_link(user) + link_to h(user.name), show_user_url(:simple_name => simplify_url_part(user.name)) + end + + def info_request_link(info_request) + link_to h(info_request.title), show_request_url(:id => info_request) + end + + # Simplified links to our objects + # XXX See controllers/user_controller.rb controllers/body_controller.rb for inverse + # XXX consolidate somehow with stuff in helpers/application_helper.rb + def simplify_url_part(text) + text.downcase! + text.gsub!(/ /, "-") + text.gsub!(/[^a-z0-9_-]/, "") + text + end + +end + |