summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2007-11-16 20:26:36 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2007-11-16 20:26:36 +0000
commite4ce95c3a18496e8bc20787331d8f11c6b6b6e25 (patch)
treebf0895012fc2058c0b583c69295af8da76534f46 /app
parent4951676172b2545f409c0ff677c873338bc80be5 (diff)
downloadredmine-e4ce95c3a18496e8bc20787331d8f11c6b6b6e25.tar.gz
redmine-e4ce95c3a18496e8bc20787331d8f11c6b6b6e25.zip
Added a couple of new formats for the 'date format' setting.
Added a 'time format' setting. git-svn-id: http://redmine.rubyforge.org/svn/trunk@905 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r--app/helpers/application_helper.rb10
-rw-r--r--app/models/setting.rb17
-rw-r--r--app/views/projects/activity.rhtml2
-rw-r--r--app/views/settings/edit.rhtml5
4 files changed, 28 insertions, 6 deletions
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index c03f073c1..e9ea74e2d 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -71,15 +71,17 @@ module ApplicationHelper
def format_date(date)
return nil unless date
- @date_format ||= (Setting.date_format.to_i == 0 ? l(:general_fmt_date) : "%Y-%m-%d")
+ # "Setting.date_format.size < 2" is a temporary fix (content of date_format setting changed)
+ @date_format ||= (Setting.date_format.blank? || Setting.date_format.size < 2 ? l(:general_fmt_date) : Setting.date_format)
date.strftime(@date_format)
end
- def format_time(time)
+ def format_time(time, include_date = true)
return nil unless time
- @date_format_setting ||= Setting.date_format.to_i
time = time.to_time if time.is_a?(String)
- @date_format_setting == 0 ? l_datetime(time) : (time.strftime("%Y-%m-%d") + ' ' + l_time(time))
+ @date_format ||= (Setting.date_format.blank? || Setting.date_format.size < 2 ? l(:general_fmt_date) : Setting.date_format)
+ @time_format ||= (Setting.time_format.blank? ? l(:general_fmt_time) : Setting.time_format)
+ include_date ? time.strftime("#{@date_format} #{@time_format}") : time.strftime(@time_format)
end
def authoring(created, author)
diff --git a/app/models/setting.rb b/app/models/setting.rb
index 1c953f4c8..4d4cf0045 100644
--- a/app/models/setting.rb
+++ b/app/models/setting.rb
@@ -17,6 +17,23 @@
class Setting < ActiveRecord::Base
+ DATE_FORMATS = [
+ '%Y-%m-%d',
+ '%d/%m/%Y',
+ '%d.%m.%Y',
+ '%d-%m-%Y',
+ '%m/%d/%Y',
+ '%d %b %Y',
+ '%d %B %Y',
+ '%b %d, %Y',
+ '%B %d, %Y'
+ ]
+
+ TIME_FORMATS = [
+ '%H:%M',
+ '%I:%M %p'
+ ]
+
cattr_accessor :available_settings
@@available_settings = YAML::load(File.open("#{RAILS_ROOT}/config/settings.yml"))
Redmine::Plugin.registered_plugins.each do |id, plugin|
diff --git a/app/views/projects/activity.rhtml b/app/views/projects/activity.rhtml
index cc54eac95..c902d60a3 100644
--- a/app/views/projects/activity.rhtml
+++ b/app/views/projects/activity.rhtml
@@ -4,7 +4,7 @@
<h3><%= day_name(day.cwday) %> <%= day.day %></h3>
<ul>
<% @events_by_day[day].sort {|x,y| y.event_datetime <=> x.event_datetime }.each do |e| %>
- <li><p><%= e.event_datetime.strftime("%H:%M") %> <%= link_to truncate(e.event_title, 100), e.event_url %><br />
+ <li><p><%= format_time(e.event_datetime, false) %> <%= link_to truncate(e.event_title, 100), e.event_url %><br />
<% unless e.event_description.blank? %><em><%= truncate(e.event_description, 500) %></em><br /><% end %>
<span class="author"><%= e.event_author if e.respond_to?(:event_author) %></span></p></li>
<% end %>
diff --git a/app/views/settings/edit.rhtml b/app/views/settings/edit.rhtml
index b08b707bf..62aa7974c 100644
--- a/app/views/settings/edit.rhtml
+++ b/app/views/settings/edit.rhtml
@@ -20,7 +20,10 @@
<%= select_tag 'settings[default_language]', options_for_select( lang_options_for_select(false), Setting.default_language) %></p>
<p><label><%= l(:setting_date_format) %></label>
-<%= select_tag 'settings[date_format]', options_for_select( [[l(:label_language_based), '0'], ['ISO 8601 (YYYY-MM-DD)', '1']], Setting.date_format) %></p>
+<%= 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>
+
+<p><label><%= l(:setting_time_format) %></label>
+<%= select_tag 'settings[time_format]', options_for_select( [[l(:label_language_based), '']] + Setting::TIME_FORMATS.collect {|f| [Time.now.strftime(f), f]}, Setting.time_format) %></p>
<p><label><%= l(:setting_attachment_max_size) %></label>
<%= text_field_tag 'settings[attachment_max_size]', Setting.attachment_max_size, :size => 6 %> KB</p>