[%# The contents of this file are subject to the Mozilla Public
  # License Version 1.1 (the "License"); you may not use this file
  # except in compliance with the License. You may obtain a copy of
  # the License at http://www.mozilla.org/MPL/
  #
  # Software distributed under the License is distributed on an "AS
  # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  # implied. See the License for the specific language governing
  # rights and limitations under the License.
  #
  # The Original Code is the Bugzilla Bug Tracking System.
  #
  # Contributor(s): Shane H. W. Travis <travis@sedsystems.ca>
  #                 Frédéric Buclin <LpSolit@gmail.com>
  #
  #%]

[%# INTERFACE:
  # settings:      a hash of hashes, keyed by category name.
  #                Each hash value is a list of hashes containing:
  #                 name          - string (name of the setting)
  #                 is_enabled    - boolean
  #                 default_value - string (global default for this setting)
  #                 value         - string (user-defined preference)
  #                 is_default    - boolean (true if user has no preference)
  # has_settings_enabled : boolean; is true if there is at least one user pref
  #                        enabled by the maintainer.
  #%]

[% PROCESS "global/setting-descs.none.tmpl" %]

[% SET category_names = settings.keys.sort %]

[% IF category_names.size %]
  [% UNLESS has_settings_enabled %]
    <p class="criticalmessages">
      All user preferences have been disabled by the
      <a href="mailto:[% Param("maintainer") %]">maintainer</a>
      of this installation, and so you cannot customize any.
    </p>
  [% END %]

  <table border="0" cellpadding="8">
  [% FOREACH category = category_names %]
    <tr>
      <td class="category_header">
        [% category FILTER html %]
      </td>
    </tr>
    [% FOREACH setting = settings.$category %]
      [% setting_name = setting._setting_name %]
      [% default_name = setting_name _ '-isdefault' %]
      [% default_val  = setting.default_value %]
      <tr id="[% setting_name FILTER html %]_row">
        <td class="setting_label">
          [% setting_descs.$setting_name OR setting_name FILTER html %]
        </td>
        <td class="setting_choice">
          <select name="[% setting_name FILTER html %]" id="[% setting_name FILTER html %]">
            <option value="[% default_name FILTER html %]"
              [% ' selected="selected"' IF setting.is_default %]>
              Site Default ([% setting_descs.${default_val} OR default_val FILTER html %])
            </option>
            [% FOREACH x = setting.legal_values %]
              <option value="[% x FILTER html %]"
                [% ' selected="selected"'
                  IF x == setting.value
                    AND NOT setting.is_default %]>
                [% setting_descs.${x} OR x FILTER html %]
              </option>
            [% END %]
          </select>
          [% IF setting_name == "api_key_only" %]
            [% INCLUDE "mfa/protected.html.tmpl" %]
          [% END %]
        </td>
      </tr>
    [% END %]
  [% END %]
  </table>
[% END %]

<script [% script_nonce FILTER none %]>
$().ready(function() {
  var id = document.location.hash.substring(1) + '_row';
  $('#' + id).addClass('highlighted');
});
</script>
