summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/helpers/settings_helper.rb24
1 files changed, 18 insertions, 6 deletions
diff --git a/app/helpers/settings_helper.rb b/app/helpers/settings_helper.rb
index 17606a3b3..3e672b951 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