[%# 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.
  #
  # The Initial Developer of the Original Code is Netscape Communications
  # Corporation. Portions created by Netscape are
  # Copyright (C) 1998 Netscape Communications Corporation. All
  # Rights Reserved.
  #
  # Contributor(s): Dave Miller <justdave@syndicomm.com>
  #                 Joel Peshkin <bugreport@peshkin.net>
  #                 Jacob Steenhagen <jake@bugzilla.org>
  #                 Vlad Dascalu <jocuri@softhome.net>
  #                 Max Kanat-Alexander <mkanat@bugzilla.org>
  #%]

[%# INTERFACE:
  # group - A Bugzilla::Group representing the group being edited.
  # *_current - Arrays of Bugzilla::Group objects that show the current
  #             values for this group, as far as grants.
  # *_available - Arrays of Bugzilla::Group objects that show the current 
  #               available values for each grant.
  #%]

[% title = BLOCK %]Change Group: [% group.name FILTER html %][% END %]

[% PROCESS global/header.html.tmpl
  title = title
  doc_section = "groups.html#edit-groups"
  style = "
    .grant_table { border-collapse: collapse; }
    .grant_table td, .grant_table th {
        padding-left: .5em;
    }
    .grant_table td.one, .grant_table th.one {
        border-right: 1px solid black;
        padding-right: .5em;
    }
  "
%]

<form method="post" action="editgroups.cgi">
  <input type="hidden" name="action" value="postchanges">
  <input type="hidden" name="group_id" value="[% group.id FILTER html %]">

  <table border="1" cellpadding="4">
    <tr>
      <th>Group:</th>
      <td>
        [% IF group.is_bug_group %]
          <input type="text" name="name" size="60" 
                 value="[% group.name FILTER html %]">
        [% ELSE %]
          [% group.name FILTER html %]
        [% END %]
      </td>
    </tr>

    <tr>
      <th>Description:</th>
      <td>
        [% IF group.is_bug_group %]
          <input type="text" name="desc" size="70" 
                 value="[% group.description FILTER html %]">
        [% ELSE %]
          [% group.description FILTER html %]
        [% END %]
      </td>
    </tr>

    <tr>
      <th>User Regexp:</th>
      <td>
        <input type="text" name="regexp" size="40" 
               value="[% group.user_regexp FILTER html %]">
      </td>
    </tr>

    <tr>
      <th>
        Icon URL:
        [% IF group.icon_url %]
          <img src="[% group.icon_url FILTER html %]" alt="[% group.name FILTER html %]">
        [% END %]
      </th>
      <td>
        <input type="text" name="icon_url" size="70" maxlength="255"
               value="[% group.icon_url FILTER html %]">
      </td>
    </tr>

    [% IF group.is_bug_group %]
      <tr>
        <th>Use For [% terms.Bugs %]:</th>
        <td>
          <input type="checkbox" name="isactive" 
                 value="1" [% 'checked="checked"' IF group.is_active %]>
        </td>
      </tr>
    [% END %]
    [% Hook.process('field') %]
  </table>

  <h4>Group Permissions</h4>

  <table class="grant_table">
    <tr>
      <th class="one">Groups That Are a Member of This Group<br>
        (&quot;Users in <var>X</var> are automatically in  
         [%+ group.name FILTER html %]&quot;)</th>
      <th>Groups That This Group Is a Member Of<br>
        (&quot;If you are in [% group.name FILTER html %], you are 
         automatically also in...&quot;)</th>
    </tr>
    <tr>
      <td class="one">
        [% PROCESS select_pair name = "members" size = 10
                   items_available = members_available
                     items_current = members_current %]
      </td>
  
      <td>[% PROCESS select_pair name = "member_of" size = 10
                     items_available = member_of_available
                       items_current = member_of_current %]</td>
    </tr>
  </table>

  <table class="grant_table">
    <tr>
      <th class="one">
        Groups That Can Grant Membership in This Group<br>
        (&quot;Users in <var>X</var> can add other users to 
         [%+ group.name FILTER html %]&quot;)

      </th>
     <th>Groups That This Group Can Grant Membership In<br>
       (&quot;Users in [% group.name FILTER html %] can add users to...&quot;)
     </th>
    </tr>
    <tr>
      <td class="one">
        [% PROCESS select_pair name = "bless_from" size = 10
                   items_available = bless_from_available
                     items_current = bless_from_current %]
      </td>
      <td>[% PROCESS select_pair name = "bless_to" size = 10
                     items_available = bless_to_available
                       items_current = bless_to_current %]
      </td>
    </tr>
  </table>

  [% IF Param('usevisibilitygroups') %]
    <table class="grant_table">
      <tr>
        <th class="one">
          Groups That Can See This Group<br>
          (&quot;Users in <var>X</var> can see users in
           [%+ group.name FILTER html %]&quot;)
        </th>
       <th>Groups That This Group Can See<br>
         (&quot;Users in [% group.name FILTER html %] can see users in...&quot;)
       </th>
      </tr>
      <tr>
        <td class="one">
          [% PROCESS select_pair name = "visible_from" size = 10
                     items_available = visible_from_available
                       items_current = visible_from_current %]
        </td>
        <td>[% PROCESS select_pair name = "visible_to_me" size = 10
                       items_available = visible_to_me_available
                         items_current = visible_to_me_current %]
        </td>
      </tr>
    </table>
  [% END %]

  <input type="submit" value="Update Group">
  <input type="hidden" name="token" value="[% token FILTER html %]">
</form>
  
<h4>Mass Remove</h4>

<p>You can use this form to do mass-removal of users from groups.
  This is often very useful if you upgraded from [% terms.Bugzilla %] 
  2.16.</p>

<table><tr><td>
<form method="post" action="editgroups.cgi">
  <fieldset>
    <legend>Remove all explict memberships from users whose login names
      match the following regular expression:</legend>
    <input type="text" size="20" name="regexp">
    <input type="submit" value="Remove Memberships">

    <p>If you leave the field blank, all explicit memberships in 
      this group will be removed.</p>

    <input type="hidden" name="action" value="confirm_remove">
    <input type="hidden" name="group_id" value="[% group.id FILTER html %]">
  </fieldset>
</form>
</td></tr></table>
 
<p>Back to the <a href="editgroups.cgi">group list</a>.</p>

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

[% BLOCK select_pair %]
  <table class="select_pair">
    <tr>
      <th><label for="[% "${name}_add" FILTER html %]">Add<br>
        (select to add)</label></th>
      <th><label for="[% "${name}_remove" FILTER html %]">Current<br>
        (select to remove)</label></th>
    </tr>
    <tr>
      <td>
        <select multiple="multiple" size="[% size FILTER html %]"
                name="[% "${name}_add" FILTER html %]"
                id="[% "${name}_add" FILTER html %]">
          [% FOREACH item = items_available %]
            <option value="[% item.id FILTER html %]">
              [% item.name FILTER html %]</option>
          [% END %]
        </select>
      </td>
      <td>
        <select multiple="multiple" size="[% size FILTER html %]"
                name="[% "${name}_remove" FILTER html %]"
                id="[% "${name}_remove" FILTER html %]">
          [% FOREACH item = items_current %]
            <option value="[% item.id FILTER html %]">
              [% item.name FILTER html %]</option>
          [% END %]
        </select>
      </td>
    </tr>
  </table>
[% END %]
