diff --git a/app/helpers/settings_helper.rb b/app/helpers/settings_helper.rb index 17606a3..3e672b9 100644 --- a/app/helpers/settings_helper.rb +++ b/app/helpers/settings_helper.rb @@ -84,12 +84,24 @@ module SettingsHelper # Renders a notification field for a Redmine::Notifiable option def notification_field(notifiable) - return content_tag(:label, - check_box_tag('settings[notified_events][]', - notifiable.name, - Setting.notified_events.include?(notifiable.name), :id => nil).html_safe + - l_or_humanize(notifiable.name, :prefix => 'label_').html_safe, - :class => notifiable.parent.present? ? "parent" : '').html_safe + tag_data = notifiable.parent.present? ? + {:parent_notifiable => notifiable.parent} : + {:disables => "input[data-parent-notifiable=#{notifiable.name}]"} + + tag = check_box_tag('settings[notified_events][]', + notifiable.name, + Setting.notified_events.include?(notifiable.name), + :id => nil, + :data => tag_data) + + text = l_or_humanize(notifiable.name, :prefix => 'label_') + + options = {} + if notifiable.parent.present? + options[:class] = "parent" + end + + content_tag(:label, tag + text, options) end def cross_project_subtasks_options