Redmine потратил время на отслеживание ограничений - PullRequest
0 голосов
/ 21 мая 2018

Мы недавно установили Redmine в нашей организации.

Я хотел бы знать, как разрешить пользователю отслеживать только потраченное время только за последние 3 days.

Например, если сегодня 21 May 2018, то пользователь может отслеживать время только для 18,19,20 & 21 May 2018.Пользователь не может отследить время для 15th May 2018

Существуют какие-либо плагины, необходимые для добавления проверки в сценарии базы данных или чего-то еще.

Заранее спасибо.

1 Ответ

0 голосов
/ 21 мая 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 в плагине.Скачайте практически любой плагин Redmine и прочитайте его папку ./lib/*/patches, чтобы узнать, как исправлять ошибки.В вашем spent_on поле требуется подтверждение того, что оно > 3.days.ago.

Вот пример плагина Redmine, который исправляет TimeEntry и добавляет проверку:

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

Спросите здесь, если вы застряли на чем-либо.

...