diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..430c775 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# ide files +.idea diff --git a/README.md b/README.md index 52799ce..6ba9ca6 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ # redmine default due date -this is redmine plugin set 7 days after to due date. +this redmine plugin sets the due date of the 'new issue' form to N days after today. + +the number of days N is configurable in the plugin's settings page. diff --git a/app/views/settings/_default_due_date.html.erb b/app/views/settings/_default_due_date.html.erb new file mode 100644 index 0000000..a8a7fb6 --- /dev/null +++ b/app/views/settings/_default_due_date.html.erb @@ -0,0 +1,5 @@ +

+ <%= label('settings[default_due_date]', l(:default_due_date, scope: :default_due_date)) %> + <%= text_field_tag('settings[default_due_date]', @settings['default_due_date']) %> + <%= content_tag(:em, l(:default_due_date_info, scope: :default_due_date), class: 'info') %> +

diff --git a/config/locales/en.yml b/config/locales/en.yml new file mode 100644 index 0000000..e901a2f --- /dev/null +++ b/config/locales/en.yml @@ -0,0 +1,5 @@ +# English strings go here for Rails i18n +en: + default_due_date: + default_due_date: 'number of days' + default_due_date_info: "if it's left blank set the due date to such number of days after today" diff --git a/init.rb b/init.rb index 6e47003..ef2dc15 100644 --- a/init.rb +++ b/init.rb @@ -4,7 +4,10 @@ name 'Redmine Default Due Date Plugin' author 'basyura' description 'This is a plugin for Redmine' - version '0.0.1' + version '0.0.3' url 'https://github.com/basyura/redmine_default_due_date' author_url 'http://blog.basyura.org/' + + settings default: { 'default_due_date' => Redmine::Plugins::DefaultDueDateListener::DEFAULT_DUE_DATE }, + partial: 'settings/default_due_date' end diff --git a/lib/redmine_default_due_date.rb b/lib/redmine_default_due_date.rb index 811fee5..2e93d4d 100644 --- a/lib/redmine_default_due_date.rb +++ b/lib/redmine_default_due_date.rb @@ -2,9 +2,17 @@ module Redmine module Plugins class DefaultDueDateListener < Redmine::Hook::ViewListener + + DEFAULT_DUE_DATE = 7 + def view_issues_new_top(context) - context[:issue].due_date ||= Date.today + 7 + context[:issue].due_date ||= self.class.default_due_date end + + def self.default_due_date + Date.today + Setting.plugin_redmine_default_due_date['default_due_date'].to_i.days + end + end end end