[%# 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" %]

[% PROCESS global/header.html.tmpl
  title = 'Настройка видов согласования'
  style_urls = ['skins/standard/admin.css']
  onload="var f = document.flagtype_form; selectProduct(f.product, f.component, null, null, '__Все__');"
  javascript_urls=["js/productform.js"]
  doc_section = "administering/flags.html"
%]

<p>
  Согласования — это пометки, определяющие одобрено или отклонено некоторое 
  состояние для [% terms.bug_gen %] или приложения. Согласования видны
  как пометки ("+" для одобренных, "-" для отклоненных, и "?" для запрошенных)
  против названия вида.
</p>

<p>
  Например, вы можете описать согласование "review" для пользователей, которые
  запрашивают инспекцию предлагаемых изменений.  Когда автор запросит инспекцию, 
  приложение будет помечено "review?". Когда рецензент изучит изменения,
  пометка изменится на "review+" либо "review-" в зависимости от принятого решения.
</p>

<p>
  Можно выбрать виды согласований, допустимые для конкретного продукта
  и компонента. Если продукт выбран без указания компонента, отображаются
  виды согласований, допустимые хотя бы для одного из компонентов.
</p>

<form id="flagtype_form" name="flagtype_form" action="editflagtypes.cgi" method="get">
  <div class="inline">
    <label for="product">Продукт:</label>
    [% INCLUDE "global/product-select.html.tmpl"
      id       => "product"
      name     => "product"
      add      => "__Все__"
      onchange => "selectProduct(this, this.form.component, null, null, '__Все__');"
      products => products
    %]
  </div>

  <div class="inline">
    <label for="component">Компонент:</label>
    <select name="component">
      <option value="">__Все__</option>
      [% FOREACH comp = components %]
        <option value="[% comp FILTER html %]"
          [%+ 'selected="selected"' IF selected_component == comp %]>
          [%- comp FILTER html %]</option>
      [% END %]
    </select>
  </div>

  <div class="inline">
    <input type="checkbox" id="show_flag_counts" name="show_flag_counts" value="1"
      [%+ 'checked="checked"' IF show_flag_counts %]>
    <label for="show_flag_counts">Показать счетчик согласований</label>
  </div>

  <input type="submit" id="submit" value="Показать">
</form>

<h3>Виды согласований для [% terms.bugs_gen %]</h3>

[% PROCESS display_flag_types types=bug_types types_id='bugs' %]

<p>
  <a href="editflagtypes.cgi?action=enter&amp;target_type=bug">Создать вид согласования для [% terms.bugs_gen %]</a>
</p>

<h3>Виды согласований для приложений</h3>

[% PROCESS display_flag_types types=attachment_types types_id='attachments' %]

<p>
  <a href="editflagtypes.cgi?action=enter&amp;target_type=attachment">Создать вид согласования для приложений</a>
</p>

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


[% BLOCK display_flag_types %]
  <table id="flag_types_[% types_id FILTER html %]">

    <tr class="column_header">
      <th>Изменить имя...</th>
      <th>Описание</th>
      <th>Порядок сортировки</th>
      <th>Параметры</th>
      <th>Ответственные</th>
      <th>Инициаторы</th>
      [% IF show_flag_counts %]
        <th>Статистика</th>
        [%# Note to translators: translate the strings in quotes only. %]
        [% state_desc = {granted = 'одобрено' denied = 'отклонено' pending = 'в процессе'} %]
      [% END %]
      <th>Действия</th>
    </tr>

    [% FOREACH type = types %]

      <tr class="[% IF type.is_active %]active[% ELSE %]inactive[% END %]">
        <td class="nowrap">
          <a href="editflagtypes.cgi?action=edit&amp;id=[% type.id %]">[% type.name FILTER html %]</a>
        </td>
        <td>[% type.description FILTER html %]</td>
        <td class="right">[% type.sortkey FILTER html %]</td>
        <td>
          [% IF type.is_requestable %]
            <span class="requestable">по запросу</span>
          [% END %]
          [% IF type.is_requestable && type.is_requesteeble %]
            <span class="requesteeble">(адресное)</span>
          [% END %]
          [% IF type.is_multiplicable %]
            <span class="multiplicable">многократное</span>
          [% END %]
        </td>
        <td>[% IF type.grant_group %][% type.grant_group.name FILTER html %][% END %]</td>
        <td>[% IF type.request_group %][% type.request_group.name FILTER html %][% END %]</td>
        [% IF show_flag_counts %]
          <td>
            [% FOREACH state = ['granted', 'pending', 'denied'] %]
              [% bug_list = bug_lists.${type.id}.$state || [] %]
              [% IF bug_list.size %]
                <a href="buglist.cgi?bug_id=[% bug_list.unique.nsort.join(",") FILTER html %]">
                  [% bug_list.size FILTER html %] [%+ state_desc.$state FILTER html %]
                </a>
                <br>
              [% ELSE %]
                0 [% state_desc.$state FILTER html %]<br>
              [% END %]
            [% END %]
          </td>
        [% END %]
        <td>
          <a href="editflagtypes.cgi?action=copy&amp;id=[% type.id %]">Copy</a>
          | <a href="editflagtypes.cgi?action=confirmdelete&amp;id=[% type.id %]">Delete</a>
        </td>
      </tr>

    [% END %]

  </table>
[% END %]
