项目

通用

个人资料

插件目录 » 每个项目的默认查询

作者 维塔利·克留莫夫
网站 https://redmine.ruby-lang.org.cn/boards/3/topics/11764
代码仓库 -
注册于 2011-02-08(超过13年前)
当前版本 0.1.1
兼容 Redmine 1.3.x, 1.4.x, 2.0.x
用户评分   (3)

每个项目的默认查询

此插件允许为单个项目或基于其类型的项目应用默认查询。
它还允许用户为每个项目或所有项目定义自己的默认查询。

功能

  • 使用现有的查询系统,因此与未来的 Redmine 版本保持最大兼容性
  • 允许按项目定义默认查询
  • 允许定义显示所有问题的默认全局查询
  • 允许根据项目自定义字段值定义默认查询
  • 允许用户为每个项目定义自己的默认查询
  • 允许用户定义显示所有问题的默认全局查询
  • 允许为每个用户定义查询,以便在登录时直接跳转到项目并应用特定查询

详细信息

此插件非常有用,如果您使用 Redmine 项目用于多个目的。例如,我们有一些用于缺陷跟踪的项目,以及用于项目管理和国债跟踪的项目。我非常需要为项目或项目组定义默认查询的功能 - 没有它,每次切换项目时手动创建一系列公共查询都非常不方便。

此外,最新版本的插件还允许为每个用户定义默认视图 - 这非常方便,因为显示的列可能因用户而异。

此插件是我自己的请求的回应 #3967 (https://redmine.ruby-lang.org.cn/issues/3967)

插件逻辑

首先,插件使用现有的查询系统,因此(希望)与未来的 Redmine 版本保持最大兼容性。它使用现有的查询和针对 Issues 控制器的小型修复来应用默认查询,如果未定义查询。

插件从专用项目(在设置中定义)检索查询并将其应用于当前项目。

我建议创建一个专用项目,其中包含所有必要的查询类型。该项目必须包含所有跟踪器和所有自定义字段,以便实现所有类型的查询。

对于用户定义的默认查询,插件使用设置中定义的名称(默认为 MyDefault)为项目,以及 MyGlobal(默认)为所有问题。

对于重定向到用户定义的项目和用户定义的查询,默认搜索 MyHome 查询(可在设置中重新定义)。

请注意,所有用户查询均不应公开。

工作原理

默认查询是通过多个嵌套级别确定的

如果显示所有项目的所有问题

  • 如果项目有在插件设置中定义名称(字段 默认用户全局查询名称)的查询,且属于登录用户,插件将使用此查询作为默认查询
  • 从名为 具有默认查询的项目(在插件设置屏幕上)的项目中检索名为 Global_Default 的查询,并将其应用于所有问题显示
  • 如果不存在此类查询,则插件不执行任何操作

如果显示特定项目的问题

  • 如果项目有在插件设置中定义名称(字段 默认用户查询名称)的查询,且属于登录用户,插件将使用此查询作为默认查询
  • 如果项目有在插件设置中定义名称(字段 默认查询名称)的查询,插件将使用此查询作为默认查询
  • 如果在项目中不存在此类查询,则将项目自定义字段的值(在插件设置屏幕上的下拉列表 定义类型的自定义字段 中定义)附加到字符串 Default_ 以创建查询名称
  • 如果不存在此类自定义字段,则使用值 Default_Project 作为查询名称
  • 之后,将从名为 具有默认查询的项目(在插件设置屏幕上)的项目中检索具有该名称的查询
  • 如果不存在此类查询,则插件不执行任何操作

此外,插件定义了一个名为 query_per_project 的控制器和名为 redirect_to_user_query 的操作

当调用时,它会搜索属于当前用户的名为 MyHome(默认情况下,可在设置中重新定义)的查询,并将其重定向到该项目,应用此查询。它可以方便地与 Eric Davis 的 redmine_homepage 插件一起使用

此外,它替换了 views/issues/index.rhtml,以便在应用上述任何查询时折叠筛选器面板。

使用示例

例如,我们有三类项目 - 一个用于缺陷跟踪,另一个用于项目经理,另一个用于发票。还有一个名为“SpecialCase”的特殊项目,我们希望为其设置自己的默认查询。

