Redmine:将项目的默认页面更改为问题

Redmine:将项目的默认页面更改为问题

有人知道如何更改 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'

单击“项目”页面中的项目时,此功能将起作用。使用下拉菜单时,您将转到目标项目上的相同选项卡(即,它不会改变下拉菜单的行为)。

相关内容