]> source.dussan.org Git - redmine.git/commitdiff
Add default timezone for new users (#16484).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 15 Jan 2017 12:52:41 +0000 (12:52 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 15 Jan 2017 12:52:41 +0000 (12:52 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@16200 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/user_preference.rb
app/views/settings/_authentication.html.erb
config/settings.yml
test/unit/user_preference_test.rb

index ed6de228b2026ac74dee194ba8395204e3118e35..b2d336a20b005b6a4fd1065c89d059c69500a8e1 100644 (file)
@@ -39,6 +39,9 @@ class UserPreference < ActiveRecord::Base
     if new_record? && !(attributes && attributes.key?(:hide_mail))
       self.hide_mail = Setting.default_users_hide_mail?
     end
+    if new_record? && !(attributes && attributes.key?(:time_zone))
+      self.time_zone = Setting.default_users_time_zone
+    end
     if new_record? && !(attributes && attributes.key?(:no_self_notified))
       self.no_self_notified = true
     end
index 15367813aaf1d647d99caa4aee776add79de863d..fd3c65c286c511599533da748de1435986502733 100644 (file)
@@ -41,6 +41,8 @@
 
   <div class="tabular settings">
     <p><%= setting_check_box :default_users_hide_mail, :label => :field_hide_mail %></p>
+
+    <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>
   </div>
 </fieldset>
 
index c44da32594b29be731a2929369ba5123d0cec494..bf577dedb4484590e66c76bedacfb123c44ea8b8 100644 (file)
@@ -236,6 +236,8 @@ sequential_project_identifiers:
 # multiple values accepted, comma separated
 default_users_hide_mail:
   default: 1
+default_users_time_zone:
+  default: ""
 repositories_encodings:
   default: ''
 # encoding used to convert commit logs to UTF-8
index 7303d178f182c2716950ab230a82cbe8968cec4f..bbf5f70babca533b6dfbf3b04519dd055706a56a 100644 (file)
@@ -32,6 +32,13 @@ class UserPreferenceTest < ActiveSupport::TestCase
     end
   end
 
+  def test_time_zone_should_default_to_setting
+    with_settings :default_users_time_zone => 'Paris' do
+      preference = UserPreference.new
+      assert_equal 'Paris', preference.time_zone
+    end
+  end
+
   def test_no_self_notified_should_default_to_true
     preference = UserPreference.new
     assert_equal true, preference.no_self_notified