Redmine 3.4.4

This commit is contained in:
Manuel Cillero 2018-02-02 22:19:29 +01:00
commit 64924a6376
2112 changed files with 259028 additions and 0 deletions

View file

@ -0,0 +1,10 @@
<%= form_tag({:action => 'edit', :tab => 'api'}) do %>
<div class="box tabular settings">
<p><%= setting_check_box :rest_api_enabled %></p>
<p><%= setting_check_box :jsonp_enabled %></p>
</div>
<%= submit_tag l(:button_save) %>
<% end %>

View file

@ -0,0 +1,21 @@
<%= form_tag({:action => 'edit', :tab => 'attachments'}) do %>
<div class="box tabular settings">
<p><%= setting_text_field :attachment_max_size, :size => 6 %> <%= l(:"number.human.storage_units.units.kb") %></p>
<p><%= setting_text_area :attachment_extensions_allowed %>
<em class="info"><%= l(:text_comma_separated) %> <%= l(:label_example) %>: txt, png</em></p>
<p><%= setting_text_area :attachment_extensions_denied %>
<em class="info"><%= l(:text_comma_separated) %> <%= l(:label_example) %>: js, swf</em></p>
<p><%= setting_text_field :file_max_size_displayed, :size => 6 %> <%= l(:"number.human.storage_units.units.kb") %></p>
<p><%= setting_text_field :diff_max_lines_displayed, :size => 6 %></p>
<p><%= setting_text_field :repositories_encodings, :size => 60 %>
<em class="info"><%= l(:text_comma_separated) %></em></p>
</div>
<%= submit_tag l(:button_save) %>
<% end %>

View file

@ -0,0 +1,55 @@
<%= form_tag({:action => 'edit', :tab => 'authentication'}) do %>
<div class="box tabular settings">
<p><%= setting_check_box :login_required %></p>
<p><%= setting_select :autologin, [[l(:label_disabled), 0]] + [1, 7, 30, 365].collect{|days| [l('datetime.distance_in_words.x_days', :count => days), days.to_s]} %></p>
<p><%= setting_select :self_registration, [[l(:label_disabled), "0"],
[l(:label_registration_activation_by_email), "1"],
[l(:label_registration_manual_activation), "2"],
[l(:label_registration_automatic_activation), "3"]],
:onchange =>
"if (this.value != '0') { $('#settings_show_custom_fields_on_registration').removeAttr('disabled'); } else { $('#settings_show_custom_fields_on_registration').attr('disabled', true); }" %></p>
<p><%= setting_check_box :show_custom_fields_on_registration,
:disabled => !Setting.self_registration? %></p>
<p><%= setting_check_box :unsubscribe %></p>
<p><%= setting_text_field :password_min_length, :size => 6 %></p>
<p>
<%= setting_select :password_max_age, [[l(:label_disabled), 0]] + [7, 30, 60, 90, 180, 365].collect{|days| [l('datetime.distance_in_words.x_days', :count => days), days.to_s]} %>
</p>
<p><%= setting_check_box :lost_password %></p>
<p><%= setting_text_field :max_additional_emails, :size => 6 %></p>
<p><%= setting_check_box :openid, :disabled => !Object.const_defined?(:OpenID) %></p>
</div>
<fieldset class="box">
<legend><%= l(:label_session_expiration) %></legend>
<div class="tabular settings">
<p><%= setting_select :session_lifetime, session_lifetime_options %></p>
<p><%= setting_select :session_timeout, session_timeout_options %></p>
</div>
<p><em class="info"><%= l(:text_session_expiration_settings) %></em></p>
</fieldset>
<fieldset class="box">
<legend><%= l(:label_default_values_for_new_users) %></legend>
<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>
<%= submit_tag l(:button_save) %>
<% end %>

View file

