From d50ec43dffcd37b66225c0847110a25291cdcd83 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Fri, 21 Mar 2014 04:05:49 +0000 Subject: [PATCH] Disable children when checking parent notifiable. git-svn-id: http://svn.redmine.org/redmine/trunk@12996 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/helpers/settings_helper.rb | 24 ++++++++++++++++++------ 1 file 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