[%# 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): Gervase Markham <gerv@gerv.net> # Vaskin Kissoyan <vkissoyan@yahoo.com> # Frédéric Buclin <LpSolit@gmail.com> # Guy Pyrzak <guy.pyrzak@gmail.com> #%] [% PROCESS global/variables.none.tmpl %] <div id="status"> [% initial_action_shown = 0 %] [% show_resolution = 0 %] [% bug_status_select_displayed = 0 %] [% closed_status_array = [] %] [%# These actions are based on the current custom workflow. %] [% FOREACH bug_status = bug.status.can_change_to %] [% NEXT IF bug.isunconfirmed && bug_status.is_open && !bug.user.canconfirm %] [% NEXT IF bug.isopened && !bug.isunconfirmed && bug_status.is_open && !bug.user.canedit %] [% NEXT IF (!bug_status.is_open || !bug.isopened) && !bug.user.canedit && !bug.user.isreporter %] [%# Special hack to only display UNCO or REOP when reopening, but not both; # for compatibility with older versions. %] [% NEXT IF !bug.isopened && (bug.everconfirmed && bug_status.name == "UNCONFIRMED" || !bug.everconfirmed && bug_status.name == "REOPENED") %] [% IF NOT bug_status_select_displayed %] <select name="bug_status" id="bug_status"> [% bug_status_select_displayed = 1 %] [% END %] [% PROCESS initial_action %] [% NEXT IF bug_status.name == bug.bug_status %] <option value="[% bug_status.name FILTER html %]"> [% get_status(bug_status.name) FILTER html %] </option> [% IF !bug_status.is_open %] [% show_resolution = 1 %] [% filtered_status = bug_status.name FILTER js %] [% closed_status_array.push( filtered_status ) %] [% END %] [% END %] [%# These actions are special and are independent of the workflow. %] [% IF bug.user.canedit || bug.user.isreporter %] [% IF NOT bug_status_select_displayed %] <select name="bug_status" id="bug_status"> [% bug_status_select_displayed = 1 %] [% END %] [% IF bug.isopened %] [% IF bug.resolution %] [% PROCESS initial_action %] [% END %] [% ELSIF bug.resolution != "MOVED" || bug.user.canmove %] [% PROCESS initial_action %] [% show_resolution = 1 %] [% END %] [% END %] [% IF bug_status_select_displayed %] </select> [% ELSE %] [% get_status(bug.bug_status) FILTER html %] [% IF bug.resolution %] [%+ get_resolution(bug.resolution) FILTER html %] [% IF bug.dup_id %] <span id="duplicate_display">of [% "${terms.bug} ${bug.dup_id}" FILTER bug_link(bug.dup_id) FILTER none %]</span> [% END %] [% END %] [% END %] [% IF bug.user.canedit || bug.user.isreporter %] [% IF show_resolution %] <noscript><br>resolved as </noscript> <span id="resolution_settings">[% PROCESS select_resolution %]</span> [% END %] <noscript><br> duplicate</noscript> <span id="duplicate_settings">of <span id="dup_id_container" class="bz_default_hidden"> [% "${terms.bug} ${bug.dup_id}" FILTER bug_link(bug.dup_id) FILTER none %] (<a href="#" id="dup_id_edit_action">edit</a>) </span ><input id="dup_id" name="dup_id" size="6" value="[% bug.dup_id FILTER html %]"> </span> <div id="dup_id_discoverable" class="bz_default_hidden"> <a href="#" id="dup_id_discoverable_action">Mark as Duplicate</a> </div> [% END %] </div> <script type="text/javascript"> var close_status_array = new Array("[% closed_status_array.join('", "') FILTER replace(',$', '') FILTER none %]"); YAHOO.util.Dom.removeClass('dup_id_discoverable', 'bz_default_hidden'); hideEditableField( "dup_id_container", "dup_id", 'dup_id_edit_action', 'dup_id', '[% bug.dup_id FILTER js %]' ) showHideStatusItems( "", ['[% "is_duplicate" IF bug.dup_id %]', '[% bug.bug_status FILTER js %]']); YAHOO.util.Event.addListener( 'bug_status', "change", showHideStatusItems, ['[% "is_duplicate" IF bug.dup_id %]', '[% bug.bug_status FILTER js %]']); YAHOO.util.Event.addListener( 'resolution', "change", showDuplicateItem); YAHOO.util.Event.addListener( 'dup_id_discoverable_action', 'click', setResolutionToDuplicate, '[% Param('duplicate_or_move_bug_status') FILTER js %]'); YAHOO.util.Event.addListener( window, 'load', showHideStatusItems, ['[% "is_duplicate" IF bug.dup_id %]', '[% bug.bug_status FILTER js %]'] ); [% INCLUDE "bug/field-events.js.tmpl" field = select_fields.bug_status %] [% INCLUDE "bug/field-events.js.tmpl" field = select_fields.resolution %] </script> [%# Common actions %] [% BLOCK initial_action %] [% IF !initial_action_shown %] <option selected value="[% bug.bug_status FILTER html %]"> [% get_status(bug.bug_status) FILTER html %] </option> [% IF !bug.isopened %] [% show_resolution = 1 %] [% filtered_status = bug.bug_status FILTER js %] [% closed_status_array.push(filtered_status) %] [% END %] [% initial_action_shown = 1 %] [% END %] [% END %] [% BLOCK select_resolution %] <select name="resolution" id="resolution"> [% FOREACH r = bug.choices.resolution %] [% NEXT IF r == "MOVED" && bug.resolution != "MOVED" %] <option value="[% r FILTER html %]" [% "selected" IF r == bug.resolution %]> [% get_resolution(r) FILTER html %]</option> [% END %] </select> [% END %]