@ -0,0 +1,34 @@
<%= form_tag({:action => 'edit', :tab => 'display'}) do %>
<div class="box tabular settings">
<p><%= setting_select :ui_theme, Redmine::Themes.themes.collect {|t| [t.name, t.id]}, :blank => :label_default, :label => :label_theme %></p>
<p><%= setting_select :default_language, lang_options_for_select(false) %></p>
<p><%= setting_check_box :force_default_language_for_anonymous %></p>
<p><%= setting_check_box :force_default_language_for_loggedin %></p>
<p><%= setting_select :start_of_week, [[day_name(1),'1'], [day_name(6),'6'], [day_name(7),'7']], :blank => :label_language_based %></p>
<% locale = User.current.language.blank? ? ::I18n.locale : User.current.language %>
<p><%= setting_select :date_format, date_format_setting_options(locale), :blank => :label_language_based %></p>
<p><%= setting_select :time_format, Setting::TIME_FORMATS.collect {|f| [::I18n.l(Time.now, :locale => locale, :format => f), f]}, :blank => :label_language_based %></p>
<p><%= setting_select :timespan_format, [["%.2f" % 0.75, 'decimal'], ['0:45 h', 'minutes']], :blank => false %></p>
<p><%= setting_select :user_format, @options[:user_format] %></p>
<p><%= setting_check_box :gravatar_enabled %></p>
<p><%= setting_select :gravatar_default, [["Wavatars", 'wavatar'], ["Identicons", 'identicon'], ["Monster ids", 'monsterid'], ["Retro", 'retro'], ["Mystery man", 'mm']], :blank => :label_none %></p>
<p><%= setting_check_box :thumbnails_enabled %></p>
<p><%= setting_text_field :thumbnails_size, :size => 6 %></p>
<p><%= setting_select :new_item_menu_tab, [[l(:label_none), '0'], [l(:label_new_project_issue_tab_enabled), '1'], [l(:label_new_object_tab_enabled), '2']] %></p>
</div>
<%= submit_tag l(:button_save) %>
<% end %>

View file

@ -0,0 +1,34 @@
<%= form_tag({:action => 'edit'}) do %>
<div class="box tabular settings">
<p><%= setting_text_field :app_title, :size => 30 %></p>
<p><%= setting_text_area :welcome_text, :cols => 60, :rows => 5, :class => 'wiki-edit' %></p>
<%= wikitoolbar_for 'settings_welcome_text' %>
<p><%= setting_text_field :per_page_options, :size => 20 %>
<em class="info"><%= l(:text_comma_separated) %></em></p>
<p><%= setting_text_field :search_results_per_page, :size => 6 %>
<p><%= setting_text_field :activity_days_default, :size => 6 %> <%= l(:label_day_plural) %></p>
<p><%= setting_text_field :host_name, :size => 60 %>
<em class="info"><%= l(:label_example) %>: <%= @guessed_host_and_path %></em></p>
<p><%= setting_select :protocol, [['HTTP', 'http'], ['HTTPS', 'https']] %></p>
<p><%= setting_select :text_formatting, Redmine::WikiFormatting.formats_for_select, :blank => :label_none %></p>
<p><%= setting_check_box :cache_formatted_text %></p>
<p><%= setting_select :wiki_compression, [['Gzip', 'gzip']], :blank => :label_none %></p>
<p><%= setting_text_field :feeds_limit, :size => 6 %></p>
<%= call_hook(:view_settings_general_form) %>
</div>
<%= submit_tag l(:button_save) %>
<% end %>

View file

