change-columns.html.tmpl 4.93 KB
Newer Older
1 2 3
[%# 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/.
4
  #
5 6
  # This Source Code Form is "Incompatible With Secondary Licenses", as
  # defined by the Mozilla Public License, v. 2.0.
7 8
  #%]

9
[% PROCESS global/header.html.tmpl
10
  title = "Change Columns"
11 12
  javascript_urls = "js/change-columns.js"
  onload = "initChangeColumns()"
13 14 15
%]

<p>
16
  Select the columns you wish to appear in your [% terms.bug %] lists. Note that
17 18 19
  this feature requires cookies to work.
</p>

20
[% field_descs.short_short_desc     = "Summary (first 60 characters)" %]
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
[% field_descs.short_desc           = "Summary (Full)" %]
[% field_descs.assigned_to_realname = "$field_descs.assigned_to Real Name" %]
[% field_descs.reporter_realname    = "$field_descs.reporter Real Name" %]
[% field_descs.qa_contact_realname  = "$field_descs.qa_contact Real Name" %]

[%# Create a mapping of field descriptions to field names, so that
  # the "Available Columns" list can be sorted alphabetically by
  # field description.
  #%]
[% SET available_columns = {} %]
[% FOREACH column = columns.keys %]
  [% NEXT IF collist.contains(column) %]
  [%# We lowecase the keys so that the sort happens case-insensitively. %]
  [% SET column_desc = field_descs.$column || column FILTER lower %]
  [% available_columns.$column_desc = column %]
[% END %]
37

38
<form name="changecolumns" action="colchange.cgi" onsubmit="change_submit();">
39
  <input type="hidden" name="rememberedquery" value="[% buffer FILTER html %]">
40 41 42 43
    <table>
      <tr>
        <th><div id="avail_header" class="bz_default_hidden">Available Columns</div></th>
        <th></th>
44
        <th colspan="2">Selected Columns</th>
45 46 47 48 49 50 51 52 53
      </tr>
      <tr>
        <td>
          <select name="available_columns" id="available_columns" 
                  size="15" multiple="multiple" onchange="updateView();"
                  class="bz_default_hidden"> 
          </select>
        </td>
        <td>
54 55 56
          <button type="button" id="select_button" name="select"
                  class="bz_default_hidden arrow_button"
                  onclick="move_select()">&rarr;</button>
57
          <br><br>
58 59 60
          <button type="button" id="deselect_button" name="deselect"
                  class="bz_default_hidden arrow_button"
                  onclick="move_deselect()">&larr;</button>
61 62 63 64 65 66 67 68 69
        </td>
        <td>
          <select name="selected_columns" id="selected_columns" 
                  size="15" multiple="multiple" onchange="updateView();">
            [% FOREACH column = collist %]
                <option value="[% column FILTER html %]" selected="selected">
                [% (field_descs.${column} || column) FILTER html %]
              </option>
            [% END %]
70 71 72 73 74 75 76
            [% FOREACH key = available_columns.keys.sort %]
              [% SET column = available_columns.$key %]
              <option value="[% column FILTER html %]">
                [%# Don't display the lower-cased column description,
                  # display the correct-case one. %]
                [% (field_descs.$column || column) FILTER html %]
              </option>
77 78 79 80
            [% END %]
          </select>
        </td>
        <td>
81 82 83
          <button type="button" id="up_button" name="up"
                  class="bz_default_hidden arrow_button"
                  onclick="move_up()">&uarr;</button>
84
          <br><br>
85 86 87
          <button type="button" id="down_button" name="down"
                  class="bz_default_hidden arrow_button"
                  onclick="move_down()">&darr;</button>
88 89 90
        </td>
      </tr>
    </table>
91

92
  <p>
93
    <input id="nosplitheader" type="radio" name="splitheader" value="0"
94
      [%+ "checked='checked'" IF NOT splitheader %]>
95 96 97 98
    <label for="nosplitheader">
      Normal headers (prettier)
    </label>
    <br>
99 100

    <input id="splitheader" type="radio" name="splitheader" value="1"
101
      [%+ "checked='checked'" IF splitheader %]>
102 103 104 105
    <label for="splitheader">
      Stagger headers (often makes list more compact)
    </label>
  </p>
106

107 108 109 110
  [% IF saved_search %]
    <p>
      <input type="hidden" name="saved_search"
             value="[% saved_search.id FILTER html%]" >
111 112
      <input type="hidden" name="token"
             value="[% issue_hash_token([saved_search.id, saved_search.name]) FILTER html %]">
113 114 115 116 117
      <input type="checkbox" id="save_columns_for_search" checked="checked" 
             name="save_columns_for_search" value="1">
      <label for="save_columns_for_search">Save this column list only 
        for search '[% saved_search.name FILTER html %]'</label>
    </p>
118 119 120
  [% ELSE %]
    <input type="hidden" name="token"
           value="[% issue_hash_token(['default-list']) FILTER html %]">
121 122
  [% END %]

123
  <p>
124
    <input type="submit" id="change" value="Change Columns">
125 126
  </p>

127
  <input type="submit" id="resetit" name="resetit" 
128
         value="Reset to [% terms.Bugzilla %] default">
129 130
</form>

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