##// END OF EJS Templates
Lists can be reordered with drag and drop (#12909)....
Lists can be reordered with drag and drop (#12909). git-svn-id: http://svn.redmine.org/redmine/trunk@15336 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r14856:cda9c63d9c21
r14954:42b5c332b2c2
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|
today = ::I18n.l(Date.today, :locale => locale, :format => f)
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