@ -0,0 +1,49 @@
<%= form_tag({:action => 'edit', :tab => 'issues'}) do %>
<div class="box tabular settings">
<p><%= setting_check_box :cross_project_issue_relations %></p>
<p><%= setting_select :link_copied_issue, link_copied_issue_options %></p>
<p><%= setting_select :cross_project_subtasks, cross_project_subtasks_options %></p>
<p><%= setting_check_box :issue_group_assignment %></p>
<p><%= setting_check_box :default_issue_start_date_to_creation_date %></p>
<p><%= setting_check_box :display_subprojects_issues %></p>
<p><%= setting_select :issue_done_ratio, Issue::DONE_RATIO_OPTIONS.collect {|i| [l("setting_issue_done_ratio_#{i}"), i]} %></p>
<p><%= setting_multiselect :non_working_week_days, (1..7).map {|d| [day_name(d), d.to_s]}, :inline => true %></p>
<p><%= setting_text_field :issues_export_limit, :size => 6 %></p>
<p><%= setting_text_field :gantt_items_limit, :size => 6 %></p>
</div>
<fieldset class="box">
<legend><%= l(:label_parent_task_attributes) %></legend>
<div class="tabular settings">
<p><%= setting_select :parent_issue_dates, parent_issue_dates_options, :label => "#{l(:field_start_date)} / #{l(:field_due_date)}" %></p>
<p><%= setting_select :parent_issue_priority, parent_issue_priority_options, :label => :field_priority %></p>
<p><%= setting_select :parent_issue_done_ratio, parent_issue_done_ratio_options, :label => :field_done_ratio %></p>
</div>
</fieldset>
<fieldset class="box">
<legend><%= l(:setting_issue_list_default_columns) %></legend>
<%= render_query_columns_selection(
IssueQuery.new(:column_names => Setting.issue_list_default_columns),
:name => 'settings[issue_list_default_columns]') %>
<p><%= setting_multiselect :issue_list_default_totals,
IssueQuery.new(:totalable_names => Setting.issue_list_default_totals).available_totalable_columns.map {|c| [c.caption, c.name.to_s]},
:inline => true,
:label => :label_total_plural %></p>
</fieldset>
<%= submit_tag l(:button_save) %>
<% end %>

View file

@ -0,0 +1,32 @@
<%= form_tag({:action => 'edit', :tab => 'mail_handler'}) do %>
<div class="box tabular settings">
<p>
<%= setting_text_area :mail_handler_body_delimiters, :rows => 5 %>
<label class="block">
<%= setting_check_box :mail_handler_enable_regex_delimiters, :label => false %>
<%= l(:setting_mail_handler_enable_regex_delimiters) %>
</label>
<em class="info"><%= l(:text_line_separated) %></em>
</p>
<p>
<%= setting_text_field :mail_handler_excluded_filenames, :size => 60 %>
<em class="info"><%= l(:text_comma_separated) %>
<%= l(:label_example) %>: smime.p7s, *.vcf</em>
</p>
</div>
<div class="box tabular settings">
<p><%= setting_check_box :mail_handler_api_enabled,
:onclick => "if (this.checked) { $('#settings_mail_handler_api_key').removeAttr('disabled'); } else { $('#settings_mail_handler_api_key').attr('disabled', true); }"%></p>
<p><%= setting_text_field :mail_handler_api_key, :size => 30,
:id => 'settings_mail_handler_api_key',
:disabled => !Setting.mail_handler_api_enabled? %>
<%= link_to_function l(:label_generate_key), "if (!$('#settings_mail_handler_api_key').attr('disabled')) { $('#settings_mail_handler_api_key').val(randomKey(20)) }" %>
</p>
</div>
<%= submit_tag l(:button_save) %>
<% end %>

View file

@ -0,0 +1,42 @@
<% if @deliveries %>
<%= form_tag({:action => 'edit', :tab => 'notifications'}) do %>
<div class="box tabular settings">
<p><%= setting_text_field :mail_from, :size => 60 %></p>
<p><%= setting_check_box :bcc_recipients %></p>
<p><%= setting_check_box :plain_text_mail %></p>
<p><%= setting_select(:default_notification_option, User.valid_notification_options.collect {|o| [l(o.last), o.first.to_s]}) %></p>
</div>
<fieldset class="box" id="notified_events"><legend><%=l(:text_select_mail_notifications)%></legend>
<%= hidden_field_tag 'settings[notified_events][]', '' %>
<% @notifiables.each do |notifiable| %>
<%= notification_field notifiable %>
<br />
<% end %>
<p><%= check_all_links('notified_events') %></p>
</fieldset>
<fieldset class="box"><legend><%= l(:setting_emails_header) %></legend>
<%= setting_text_area :emails_header, :label => false, :class => 'wiki-edit', :rows => 5 %>
</fieldset>
<fieldset class="box"><legend><%= l(:setting_emails_footer) %></legend>
<%= setting_text_area :emails_footer, :label => false, :class => 'wiki-edit', :rows => 5 %>
</fieldset>
<div style="float:right;">
<%= link_to l(:label_send_test_email), test_email_path, :method => :post %>
</div>
<%= submit_tag l(:button_save) %>
<% end %>
<% else %>
<div class="nodata">
<%= simple_format(l(:text_email_delivery_not_configured)) %>
</div>
<% end %>

