[%# This Source Code Form is subject to the terms of the Mozilla Public
  # License, v. 2.0. If a copy of the MPL was not distributed with this
  # file, You can obtain one at http://mozilla.org/MPL/2.0/.
  #
  # This Source Code Form is "Incompatible With Secondary Licenses", as
  # defined by the Mozilla Public License, v. 2.0.
  #%]

[% PROCESS "global/js-products.html.tmpl" %]

[% IF action == "insert" %]
  [% title = BLOCK %]
    Создать вид согласования для [% type.target_type == "bug" ? terms.Bugs_gen : "Приложений" %]
    [% IF type.id %]
      На основе [% type.name FILTER html %]
    [% END %]
  [% END %]
[% ELSE %]
  [% title = BLOCK %]Изменение вида согласования [% type.name FILTER html %][% END %]
[% END %]

[% PROCESS global/header.html.tmpl
  title = title
  style_urls = ['skins/standard/admin.css']
  onload="var f = document.forms['flagtype_properties'];
          selectProduct(f.product, f.component, null, null, '__Все__');"
  javascript_urls=["js/productform.js"]
  doc_section = "administering/flags.html"
%]

<form id="flagtype_properties" method="post" action="editflagtypes.cgi">
  <input type="hidden" name="action" value="[% action FILTER html %]">
  <input type="hidden" name="can_fully_edit" value="[% can_fully_edit FILTER html %]">
  <input type="hidden" name="id" value="[% type.id FILTER html %]">
  <input type="hidden" name="token" value="[% token FILTER html %]">
  <input type="hidden" name="target_type" value="[% type.target_type FILTER html %]">
  <input type="hidden" name="check_clusions" value="[% check_clusions FILTER none %]">
  [% FOREACH category = inclusions.values %]
    <input type="hidden" name="inclusions" value="[% category FILTER html %]">
  [% END %]
  [% FOREACH category = exclusions.values %]
    <input type="hidden" name="exclusions" value="[% category FILTER html %]">
  [% END %]

  [%# Add a hidden button at the top of the form so that the user pressing "return"
    # really submit the form, as expected. %]
  <input type="submit" id="commit" value="Отправить" class="bz_default_hidden">

  <table id="admin_table_edit">
    <tr>
      <th>Название:</th>
      <td>
        краткое название, описывающее тему согласования.<br>
        <input type="text" name="name" value="[% type.name FILTER html %]" size="50"
               maxlength="50" [%- ' disabled="disabled"' UNLESS can_fully_edit %] required>
      </td>
    </tr>

    <tr>
      <th>Описание:</th>
      <td>
        подробное описание согласования.<br>
        [% INCLUDE global/textarea.html.tmpl
          name           = 'description'
          minrows        = 4
          cols           = 80
          defaultcontent = type.description
          disabled       = !can_fully_edit
          mandatory      = 1
        %]
      </td>
    </tr>

    <tr>
      <th>Категория:</th>

      <td>
        продукты/компоненты, к которым должны принадлежать (включение) или 
        не принадлежать (исключение) [% type.target_type == "bug" ? terms.bugs_acc : "приложения" %],
        чтобы пользователи могли использовать согласования этого вида.
        [% UNLESS can_fully_edit %]
          <p class="warning">Этот тип согласования также применяется к некоторым продуктам, которые
           вам не разрешено изменять (и которые поэтому не отображаются в расположенных ниже списках).
           Ваши ограниченные права означают, что вы можете только добавлять( или удалять) этот тип
           согласования в продукты (или из продуктов), которые вы можете изменять, но вы не можете 
           изменять другие свойства этого типа согласования.</p>
        [% END %]
        <table>
          <tr>
            <th class="top left">
              Продукт/Компонент:<br>
              [% INCLUDE "global/product-select.html.tmpl"
                id       => "product"
                name     => "product"
                add      => "__Все__"
                onchange => "selectProduct(this, this.form.component, null, null, '__Все__');"
                products => products
              %]<br>
              <select name="component">
                <option value="">__Все__</option>
                [% FOREACH comp = components %]
                  <option value="[% comp FILTER html %]">[% comp FILTER html %]</option>
                [% END %]
              </select><br>
              <input type="submit" id="categoryAction-include" 
                                   name="categoryAction-include" value="Включить">
              <input type="submit" id="categoryAction-exclude"
                                   name="categoryAction-exclude" value="Исключить">
            </th>
            <th class="top left">
              Включая:<br>
              [% PROCESS category_select name="inclusion_to_remove" categories = inclusions %]<br>
              <input type="submit" id="categoryAction-removeInclusion" 
                     name="categoryAction-removeInclusion" value="Удалить включение">
            </th>
            <th class="top left">
              Исключая:<br>
              [% PROCESS category_select name="exclusion_to_remove" categories = exclusions %]<br>
              <input type="submit" id="categoryAction-removeExclusion" 
                     name="categoryAction-removeExclusion" value="Удалить исключение">
            </th>
          </tr>
        </table>
      </td>
    </tr>

    <tr>
      <th>Порядок сортировки:</th>
      <td>
        число в интервале между 0 и [% constants.MAX_SMALLINT FILTER none %] для управления 
        порядком отображения согласований; по умолчанию они отображаются в алфавитном порядке.<br>
        <input type="text" name="sortkey" value="[% type.sortkey || 0 FILTER html %]" size="5"
               maxlength="5" [% ' disabled="disabled"' UNLESS can_fully_edit %] required>
      </td>
    </tr>

    <tr>
      <th>&nbsp;</th>
      <td>
        <input type="checkbox" id="is_active" name="is_active"
               [%- ' disabled="disabled"' UNLESS can_fully_edit %]
               [% " checked" IF type.is_active || !type.is_active.defined %]>
        <label for="is_active">разрешить (согласования видны пользователю и могут быть изменены)</label>
      </td>
    </tr>

    <tr>
      <th>&nbsp;</th>
      <td>
        <input type="checkbox" id="is_requestable" name="is_requestable"
               [%- ' disabled="disabled"' UNLESS can_fully_edit %]
               [% " checked" IF type.is_requestable || !type.is_requestable.defined %]>
        <label for="is_requestable">разрешить запрашивать потребность в согласовании</label>
      </td>
    </tr>

    <tr>
      <th>Список подписчиков:</th>
      <td>
        список пользователей, которые должны получать оповещения, когда
        кто-либо запрашивает согласование этого вида. Адреса разделяются
        запятыми и не обязательно соответствуют пользователям [% terms.Bugzilla %].
        [% IF Param('emailsuffix') %]
          Обратите внимание на то, что параметр 'emailsuffix'
          <kbd>[% Param('emailsuffix') %]</kbd> здесь <em>не используется</em>.
          Адреса следует указать полностью.
        [% END %]<br>
        <input type="text" name="cc_list" value="[% type.cc_list FILTER html %]" size="80"
               maxlength="200" [%- ' disabled="disabled"' UNLESS can_fully_edit %]>
      </td>
    </tr>

    <tr>
      <th>&nbsp;</th>
      <td>
        <input type="checkbox" id="is_requesteeble" name="is_requesteeble"
               [%- ' disabled="disabled"' UNLESS can_fully_edit %]
               [% " checked" IF type.is_requesteeble || !type.is_requesteeble.defined %]>
        <label for="is_requesteeble">разрешить запрашивать согласование конкретным пользователем 
          (в отличие от запроса "кому-нибудь")</label>
      </td>
    </tr>

    <tr>
      <th>&nbsp;</th>
      <td>
        <input type="checkbox" id="is_multiplicable" name="is_multiplicable"
               [%- ' disabled="disabled"' UNLESS can_fully_edit %]
               [% " checked" IF type.is_multiplicable || !type.is_multiplicable.defined %]>
        <label for="is_multiplicable">многократное (допускает несколько согласований этого
         вида для [% type.target_type == "bug" ? terms.bugs_gen : "приложений" %])</label>
      </td>
    </tr>

    <tr>
      <th>Ответственные:</th>
      <td>
        Группа пользователей, имеющих право одобрять и отклонять согласования этого вида
        (если поле не заполнено, все пользователи имеют такое право).<br>
        [% PROCESS group_select selname = "grant_group" %]
      </td>
    </tr>

    <tr>
      <th>Инициаторы:</th>
      <td>
        Группа пользователей, имеющих право запрашивать согласования
        (если поле не заполнено, все пользователи имеют такое право).<br>
        Не имеет эффекта если не определена группа ответственных!<br>
        [% PROCESS group_select selname = "request_group" %]
      </td>
    </tr>

    <tr>
      <th>&nbsp;</th>
      <td>
        <input type="submit" id="save" value="[% action == "insert" ? "Создать" : "Сохранить" %]">
      </td>
    </tr>

  </table>

</form>

[% PROCESS global/footer.html.tmpl %]


[%############################################################################%]
[%# Block for SELECT fields                                                  #%]
[%############################################################################%]

[% BLOCK group_select %]
  <select name="[% selname %]" id="[% selname %]" [%- ' disabled="disabled"' UNLESS can_fully_edit %]>
    <option value="">(не определена)</option>
    [% group_found = 0 %]
    [% FOREACH group = groups %]
      <option value="[% group.name FILTER html %]"
        [% IF type.${selname} && type.${selname}.name == group.name %]
          [% ' selected="selected"' %]
          [% group_found = 1 %]
        [% END %]>
        [%- group.name FILTER html ~%]
      </option>
    [% END %]
    [% IF !group_found && type.${selname}.name %]
      <option value="[% type.${selname}.name FILTER html %]" selected="selected">
        [%- type.${selname}.name FILTER html ~%]
      </option>
    [% END %]
  </select>
[% END %]

[% BLOCK category_select %]
  <select name="[% name FILTER html %]" multiple="multiple" size="7">
    [% FOREACH option = categories.keys.sort %]
      <option value="[% categories.$option FILTER html %]">
        [% option FILTER html %]
      </option>
    [% END %]
  </select>
[% END %]
