##// END OF EJS Templates
Don't add the inclusion error when tracker is not set, the blank error is enough....
Don't add the inclusion error when tracker is not set, the blank error is enough. git-svn-id: http://svn.redmine.org/redmine/trunk@15492 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r14997:ed50d42210ea
r15110:90d14b71b365
Show More
settings_helper.rb
192 lines | 6.7 KiB | text/x-ruby | RubyLexer
/ app / helpers / settings_helper.rb
Jean-Philippe Lang
Added encoding comment to helpers (#9792)....
r8090 # encoding: utf-8
#
Jean-Philippe Lang
Adds helpers for setting field tags....
r3084 # Redmine - project management software
Jean-Philippe Lang
Updates copyright for 2016....
r14856 # Copyright (C) 2006-2016 Jean-Philippe Lang
Jean-Philippe Lang
settings are now stored in the database (config_custom.rb no more used) and editable through the application in: Admin -> Settings...
r164 #
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
Toshi MARUYAMA
remove trailing white-spaces from settings helper source....
r5709 #
Jean-Philippe Lang
settings are now stored in the database (config_custom.rb no more used) and editable through the application in: Admin -> Settings...
r164 # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
Toshi MARUYAMA
remove trailing white-spaces from settings helper source....
r5709 #
Jean-Philippe Lang
settings are now stored in the database (config_custom.rb no more used) and editable through the application in: Admin -> Settings...
r164 # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
module SettingsHelper
Jean-Philippe Lang
Admin settings screen split to tabs....
r1033 def administration_settings_tabs
tabs = [{:name => 'general', :partial => 'settings/general', :label => :label_general},
Jean-Philippe Lang
Moves a few settings to a "Display" panel....
r2273 {:name => 'display', :partial => 'settings/display', :label => :label_display},
Jean-Philippe Lang
Admin settings screen split to tabs....
r1033 {:name => 'authentication', :partial => 'settings/authentication', :label => :label_authentication},
Jean-Philippe Lang
Moved API settings to their own tab....
r14254 {:name => 'api', :partial => 'settings/api', :label => :label_api},
Jean-Philippe Lang
Adds an option to generate sequential project identifiers....
r1776 {:name => 'projects', :partial => 'settings/projects', :label => :label_project_plural},
Jean-Philippe Lang
Admin settings screen split to tabs....
r1033 {:name => 'issues', :partial => 'settings/issues', :label => :label_issue_tracking},
Jean-Philippe Lang
Moves attachments settings to a new tab....
r14264 {:name => 'attachments', :partial => 'settings/attachments', :label => :label_attachment_plural},
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 {:name => 'notifications', :partial => 'settings/notifications', :label => :field_mail_notification},
{:name => 'mail_handler', :partial => 'settings/mail_handler', :label => :label_incoming_emails},
Jean-Philippe Lang
Move API setting to Authentication tab and add translations strings....
r3108 {:name => 'repositories', :partial => 'settings/repositories', :label => :label_repository_plural}
Jean-Philippe Lang
Admin settings screen split to tabs....
r1033 ]
end
Toshi MARUYAMA
remove trailing white-spaces from settings helper source....
r5709
Jean-Philippe Lang
Adds helpers for setting field tags....
r3084 def setting_select(setting, choices, options={})
if blank_text = options.delete(:blank)
choices = [[blank_text.is_a?(Symbol) ? l(blank_text) : blank_text, '']] + choices
end
Toshi MARUYAMA
Rails3: helper: use html_safe in SettingsHelper...
r7424 setting_label(setting, options).html_safe +
Toshi MARUYAMA
code clean up settings helper....
r5830 select_tag("settings[#{setting}]",
options_for_select(choices, Setting.send(setting).to_s),
Toshi MARUYAMA
Rails3: helper: use html_safe in SettingsHelper...
r7424 options).html_safe
Jean-Philippe Lang
Adds helpers for setting field tags....
r3084 end
Toshi MARUYAMA
remove trailing white-spaces from settings helper source....
r5709
Jean-Philippe Lang
Adds helpers for setting field tags....
r3084 def setting_multiselect(setting, choices, options={})
setting_values = Setting.send(setting)
setting_values = [] unless setting_values.is_a?(Array)
Toshi MARUYAMA
remove trailing white-spaces from settings helper source....
r5709
Jean-Philippe Lang
Fixed label with invalid for attribute....
r9945 content_tag("label", l(options[:label] || "setting_#{setting}")) +
Toshi MARUYAMA
Rails3: helper: use html_safe in SettingsHelper...
r7424 hidden_field_tag("settings[#{setting}][]", '').html_safe +
Jean-Philippe Lang
Adds helpers for setting field tags....
r3084 choices.collect do |choice|
Toshi MARUYAMA
remove trailing white-spaces from settings helper source....
r5709 text, value = (choice.is_a?(Array) ? choice : [choice, choice])
Toshi MARUYAMA
code clean up settings helper....
r5830 content_tag(
'label',
check_box_tag(
"settings[#{setting}][]",
value,
Jean-Philippe Lang
Possibility to define the default enable trackers when creating a project (#13175)....
r11164 setting_values.include?(value),
Jean-Philippe Lang
Removed duplicate ids....
r9942 :id => nil
Toshi MARUYAMA
code clean up settings helper....
r5830 ) + text.to_s,
Jean-Philippe Lang
Ignore non-working days when rescheduling an issue (#2161)....
r10531 :class => (options[:inline] ? 'inline' : 'block')
Toshi MARUYAMA
code clean up settings helper....
r5830 )
Toshi MARUYAMA
Rails3: helper: use html_safe in SettingsHelper...
r7424 end.join.html_safe
Jean-Philippe Lang
Adds helpers for setting field tags....
r3084 end
Toshi MARUYAMA
remove trailing white-spaces from settings helper source....
r5709
Jean-Philippe Lang
Adds helpers for setting field tags....
r3084 def setting_text_field(setting, options={})
Toshi MARUYAMA
Rails3: helper: use html_safe in SettingsHelper...
r7424 setting_label(setting, options).html_safe +
text_field_tag("settings[#{setting}]", Setting.send(setting), options).html_safe
Jean-Philippe Lang
Adds helpers for setting field tags....
r3084 end
Toshi MARUYAMA
remove trailing white-spaces from settings helper source....
r5709
Jean-Philippe Lang
Adds helpers for setting field tags....
r3084 def setting_text_area(setting, options={})
Toshi MARUYAMA
Rails3: helper: use html_safe in SettingsHelper...
r7424 setting_label(setting, options).html_safe +
text_area_tag("settings[#{setting}]", Setting.send(setting), options).html_safe
Jean-Philippe Lang
Adds helpers for setting field tags....
r3084 end
Toshi MARUYAMA
remove trailing white-spaces from settings helper source....
r5709
Jean-Philippe Lang
Adds helpers for setting field tags....
r3084 def setting_check_box(setting, options={})
Toshi MARUYAMA
Rails3: helper: use html_safe in SettingsHelper...
r7424 setting_label(setting, options).html_safe +
Jean-Philippe Lang
Removed duplicate ids....
r9942 hidden_field_tag("settings[#{setting}]", 0, :id => nil).html_safe +
Toshi MARUYAMA
Rails3: helper: use html_safe in SettingsHelper...
r7424 check_box_tag("settings[#{setting}]", 1, Setting.send("#{setting}?"), options).html_safe
Jean-Philippe Lang
Adds helpers for setting field tags....
r3084 end
Toshi MARUYAMA
remove trailing white-spaces from settings helper source....
r5709
Jean-Philippe Lang
Adds helpers for setting field tags....
r3084 def setting_label(setting, options={})
label = options.delete(:label)
Jean-Philippe Lang
Adds settings to control start/due dates and priority on parent tasks (#5490)....
r13887 if label == false
''
else
text = label.is_a?(String) ? label : l(label || "setting_#{setting}")
label_tag("settings_#{setting}", text, options[:label_options])
end
Jean-Philippe Lang
Adds helpers for setting field tags....
r3084 end
Eric Davis
Changed the notifications to use a hierarchy UI...
r4108
# Renders a notification field for a Redmine::Notifiable option
def notification_field(notifiable)
Jean-Philippe Lang
Disable children when checking parent notifiable....
r12721 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)
Eric Davis
Changed the notifications to use a hierarchy UI...
r4108 end
Jean-Philippe Lang
Adds a setting to allow subtasks to belong to other projects (#5487)....
r10376
Jean-Philippe Lang
Adds 4h, 8h and 12h as options for session maximum lifetime (#20933)....
r14265 def session_lifetime_options
options = [[l(:label_disabled), 0]]
options += [4, 8, 12].map {|hours|
[l('datetime.distance_in_words.x_hours', :count => hours), (hours * 60).to_s]
}
options += [1, 7, 30, 60, 365].map {|days|
[l('datetime.distance_in_words.x_days', :count => days), (days * 24 * 60).to_s]
}
options
end
def session_timeout_options
options = [[l(:label_disabled), 0]]
options += [1, 2, 4, 8, 12, 24, 48].map {|hours|
[l('datetime.distance_in_words.x_hours', :count => hours), (hours * 60).to_s]
}
options
end
Jean-Philippe Lang
Configurable behavour for linking issues on copy (#18500)....
r13286 def link_copied_issue_options
options = [
[:general_text_Yes, 'yes'],
[:general_text_No, 'no'],
[:label_ask, 'ask']
]
options.map {|label, value| [l(label), value.to_s]}
end
Jean-Philippe Lang
Adds a setting to allow subtasks to belong to other projects (#5487)....
r10376 def cross_project_subtasks_options
options = [
[:label_disabled, ''],
[:label_cross_project_system, 'system'],
[:label_cross_project_tree, 'tree'],
[:label_cross_project_hierarchy, 'hierarchy'],
[:label_cross_project_descendants, 'descendants']
]
Jean-Philippe Lang
Adds settings to control start/due dates and priority on parent tasks (#5490)....
r13887 options.map {|label, value| [l(label), value.to_s]}
end
def parent_issue_dates_options
options = [
[:label_parent_task_attributes_derived, 'derived'],
[:label_parent_task_attributes_independent, 'independent']
]
options.map {|label, value| [l(label), value.to_s]}
end
def parent_issue_priority_options
options = [
[:label_parent_task_attributes_derived, 'derived'],
[:label_parent_task_attributes_independent, 'independent']
]
Jean-Philippe Lang
Adds a setting to control done ratio on parent tasks (#5490)....
r13888 options.map {|label, value| [l(label), value.to_s]}
end
def parent_issue_done_ratio_options
options = [
[:label_parent_task_attributes_derived, 'derived'],
[:label_parent_task_attributes_independent, 'independent']
]
Jean-Philippe Lang
Adds a setting to allow subtasks to belong to other projects (#5487)....
r10376 options.map {|label, value| [l(label), value.to_s]}
Jean-Philippe Lang
Adds the date format for ambiguous dates (#19243)....
r13666 end
Jean-Philippe Lang
Replace tabs with spaces and remove trailing tabs in several files (#20140)....
r13983 # Returns the options for the date_format setting
Jean-Philippe Lang
Adds the date format for ambiguous dates (#19243)....
r13666 def date_format_setting_options(locale)
Setting::DATE_FORMATS.map do |f|
Jean-Philippe Lang
Replace Date.today with User.current.today (#22320)....
r14997 today = ::I18n.l(User.current.today, :locale => locale, :format => f)
Jean-Philippe Lang
Adds the date format for ambiguous dates (#19243)....
r13666 format = f.gsub('%', '').gsub(/[dmY]/) do
{'d' => 'dd', 'm' => 'mm', 'Y' => 'yyyy'}[$&]
end
["#{today} (#{format})", f]
end
Jean-Philippe Lang
Adds a setting to allow subtasks to belong to other projects (#5487)....
r10376 end
Jean-Philippe Lang
settings are now stored in the database (config_custom.rb no more used) and editable through the application in: Admin -> Settings...
r164 end