kanbanworkflowstimelinescrumrubyroadmapproject-planningproject-managementopenprojectangularissue-trackerifcgantt-chartganttbug-trackerboardsbcf
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
125 lines
4.7 KiB
125 lines
4.7 KiB
<%#-- copyright
|
|
OpenProject is an open source project management software.
|
|
Copyright (C) 2012-2020 the OpenProject GmbH
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public License version 3.
|
|
|
|
OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
|
|
Copyright (C) 2006-2017 Jean-Philippe Lang
|
|
Copyright (C) 2010-2013 the ChiliProject Team
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
See docs/COPYRIGHT.rdoc for more details.
|
|
|
|
++#%>
|
|
|
|
(function($) {
|
|
$(function() {
|
|
|
|
$('#settings_session_ttl_enabled').on('change', function(){
|
|
$('#settings_session_ttl_container').toggle($(this).is(':checked'));
|
|
}).trigger('change');
|
|
|
|
|
|
/** Sync SCM vendor select when enabled SCMs are changed */
|
|
$('[name="settings[enabled_scm][]"]').change(function() {
|
|
var wasDisabled = !this.checked,
|
|
vendor = this.value,
|
|
select = $('#settings_repositories_automatic_managed_vendor'),
|
|
option = select.find('option[value="' + vendor + '"]');
|
|
|
|
// Skip non-manageable SCMs
|
|
if (option.length === 0) {
|
|
return;
|
|
}
|
|
|
|
option.prop('disabled', wasDisabled);
|
|
if (wasDisabled && option.prop('selected')) {
|
|
select.val('');
|
|
}
|
|
});
|
|
|
|
/* Javascript for Settings::TextSettingCell */
|
|
$(".lang-select-switch").change(function() {
|
|
var self = $(this);
|
|
var id = self.attr("id");
|
|
var lang = self.val();
|
|
|
|
$("." + id).hide();
|
|
$("#" + id + "-" + lang).show();
|
|
});
|
|
|
|
$('.admin-settings--form').submit(function() {
|
|
/* Update consent time if consent required */
|
|
if ($('#settings_consent_required').is(':checked') && $('#toggle_consent_time').is(':checked')) {
|
|
$('#settings_consent_time')
|
|
.val(new Date().toISOString())
|
|
.prop('disabled', false);
|
|
}
|
|
|
|
return true;
|
|
});
|
|
|
|
/** Toggle notification settings fields */
|
|
$("#email_delivery_method_switch").on("change", function() {
|
|
delivery_method = $(this).val();
|
|
$(".email_delivery_method_settings").hide();
|
|
$("#email_delivery_method_" + delivery_method).show();
|
|
}).trigger("change");
|
|
|
|
$('#settings_smtp_authentication').on('change', function() {
|
|
var isNone = $(this).val() === 'none';
|
|
$('#settings_smtp_user_name,#settings_smtp_password')
|
|
.closest('.form--field')
|
|
.toggle(!isNone);
|
|
});
|
|
|
|
/** Toggle repository checkout fieldsets required when option is disabled */
|
|
$('.settings-repositories--checkout-toggle').change(function() {
|
|
var wasChecked = this.checked,
|
|
fieldset = $(this).closest('fieldset');
|
|
|
|
fieldset
|
|
.find('input,select')
|
|
.filter(':not([type=checkbox])')
|
|
.filter(':not([type=hidden])')
|
|
.removeAttr('required') // Rails 4.0 still seems to use attribute
|
|
.prop('required', wasChecked);
|
|
})
|
|
|
|
/** Toggle highlighted attributes visibility depending on if the highlighting mode 'inline' was selected*/
|
|
$('.settings--highlighting-mode select').change(function() {
|
|
var highlightingMode = $(this).val();
|
|
$(".settings--highlighted-attributes").toggle(highlightingMode === "inline")
|
|
})
|
|
|
|
/** Initialize hightlighted attributes checkboxes. If none is selected, it means we want them all. So let's
|
|
* show them all as selected.
|
|
* On submitting the form, we remove all checkboxes before sending to communicate, we actually want all and not
|
|
* only the selected.*/
|
|
if ($(".settings--highlighted-attributes input[type='checkbox']:checked").length == 0) {
|
|
$(".settings--highlighted-attributes input[type='checkbox']").prop("checked", true);
|
|
}
|
|
$('#tab-content-work_packages form').submit(function() {
|
|
var availableAttributes = $(".settings--highlighted-attributes input[type='checkbox']");
|
|
var selectedAttributes = $(".settings--highlighted-attributes input[type='checkbox']:checked");
|
|
if (selectedAttributes.length == availableAttributes.length) {
|
|
availableAttributes.prop("checked", false);
|
|
}
|
|
})
|
|
});
|
|
}(jQuery));
|
|
|