OSDN Git Service

Added a setting to configure the day that week start on (Monday or Sunday). (#4363)
authorEric Davis <edavis@littlestreamsoftware.com>
Sun, 13 Dec 2009 04:06:55 +0000 (04:06 +0000)
committerEric Davis <edavis@littlestreamsoftware.com>
Sun, 13 Dec 2009 04:06:55 +0000 (04:06 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3166 e93f8b46-1217-0410-a6f0-8f06a7374b81

39 files changed:
app/helpers/application_helper.rb
app/views/settings/_display.rhtml
config/locales/bg.yml
config/locales/bs.yml
config/locales/ca.yml
config/locales/cs.yml
config/locales/da.yml
config/locales/de.yml
config/locales/el.yml
config/locales/en.yml
config/locales/es.yml
config/locales/fi.yml
config/locales/fr.yml
config/locales/gl.yml
config/locales/he.yml
config/locales/hu.yml
config/locales/it.yml
config/locales/ja.yml
config/locales/ko.yml
config/locales/lt.yml
config/locales/nl.yml
config/locales/no.yml
config/locales/pl.yml
config/locales/pt-BR.yml
config/locales/pt.yml
config/locales/ro.yml
config/locales/ru.yml
config/locales/sk.yml
config/locales/sl.yml
config/locales/sr.yml
config/locales/sv.yml
config/locales/th.yml
config/locales/tr.yml
config/locales/uk.yml
config/locales/vi.yml
config/locales/zh-TW.yml
config/locales/zh.yml
config/settings.yml
lib/redmine/helpers/calendar.rb

index 3e1d6ce..cdb64f4 100644 (file)
@@ -659,8 +659,18 @@ module ApplicationHelper
     unless @calendar_headers_tags_included
       @calendar_headers_tags_included = true
       content_for :header_tags do
+        start_of_week = case Setting.start_of_week.to_i
+        when 1
+          'Calendar._FD = 1;' # Monday
+        when 7
+          'Calendar._FD = 0;' # Sunday
+        else
+          '' # use language
+        end
+        
         javascript_include_tag('calendar/calendar') +
         javascript_include_tag("calendar/lang/calendar-#{current_language.to_s.downcase}.js") +
+        javascript_tag(start_of_week) +  
         javascript_include_tag('calendar/calendar-setup') +
         stylesheet_link_tag('calendar')
       end
index 351760f..10a0819 100644 (file)
@@ -7,6 +7,9 @@
 <p><label><%= l(:setting_default_language) %></label>
 <%= select_tag 'settings[default_language]', options_for_select( lang_options_for_select(false), Setting.default_language) %></p>
 
+<p><label><%= l(:setting_start_of_week) %></label>
+<%= select_tag 'settings[start_of_week]', options_for_select( [[l(:label_language_based), ''], [day_name(1),'1'], [day_name(7),'7']] , Setting.start_of_week) %></p>
+
 <p><label><%= l(:setting_date_format) %></label>
 <%= select_tag 'settings[date_format]', options_for_select( [[l(:label_language_based), '']] + Setting::DATE_FORMATS.collect {|f| [Date.today.strftime(f), f]}, Setting.date_format) %></p>
 
index 07dfe79..0ca7cdd 100644 (file)
@@ -853,3 +853,4 @@ bg:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 9bf78ab..8e317f7 100644 (file)
@@ -877,3 +877,4 @@ bs:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 77cd1fc..d23aa30 100644 (file)
@@ -856,3 +856,4 @@ ca:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 095e412..a90fbf8 100644 (file)
@@ -859,3 +859,4 @@ cs:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 6fbfd0f..2bb10f5 100644 (file)
@@ -879,3 +879,4 @@ da:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 7db4cf4..960af08 100644 (file)
@@ -879,3 +879,4 @@ de:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 32129de..1792e91 100644 (file)
@@ -859,3 +859,4 @@ el:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 6491af5..89fee2e 100644 (file)
@@ -322,6 +322,7 @@ en:
   setting_issue_done_ratio: Calculate the issue done ratio with
   setting_issue_done_ratio_issue_field: Use the issue field
   setting_issue_done_ratio_issue_status: Use the issue status
+  setting_start_of_week: Start calendars on
   
   permission_add_project: Create project
   permission_edit_project: Edit project
index 2775ae7..067037f 100644 (file)
@@ -900,3 +900,4 @@ es:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 89dcdb6..d880929 100644 (file)
@@ -889,3 +889,4 @@ fi:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 0324f8d..c203944 100644 (file)
@@ -882,3 +882,4 @@ fr:
   field_active: Actif
   enumeration_system_activity: Activité système
   setting_gravatar_default: Default Gravatar image
+  setting_start_of_week: Start calendars on
index 873daa5..9ac4095 100644 (file)
@@ -879,3 +879,4 @@ gl:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index a7a6690..b71548c 100644 (file)
@@ -863,3 +863,4 @@ he:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 8e4a977..1f3a9b5 100644 (file)
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index b149e88..46c00c9 100644 (file)
@@ -866,3 +866,4 @@ it:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index c5a0e34..f547a37 100644 (file)
@@ -888,3 +888,4 @@ ja:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 73f1233..51a7076 100644 (file)
@@ -919,3 +919,4 @@ ko:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 605e73b..bd02c2f 100644 (file)
@@ -889,3 +889,4 @@ lt:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 7fc547d..d80581c 100644 (file)
@@ -841,3 +841,4 @@ nl:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 0964853..7bc6261 100644 (file)
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index f2a6ab9..0bf2d5c 100644 (file)
@@ -882,3 +882,4 @@ pl:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index c34de1c..aae9719 100644 (file)
@@ -885,3 +885,4 @@ pt-BR:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 29f5cd2..fa9cb57 100644 (file)
@@ -871,3 +871,4 @@ pt:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index bd37a3f..c348f78 100644 (file)
@@ -856,3 +856,4 @@ ro:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 3d8c0ac..bd1d71b 100644 (file)
@@ -967,3 +967,4 @@ ru:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 20369ea..37f26d0 100644 (file)
@@ -858,3 +858,4 @@ sk:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index df6eb64..a018dc8 100644 (file)
@@ -855,3 +855,4 @@ sl:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 6ae247e..a4e36e3 100644 (file)
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index a95d9a3..35b5fc2 100644 (file)
@@ -908,3 +908,4 @@ sv:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 961ce24..2036138 100644 (file)
@@ -856,3 +856,4 @@ th:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index c819760..9f721e0 100644 (file)
@@ -886,3 +886,4 @@ tr:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 1da1159..3d92016 100644 (file)
@@ -855,3 +855,4 @@ uk:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index cdaa413..0a25b25 100644 (file)
@@ -918,3 +918,4 @@ vi:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 442d850..33f41a2 100644 (file)
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 97173fc..18661d6 100644 (file)
@@ -883,3 +883,4 @@ zh:
   notice_issue_done_ratios_updated: Issue done ratios updated.
   error_workflow_copy_source: Please select a source tracker or role
   label_update_issue_done_ratios: Update issue done ratios
+  setting_start_of_week: Start calendars on
index 754c024..1cbcba5 100644 (file)
@@ -172,3 +172,5 @@ openid:
   default: 0
 gravatar_default:
   default: ''
+start_of_week:
+  default: ''
index 3e703ea..ec47402 100644 (file)
@@ -65,7 +65,14 @@ module Redmine
       # Return the first day of week
       # 1 = Monday ... 7 = Sunday
       def first_wday
-        @first_dow ||= (l(:general_first_day_of_week).to_i - 1)%7 + 1
+        case Setting.start_of_week.to_i
+        when 1
+          @first_dow ||= (1 - 1)%7 + 1
+        when 7
+          @first_dow ||= (7 - 1)%7 + 1
+        else
+          @first_dow ||= (l(:general_first_day_of_week).to_i - 1)%7 + 1
+        end
       end
       
       def last_wday