Проблема:
Мои задачи в настоящее время имеют 3 настраиваемых поля, скажем, FieldA (список выбора), FieldB (не имеет значения) и FieldC (текст).
Что должно произойти, так это то, что при сохранении FieldC принимает значение <FieldA>-<date in Ymd>-<number from database>
В качестве примера предположим, что FieldA имеет значение «Test», и сегодня 8 января 2015 года. Тогда FieldC должен быть Test-20150108-001, где 001 происходит из пользовательской таблицы в базе данных, это уникально для каждого значения FieldA. , и сбрасывается каждый год.
Что я сделал на данный момент:
Я использовал сценарий командной строки для создания плагина через
ruby script/rails generate redmine_plugin subticket
И модель через
ruby script/rails generate redmine_plugin_model subticket subticket_ids fa:string lastnum:integer year:integer
(где fa — значение поля A, lastnum — последнее число, использованное для этого значения, а year — текущий год, для которого применяется lastnum).
Затем я приступил к init.rb
, чтобы добавить прослушиватель хуков, чтобы реализовать хуки предварительного сохранения:
require_dependency 'subticket_hooks'
И создал файл lib/subticket_hooks.rb
со следующим содержимым:
class SubticketHooksListener < Redmine::Hook::ViewListener
def controller_issues_edit_before_save(context={})
issue = context[:issue]
end
end
Однако я не могу найти никакой документации о том, как получить доступ/записать значение настраиваемого поля здесь. Все еще работаю над тем, чтобы модель работала, но я предполагаю, что документация достаточно ясна для меня, чтобы поэкспериментировать (конечно, любая информация приветствуется!)
Обратите внимание, что это далеко за пределами моих возможностей, поскольку мой основной опыт написан на совершенно другом языке - не торопитесь!