有人知道如何更改 redmine 中给定项目的默认页面吗?如果我单击该项目,我会被重定向到其“概述”页面。但我需要重定向到问题页面。我应该如何更改 routes.rb 来实现这一点?
附言:Redmine 1.3.2.stable(SQLite)
答案1
我已成功更改所有项目的默认登录页面(因此,如果您单击项目列表中的任何项目名称,那么您将被重定向到问题页面而不是概览)。它在我的 Redmine 1.3.3 中有效,可能在其他版本中也有效。
诀窍是更改源文件/usr/share/redmine/app/helpers/application_helper.rb
查找以以下开头的函数
def link_to_project(project, options={}, html_options = nil)
并改变行
url = {:controller => 'projects', :action => 'show', :id => project}.merge(options)
到
url = {:controller => 'issues', :action => 'index', :project_id => project}.merge(options)
就是这样!
答案2
另一个可能的解决方案是更改项目组合框(右上方组合框)上的跳转选项。这样,您将进入所需项目的问题页面,而不是所有项目的问题页面。
编辑 app/helpers/application_helper.rb 文件并查找 render_project_jump_box 方法。
替换选项变量以跳转到您想要的项目的问题页面(在下面的代码中将“ABC”更改为您的项目名称):
options << project_tree_options_for_select(projects, :selected => @project) do |p|
# adding the jump to issues on project ABC
# (combo-box on the upper right side)
if p.to_s == 'ABC' && current_menu_item.to_s != 'issues'
{ :value => project_path(:id => p, :jump => 'issues') }
else
{ :value => project_path(:id => p, :jump => current_menu_item) }
end
end
现在,无论何时从项目组合框中选择项目“ABC”,您都会看到项目“ABC”的问题页面,而不是其概述页面。
答案3
根据 Miguel 和 wesol 的回答,您可以将它们结合起来,使其适用于 redmine 2.x 和 3.x:
编辑文件 app/helpers/application_helper.rb
搜索函数link_to_project
在该行之前link_to project.name, project_path(project, options), html_options
插入以下内容:
options[:jump] = 'issues'
单击“项目”页面中的项目时,此功能将起作用。使用下拉菜单时,您将转到目标项目上的相同选项卡(即,它不会改变下拉菜单的行为)。