Redmine 花时间追踪限制
Redmine spent time tracking restriction
我们最近在我们的组织中安装了 Redmine。
我想知道如何只允许用户跟踪过去 3 days
的花费时间。
例如如果今天是 21 May 2018
,则用户只能跟踪 18,19,20 & 21 May 2018
的时间。用户无法跟踪 15th May 2018
的时间
有任何插件需要在数据库脚本或其他东西中添加验证。
提前致谢。
我在我们的内部 Redmine 插件中添加了一个验证,以将 TimeEntry#hours
限制为 8 小时。实际行只是标准的 ActiveRecord 验证:
base.class_eval do
validate :revalidate_time_entry
end
...
def revalidate_time_entry
if hours && hours >= 0 && hours < 1000 # Dodge the original validation
errors.add :hours, :invalid if hours > 8
end
end
base.class_eval
是插件中 TimeEntry class 补丁的一部分。下载几乎所有 Redmine 插件并阅读其 ./lib/*/patches 文件夹以了解如何打补丁。您需要在 spent_on
字段上验证它是 > 3.days.ago
。
这是一个 Redmine 插件示例,它修补了 TimeEntry 并添加了验证:
https://searchcode.com/file/11439509/tags/0.1/lib/cmi/time_entry_patch.rb
如果您遇到任何问题,请在这里询问。
我们最近在我们的组织中安装了 Redmine。
我想知道如何只允许用户跟踪过去 3 days
的花费时间。
例如如果今天是 21 May 2018
,则用户只能跟踪 18,19,20 & 21 May 2018
的时间。用户无法跟踪 15th May 2018
有任何插件需要在数据库脚本或其他东西中添加验证。
提前致谢。
我在我们的内部 Redmine 插件中添加了一个验证,以将 TimeEntry#hours
限制为 8 小时。实际行只是标准的 ActiveRecord 验证:
base.class_eval do
validate :revalidate_time_entry
end
...
def revalidate_time_entry
if hours && hours >= 0 && hours < 1000 # Dodge the original validation
errors.add :hours, :invalid if hours > 8
end
end
base.class_eval
是插件中 TimeEntry class 补丁的一部分。下载几乎所有 Redmine 插件并阅读其 ./lib/*/patches 文件夹以了解如何打补丁。您需要在 spent_on
字段上验证它是 > 3.days.ago
。
这是一个 Redmine 插件示例,它修补了 TimeEntry 并添加了验证:
https://searchcode.com/file/11439509/tags/0.1/lib/cmi/time_entry_patch.rb
如果您遇到任何问题,请在这里询问。