Project

General

Profile

Feature #42880 » auto_watch_default_settings.patch

Jan Catrysse, 2025-06-16 20:42

View differences:

app/models/user_preference.rb (revision cab88f922c43374247028dae949e731f31e1155f) → app/models/user_preference.rb (revision d7abde0de2bf433125e58e4e3d895428144b38e7)
59 59
        self.no_self_notified = Setting.default_users_no_self_notified
60 60
      end
61 61
      unless attributes && attributes.key?(:auto_watch_on)
62
        self.auto_watch_on = AUTO_WATCH_ON_OPTIONS
62
        value = Setting.default_users_auto_watch_on
63
        self.auto_watch_on = value.nil? ? AUTO_WATCH_ON_OPTIONS : value
63 64
      end
64 65
    end
65 66
    self.others ||= {}
app/views/settings/_users.html.erb (revision cab88f922c43374247028dae949e731f31e1155f) → app/views/settings/_users.html.erb (revision d7abde0de2bf433125e58e4e3d895428144b38e7)
20 20
      <p><%= setting_select(:default_notification_option, User.valid_notification_options.collect {|o| [l(o.last), o.first.to_s]}) %></p>
21 21
      <p><%= setting_check_box :default_users_no_self_notified, :label => :label_user_mail_no_self_notified %></p>
22 22
      <p><%= setting_select :default_users_time_zone, ActiveSupport::TimeZone.all.collect {|z| [ z.to_s, z.name ]}, :label => :field_time_zone, :blank => :label_none %></p>
23
      <p><%= setting_multiselect :default_users_auto_watch_on, UserPreference::AUTO_WATCH_ON_OPTIONS.map {|o| [l("label_auto_watch_on_#{o}"), o]}, :label => :label_auto_watch_on %></p>
23 24
    </div>
24 25
  </fieldset>
25 26

  
config/settings.yml (revision cab88f922c43374247028dae949e731f31e1155f) → config/settings.yml (revision d7abde0de2bf433125e58e4e3d895428144b38e7)
287 287
  default: 1
288 288
default_users_time_zone:
289 289
  default: ""
290
default_users_auto_watch_on:
291
  serialized: true
292
  default:
293
  - issue_created
294
  - issue_contributed_to
290 295
# encodings used to convert files content to UTF-8
291 296
# multiple values accepted, comma separated
292 297
repositories_encodings:
test/unit/user_preference_test.rb (revision cab88f922c43374247028dae949e731f31e1155f) → test/unit/user_preference_test.rb (revision d7abde0de2bf433125e58e4e3d895428144b38e7)
56 56
  end
57 57

  
58 58
  def test_auto_watch_on_should_default_to_setting
59
    preference = UserPreference.new
60
    assert_equal %w[issue_created issue_contributed_to], preference.auto_watch_on
59
    with_settings :default_users_auto_watch_on => ['issue_created'] do
60
      preference = UserPreference.new
61
      assert_equal ['issue_created'], preference.auto_watch_on
62
    end
63
    with_settings :default_users_auto_watch_on => [] do
64
      preference = UserPreference.new
65
      assert_equal [], preference.auto_watch_on
66
    end
67
  end
68

  
69
  def test_auto_watch_on_should_default_to_options
70
    with_settings :default_users_auto_watch_on => nil do
71
      preference = UserPreference.new
72
      assert_equal %w[issue_created issue_contributed_to], preference.auto_watch_on
73
    end
61 74
  end
62 75

  
63 76
  def test_create
    (1-1/1)