summaryrefslogtreecommitdiffstats
path: root/extensions/Needinfo/template/en/default/bug/needinfo.html.tmpl
blob: 2ffbbe835ccd4c6531d6ac60aaae10e088a33add (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
[%# 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.
  #%]

[% needinfo_flagtype   = "" %]
[% needinfo_flags      = [] %]

[% FOREACH type = bug.flag_types %]
  [% IF type.name == 'needinfo' %]
    [% needinfo_flagtype = type %]
    [% FOREACH flag = type.flags %]
      [% IF flag.status == '?' %]
        [% needinfo_flags.push(flag) %]
      [% END %]
    [% END %]
    [% LAST IF needinfo_flagtype %]
  [% END %]
[% END %]

[% IF needinfo_flagtype %]
  <div id="needinfo_container">
    [% IF needinfo_flags.size > 0 %]
      [%# Displays NEEDINFO tag in bug header %]
      <script>
        var summary_container = document.getElementById('static_bug_status');
        summary_container.appendChild(document.createTextNode('[NEEDINFO]'));
      </script>
    [% END %]
    <table>
    [% FOREACH flag = needinfo_flags %]
      <tr>
        [% IF !flag.requestee || flag.requestee.id == user.id %]
          <td align="center"><span style="color:red;font-weight:bold;">*</span></td>
          <td>
            Adding a comment will automatically clear needinfo the request for
            <em>[% IF !flag.requestee %]anyone[% ELSE %][% flag.requestee.login FILTER html %][% END %]</em>.
          </td>
        [% ELSE %]
          <td align="center">
            <input type="checkbox" id="needinfo_override_[% flag.id FILTER html %]"
                   name="needinfo_override_[% flag.id FILTER html %]" value="1">
          </td>
          <td>
            <label for="needinfo_override_[% flag.id FILTER html %]">
              I am providing the requested information for <em>[% flag.requestee.login FILTER html %]</em>
              (clears the needinfo request).
            </label>
          </td>
        [% END %]
      </tr>
    [% END %]
    [% IF user.in_group('canconfirm') && (needinfo_flags.size == 0 || needinfo_flagtype.is_multiplicable) %]
      <tr>
        <td align="center">
          <script>
            function needinfo_visibility() {
              if (YAHOO.util.Dom.get('needinfo_role').value == 'other') {
                YAHOO.util.Dom.removeClass('needinfo_from_container', 'bz_default_hidden');
              } else {
                YAHOO.util.Dom.addClass('needinfo_from_container', 'bz_default_hidden');
              }
            }
            function needinfo_focus() {
              if (YAHOO.util.Dom.get('needinfo').checked
                  && YAHOO.util.Dom.get('needinfo_role').value == 'other')
              {
                YAHOO.util.Dom.get('needinfo_from').focus();
                YAHOO.util.Dom.get('needinfo_from').select();
              }
            }
            function needinfo_role_changed() {
              YAHOO.util.Dom.get('needinfo').checked = true;
              needinfo_visibility();
              needinfo_focus();
            }
            function needinfo_other_changed() {
              YAHOO.util.Dom.get('needinfo').checked = YAHOO.util.Dom.get('needinfo_from').value != '';
            }
            YAHOO.util.Event.onDOMReady(needinfo_visibility);
          </script>
          <input type="checkbox" name="needinfo" value="1" id="needinfo" onchange="needinfo_focus()">
        </td>
        <td>
          <label for="needinfo">Need more information from</label>
          <select name="needinfo_role" id="needinfo_role" onchange="needinfo_role_changed()">
            <option value="other">other</option>
            <option value="reporter">reporter</option>
            <option value="assigned_to">assignee</option>
            [% IF Param('useqacontact') && bug.qa_contact.login != "" %]
              <option value="qa_contact">qa contact</option>
            [% END %]
            <option value="">anyone</option>
          </select>
          <span id="needinfo_from_container">
            [% INCLUDE global/userselect.html.tmpl
               id          => "needinfo_from"
               name        => "needinfo_from"
               value       => ""
               size        => 30
               multiple    => 5
               onchange    => "needinfo_other_changed()"
               field_title => "Enter one or more comma separated users to request more information from"
            %]
          </span>
        </td>
      </tr>
    [% END %]
    </table>
  </div>
[% END %]