field.html.tmpl 3.88 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
[%# 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): Myk Melez <myk@mozilla.org>
19
  #                 Max Kanat-Alexander <mkanat@bugzilla.org>
20 21
  #%]

22 23 24 25 26
[%# INTERFACE:
  #   field: a Bugzilla::Field object
  #   value: The value of the field for this bug.
  #   editable: Whether the field should be displayed as an editable
  #             <input> or as just the plain text of its value.
27
  #   allow_dont_change: display the --do_not_change-- option for select fields.
28 29
  #   value_span: A colspan for the table cell containing
  #               the field value.
30 31 32 33 34 35 36 37 38 39
  #%]

<th class="field_label">
  [% IF editable %]
    <label for="[% field.name FILTER html %]">
  [% END %]
    [% field_descs.${field.name} FILTER html %]:
  [% '</label>' IF editable %]
</th>

40
<td class="field_value" [% "colspan=\"$value_span\"" FILTER none IF value_span %]>
41
[% IF editable %]
42
  [% SWITCH field.type %]
43
    [% CASE constants.FIELD_TYPE_FREETEXT %]
44
        <input name="[% field.name FILTER html %]" value="[% value FILTER html %]" size="60">
45 46 47 48 49 50 51 52 53 54 55 56
    [% CASE [ constants.FIELD_TYPE_SINGLE_SELECT 
              constants.FIELD_TYPE_MULTI_SELECT ] %]
        <select id="[% field.name FILTER html %]" 
                name="[% field.name FILTER html %]" 
                [% IF field.type == constants.FIELD_TYPE_MULTI_SELECT %]
                    [% SET field_size = 5 %]
                    [% IF field.legal_values.size < 5 %]
                        [% SET field_size = field.legal_values.size %]
                    [% END %]
                    size="[% field_size FILTER html %]" multiple="multiple"
                [% END %]
                >
57
          [% IF allow_dont_change %]
58 59
            <option value="[% dontchange FILTER html %]"
                   [% ' selected="selected"' IF value == dontchange %]>
60 61 62
              [% dontchange FILTER html %]
            </option>
          [% END %]
63 64
          [% FOREACH legal_value = field.legal_values %]
            <option value="[% legal_value FILTER html %]"
65
                [%- " selected=\"selected\"" IF value.contains(legal_value).size %]>
66 67 68
                [%- legal_value FILTER html %]</option>
          [% END %]
        </select>
69 70 71 72 73 74 75 76 77 78
        [%# When you pass an empty multi-select in the web interface,
          # it doesn't appear at all in the CGI object. Instead of
          # forcing all users of process_bug to always specify every
          # multi-select, we have this field defined if the multi-select
          # field is defined, and then if this is passed but the multi-select
          # isn't, we know that the multi-select was emptied.
        %]
        [% IF field.type == constants.FIELD_TYPE_MULTI_SELECT %]
          <input type="hidden" name="defined_[% field.name FILTER html %]">
        [% END %]
79 80 81 82
     [% CASE constants.FIELD_TYPE_TEXTAREA %]
       [% INCLUDE global/textarea.html.tmpl
           id = field.name name = field.name minrows = 4 maxrows = 8
           cols = 60 defaultcontent = value %]
83
  [% END %]
84 85 86
[% ELSIF field.type == constants.FIELD_TYPE_TEXTAREA %]
  <div class="uneditable_textarea">[% value FILTER wrap_comment(60)
                                            FILTER html %]</div>
87
[% ELSE %]
88
  [% value.join(', ') FILTER html %]
89 90
[% END %]
</td>