Redmine花时间跟踪限制

时间:2018-05-21 06:24:57

标签: ruby-on-rails redmine redmine-plugins

我们最近在我们的组织中安装了 Redmine

我想知道如何仅允许用户跟踪过去3 days的花费时间。

e.g。如果今天为21 May 2018,则用户只能跟踪18,19,20 & 21 May 2018的时间。用户无法跟踪15th May 2018

的时间

有任何插件需要在数据库脚本或其他内容中添加验证。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我在内部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类补丁的一部分。下载几乎所有Redmine插件并阅读其./lib/*/patches文件夹以了解如何修补。您需要在spent_on字段进行验证> 3.days.ago

以下是修补TimeEntry并添加验证的Redmine插件示例:

https://searchcode.com/file/11439509/tags/0.1/lib/cmi/time_entry_patch.rb

如果你遇到任何问题,请在这里询问。