逐步教程

  • 创建一个特殊项目来存储所有默认查询(让我们称其为“DefaultQueries”)。我们应该将所有可能的跟踪器和问题自定义字段包含在这个项目中,以便为所有项目创建查询
  • 创建一个项目自定义字段来存储项目类型(让我们将其命名为名为“Type”的下拉列表,值有“Bugs”、“Invoices”和“Tasks”)。为了使事情更简单,我们将使其对所有项目都是必需的,默认值为“Tasks”
  • 根据项目类型设置每个项目的此自定义字段
  • 转到插件设置,选择我们创建的项目(DefaultQueries)和自定义字段名称(Type)。我们将保留“默认查询名称”的值不变,即“Default”
  • 转到项目“DefaultQueries”,并在其中创建三个名为“Default_Bugs”、“Default_Tasks”和“Default_Invoices”的查询。对于每个查询,我们可以使用它自己的列/排序顺序/分组
  • 转到项目“SpecialCase”,并创建名为“Default”的查询

我们现在已经设置完毕。

如果我们决定查看设置了自定义字段“Type”为“Bugs”的项目中的问题,会发生什么?插件将在“DefaultQueries”项目中查找名为“Default_Bugs”的查询,并将其应用于问题视图!对于类型为“Tasks”和“Invoices”的项目,也会执行相同的操作 - 将名为“Default_Tasks”和“Default_Invoices”的查询应用于它们的视图。如果我们选择名为“SpecialCase”的项目,将应用名为“Default”的查询,因为它存在于那里,而不管项目类型如何。

安装说明

  1. 请在安装新版本之前,**完全**删除文件夹 redmine_default_columns
  2. 如果您尚未安装,请安装插件 带修订视图的插件
  3. 请遵循Redmine插件安装步骤: https://redmine.ruby-lang.org.cn/wiki/redmine/Plugins
  4. 运行rake任务
    rake redmine:plugins:process_version_change RAILS_ENV=production
  5. 重启您的Redmine网络服务器(例如mongrel、thin、mod_rails)
  6. 以管理员身份登录并配置插件(管理 > 插件 > 配置)

变更日志

0.1.1 (2012-06-15)

兼容Redmine 1.3.x、1.4.x、2.0.x。

  • Rails 3(Redmine 2.x)兼容性
redmine_default_columns_v011.zip (23 KB) redmine_default_columns_v011.zip 维塔利·克里莫夫,2012-06-15 18:01

0.1.0 (2012-06-07)

兼容Redmine 1.3.x、1.4.x、2.0.x。

redmine_default_columns_v010.zip (21.8 KB) redmine_default_columns_v010.zip 维塔利·克里莫夫,2012-06-07 18:29

0.0.8 (2012-03-07)

兼容Redmine 1.3.x。

  • 针对更多兼容性对QueriesHelper进行不同处理
  • 现在与BetterGanttChart插件兼容
redmine_default_columns_v008.zip (19.4 KB) redmine_default_columns_v008.zip 维塔利·克里莫夫,2012-03-07 09:05

0.0.7 (2012-02-23)

兼容Redmine 1.3.x。

  • 添加了与Redmine 1.3.0的兼容性
  • 与Redmine的早期版本兼容
redmine_default_columns_v007.zip (19 KB) redmine_default_columns_v007.zip 维塔利·克里莫夫,2012-02-23 14:09

0.0.6 (2011-07-25)

兼容Redmine 1.2.x。

与1.2.x版本兼容的插件版本。此版本不支持早期Redmine版本(1.2.0之前)

redmine_default_columns_v006.zip (18.2 KB) redmine_default_columns_v006.zip 与1.2.x版本兼容的版本 维塔利·克里莫夫,2011-07-25 16:24

0.0.5 (2011-02-08)

兼容Redmine 0.9.x、1.0.x、1.1.x。

redmine_default_columns_v005.zip (17.8 KB) redmine_default_columns_v005.zip 维塔利·克里莫夫,2011-02-08 17:15

用户评分

 dj jones 几乎8年前评分

有与Redmine 3兼容的版本在以下链接中:
- https://redmine.ruby-lang.org.cn/boards/3/topics/11764?page=4

 W K 超过8年前评分

这是一个很好的主意!

有人能确认这个插件与Redmine 2.6.10.stable兼容吗?对我来说它不会:)

 Olivier Houdas 超过10年前评分

非常实用,可以直接在想要查看的问题上过滤问题,而不是先点击问题,然后再点击一个已保存的查询