View file

@ -0,0 +1,20 @@
<%= form_tag({:action => 'edit', :tab => 'projects'}) do %>
<div class="box tabular settings">
<p><%= setting_check_box :default_projects_public %></p>
<p><%= setting_multiselect(:default_projects_modules,
Redmine::AccessControl.available_project_modules.collect {|m| [l_or_humanize(m, :prefix => "project_module_"), m.to_s]}) %></p>
<p><%= setting_multiselect(:default_projects_tracker_ids,
Tracker.sorted.collect {|t| [t.name, t.id.to_s]}) %></p>
<p><%= setting_check_box :sequential_project_identifiers %></p>
<p><%= setting_select :new_project_user_role_id,
Role.find_all_givable.collect {|r| [r.name, r.id.to_s]},
:blank => "--- #{l(:actionview_instancetag_blank_option)} ---" %></p>
</div>
<%= submit_tag l(:button_save) %>
<% end %>

View file

@ -0,0 +1,160 @@
<%= form_tag({:action => 'edit', :tab => 'repositories'}) do %>
<fieldset class="box settings enabled_scm">
<legend><%= l(:setting_enabled_scm) %></legend>
<%= hidden_field_tag 'settings[enabled_scm][]', '' %>
<table>
<tr>
<th></th>
<th><%= l(:text_scm_command) %></th>
<th><%= l(:text_scm_command_version) %></th>
</tr>
<% Redmine::Scm::Base.all.collect do |choice| %>
<% scm_class = "Repository::#{choice}".constantize %>
<% text, value = (choice.is_a?(Array) ? choice : [choice, choice]) %>
<% setting = :enabled_scm %>
<% enabled = Setting.send(setting).include?(value) %>
<tr>
<td class="scm_name">
<label>
<%= check_box_tag("settings[#{setting}][]", value, enabled, :id => nil) %>
<%= text.to_s %>
</label>
</td>
<td>
<% if enabled %>
<span class="icon <%= (scm_class.scm_available ? 'icon-ok' : 'icon-error') %>"></span>
<%= scm_class.scm_command %>
<% end %>
</td>
<td>
<%= scm_class.scm_version_string if enabled %>
</td>
</tr>
<% end %>
</table>
<p><em class="info"><%= l(:text_scm_config) %></em></p>
</fieldset>
<div class="box tabular settings">
<p><%= setting_check_box :autofetch_changesets %></p>
<p><%= setting_check_box :sys_api_enabled,
:onclick =>
"if (this.checked) { $('#settings_sys_api_key').removeAttr('disabled'); } else { $('#settings_sys_api_key').attr('disabled', true); }" %></p>
<p><%= setting_text_field :sys_api_key,
:size => 30,
:id => 'settings_sys_api_key',
:disabled => !Setting.sys_api_enabled? %>
<%= link_to_function l(:label_generate_key),
"if (!$('#settings_sys_api_key').attr('disabled')) { $('#settings_sys_api_key').val(randomKey(20)) }" %>
</p>
<p><%= setting_text_field :repository_log_display_limit, :size => 6 %></p>
<p><%= setting_check_box :commit_logs_formatting %></p>
</div>
<fieldset class="box tabular settings">
<legend><%= l(:text_issues_ref_in_commit_messages) %></legend>
<p><%= setting_text_field :commit_ref_keywords, :size => 30 %>
<em class="info"><%= l(:text_comma_separated) %></em></p>
<p><%= setting_check_box :commit_cross_project_ref %></p>
<p><%= setting_check_box :commit_logtime_enabled,
:onclick =>
"if (this.checked) { $('#settings_commit_logtime_activity_id').removeAttr('disabled'); } else { $('#settings_commit_logtime_activity_id').attr('disabled', true); }"%></p>
<p><%= setting_select :commit_logtime_activity_id,
[[l(:label_default), 0]] +
TimeEntryActivity.shared.active.collect{|activity| [activity.name, activity.id.to_s]},
:disabled => !Setting.commit_logtime_enabled?%></p>
</fieldset>
<table class="list" id="commit-keywords">
<thead>
<tr>
<th><%= l(:label_tracker) %></th>
<th><%= l(:setting_commit_fix_keywords) %></th>
<th><%= l(:label_applied_status) %></th>
<th><%= l(:field_done_ratio) %></th>
<th class="buttons"></th>
</tr>
</thead>
<tbody>
<% @commit_update_keywords.each do |rule| %>
<tr class="commit-keywords">
<td>
<%= select_tag(
"settings[commit_update_keywords][if_tracker_id][]",
options_for_select(
[[l(:label_all), ""]] +
Tracker.sorted.map {|t| [t.name, t.id.to_s]},
rule['if_tracker_id']),
:id => nil
) %>
</td>
<td>
<%= text_field_tag("settings[commit_update_keywords][keywords][]",
rule['keywords'], :id => nil, :size => 30) %>
</td>
<td>
<%= select_tag("settings[commit_update_keywords][status_id][]",
options_for_select(
[["", 0]] +
IssueStatus.sorted.
collect{|status| [status.name, status.id.to_s]},
rule['status_id']),
:id => nil
) %>
</td>
<td>
<%= select_tag("settings[commit_update_keywords][done_ratio][]",
options_for_select(
[["", ""]] +
(0..10).to_a.collect {|r| ["#{r*10} %", "#{r*10}"] },
rule['done_ratio']),
:id => nil
) %>
</td>
<td class="buttons">
<%= link_to(l(:button_delete), '#',
:class => 'delete-commit-keywords icon-only icon-del',
:title => l(:button_delete)) %>
</td>
</tr>
<% end %>
<tr>
<td></td>
<td><em class="info"><%= l(:text_comma_separated) %></em></td>
<td></td>
<td></td>
<td class="buttons">
<%= link_to(l(:button_add), '#',
:class => 'add-commit-keywords icon-only icon-add',
:title => l(:button_add)) %>
</td>
</tr>
</tbody>
</table>
<p><%= submit_tag l(:button_save) %></p>
<% end %>
<%= javascript_tag do %>
$('#commit-keywords').on('click', 'a.delete-commit-keywords', function(e){
e.preventDefault();
if ($('#commit-keywords tbody tr.commit-keywords').length > 1) {
$(this).parents('#commit-keywords tr').remove();
} else {
$('#commit-keywords tbody tr.commit-keywords').find('input, select').val('');
}
});
$('#commit-keywords').on('click', 'a.add-commit-keywords', function(e){
e.preventDefault();
var row = $('#commit-keywords tr.commit-keywords:last');
row.clone().insertAfter(row).find('input, select').val('');
});
<% end %>

View file

@ -0,0 +1,10 @@
<%= form_tag({:action => 'edit', :tab => 'timelog'}) do %>
<div class="box tabular settings">
<p><%= setting_multiselect(:timelog_required_fields,
[[l(:field_issue), 'issue_id'], [l(:field_comments), 'comments'] ]) %></p>
</div>
<%= submit_tag l(:button_save) %>
<% end %>

View file

@ -0,0 +1,7 @@
<h2><%= l(:label_settings) %></h2>
<%= render_settings_error @setting_errors %>
<%= render_tabs administration_settings_tabs %>
<% html_title(l(:label_settings), l(:label_administration)) -%>

View file

@ -0,0 +1,10 @@
<%= title [l(:label_plugins), {:controller => 'admin', :action => 'plugins'}], @plugin.name %>
<div id="settings">
<%= form_tag({:action => 'plugin'}) do %>
<div class="box tabular settings">
<%= render :partial => @partial, :locals => {:settings => @settings}%>
</div>
<%= submit_tag l(:button_apply) %>
<% end %>
</div>