Use route helper in #link_to_project.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11184 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
9a80e118b9
commit
1da158edcf
|
@ -141,10 +141,24 @@ module ApplicationHelper
|
||||||
#
|
#
|
||||||
def link_to_project(project, options={}, html_options = nil)
|
def link_to_project(project, options={}, html_options = nil)
|
||||||
if project.archived?
|
if project.archived?
|
||||||
h(project)
|
h(project.name)
|
||||||
else
|
elsif options.key?(:action)
|
||||||
|
ActiveSupport::Deprecation.warn "#link_to_project with :action option is deprecated and will be removed in Redmine 3.0."
|
||||||
url = {:controller => 'projects', :action => 'show', :id => project}.merge(options)
|
url = {:controller => 'projects', :action => 'show', :id => project}.merge(options)
|
||||||
link_to(h(project), url, html_options)
|
link_to project.name, url, html_options
|
||||||
|
else
|
||||||
|
link_to project.name, project_path(project, options), html_options
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# Generates a link to a project settings if active
|
||||||
|
def link_to_project_settings(project, options={}, html_options=nil)
|
||||||
|
if project.active?
|
||||||
|
link_to project.name, settings_project_path(project, options), html_options
|
||||||
|
elsif project.archived?
|
||||||
|
h(project.name)
|
||||||
|
else
|
||||||
|
link_to project.name, project_path(project, options), html_options
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
<% project_tree(@projects) do |project, level| %>
|
<% project_tree(@projects) do |project, level| %>
|
||||||
<tr class="<%= cycle("odd", "even") %> <%= project.css_classes %> <%= level > 0 ? "idnt idnt-#{level}" : nil %>">
|
<tr class="<%= cycle("odd", "even") %> <%= project.css_classes %> <%= level > 0 ? "idnt idnt-#{level}" : nil %>">
|
||||||
<td class="name"><span><%= link_to_project(project, {:action => (project.active? ? 'settings' : 'show')}, :title => project.short_description) %></span></td>
|
<td class="name"><span><%= link_to_project_settings(project, {}, :title => project.short_description) %></span></td>
|
||||||
<td align="center"><%= checked_image project.is_public? %></td>
|
<td align="center"><%= checked_image project.is_public? %></td>
|
||||||
<td align="center"><%= format_date(project.created_on) %></td>
|
<td align="center"><%= format_date(project.created_on) %></td>
|
||||||
<td class="buttons">
|
<td class="buttons">
|
||||||
|
|
|
@ -1075,6 +1075,17 @@ RAW
|
||||||
link_to_project(project, {:action => 'settings'}, :class => "project")
|
link_to_project(project, {:action => 'settings'}, :class => "project")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_link_to_project_settings
|
||||||
|
project = Project.find(1)
|
||||||
|
assert_equal '<a href="/projects/ecookbook/settings">eCookbook</a>', link_to_project_settings(project)
|
||||||
|
|
||||||
|
project.status = Project::STATUS_CLOSED
|
||||||
|
assert_equal '<a href="/projects/ecookbook">eCookbook</a>', link_to_project_settings(project)
|
||||||
|
|
||||||
|
project.status = Project::STATUS_ARCHIVED
|
||||||
|
assert_equal 'eCookbook', link_to_project_settings(project)
|
||||||
|
end
|
||||||
|
|
||||||
def test_link_to_legacy_project_with_numerical_identifier_should_use_id
|
def test_link_to_legacy_project_with_numerical_identifier_should_use_id
|
||||||
# numeric identifier are no longer allowed
|
# numeric identifier are no longer allowed
|
||||||
Project.update_all "identifier=25", "id=1"
|
Project.update_all "identifier=25", "id=1"
|
||||||
|
|
Loading…
Reference in New Issue