[%# 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>
  #%]

[%# INTERFACE:
  # searchtype: string. Type of search - either "series", "saved" or undef.
  # ...
  # defaultsavename: string. The default name for saving the query.
  #%]

[%############################################################################%]
[%# Template Initialization                                                  #%]
[%############################################################################%]

[% PROCESS "global/field-descs.none.tmpl" %]

[% title = "$terms.Bug List" %]
[% IF searchname || defaultsavename %]
  [% title = title _ ": " _ (searchname OR defaultsavename) FILTER html %]
[% END %]

[% qorder = order FILTER uri IF order %]


[%############################################################################%]
[%# Page Header                                                              #%]
[%############################################################################%]

[% PROCESS global/header.html.tmpl
  title = title
  style = style
  atomlink = "buglist.cgi?$urlquerypart&title=$title&ctype=atom" 
  yui = [ 'autocomplete', 'calendar' ]
  javascript_urls = [ "js/util.js", "js/field.js" ]
  style_urls = [ "skins/standard/buglist.css" ]
  doc_section = "query.html#list"
%]

<div class="bz_query_head">
  <span class="bz_query_timestamp">
    [% currenttime FILTER time('%a %b %e %Y %T %Z') FILTER html %]<br>
  </span>

  [% IF debug %]
    <p class="bz_query">[% query FILTER html %]</p>
    [% IF query_explain.defined %]
      <pre class="bz_query_explain">[% query_explain FILTER html %]</pre>
    [% END %]
  [% END %]

  [% IF user.settings.display_quips.value == 'on' %]
    [% DEFAULT quip = "$terms.Bugzilla would like to put a random quip here, but no one has entered any." %]
    <span class="bz_quip">
      <a href="quips.cgi"><em>[% quip FILTER html %]</em></a>
    </span>
  [% END %]

</div>

[% IF toolong %]
  <h2 class="bz_smallminded">
    This list is too long for [% terms.Bugzilla %]'s little mind; the
    Next/Prev/First/Last buttons won't appear on individual [% terms.bugs %].
  </h2>
[% END %]

[% SET shown_types = [
  'notequals', 'regexp', 'notregexp', 'lessthan', 'lessthaneq', 
  'greaterthan', 'greaterthaneq', 'changedbefore', 'changedafter', 
  'changedfrom', 'changedto', 'changedby', 'notsubstring', 'nowords',
  'nowordssubstr', 'notmatches',
] %]
<ul class="search_description">
[% FOREACH desc_item = search_description %]
  <li>
    <strong>[% field_descs.${desc_item.field} FILTER html %]:</strong>
    [% IF shown_types.contains(desc_item.type) || debug %]
      ([% search_descs.${desc_item.type} FILTER html %])
    [% END %]
    [% FOREACH val IN desc_item.value.split(',') %]
      [%+ display_value(desc_item.field, val) FILTER html %][% ',' UNLESS loop.last %]
    [% END %]
    [% IF debug %]
      (<code>[% desc_item.term FILTER html %]</code>)
   [% END %]
  </li>
[% END %]
</ul>

<hr>

[%############################################################################%]
[%# Preceding Status Line                                                    #%]
[%############################################################################%]

[% IF bugs.size > 9 %]
  [% PROCESS num_results %]
[% END %]

[%############################################################################%]
[%# Start of Change Form                                                     #%]
[%############################################################################%]

[% IF dotweak %]
  <form name="changeform" method="post" action="process_bug.cgi">
[% END %]

[%############################################################################%]
[%# Bug Table                                                                #%]
[%############################################################################%]

[% FLUSH %]
[% PROCESS list/table.html.tmpl %]

[%############################################################################%]
[%# Succeeding Status Line                                                   #%]
[%############################################################################%]

[% PROCESS num_results %]

[% IF bugs.size == 0 %]
  <ul class="zero_result_links">
    <li>[% PROCESS enter_bug_link %]</li>
    [% IF one_product.defined %]
      <li><a href="enter_bug.cgi">File a new [% terms.bug %] in a
        different product</a></li>
    [% END %]
    <li><a href="[% PROCESS edit_search_url %]">Edit this search</a></li>
    <li><a href="query.cgi">Start a new search</a></li>
  </ul>
[% END %]

<br>

[%############################################################################%]
[%# Rest of Change Form                                                      #%]
[%############################################################################%]

[% IF dotweak %]
  [% PROCESS "list/edit-multiple.html.tmpl" %]
  </form>
  <hr>
[% END %]

[%############################################################################%]
[%# Navigation Bar                                                           #%]
[%############################################################################%]

<table>
  <tr>
    [% IF bugs.size > 0 %]
      <td valign="middle" class="bz_query_buttons">
        <form method="post" action="show_bug.cgi">
          [% FOREACH id = buglist %]
            <input type="hidden" name="id" value="[% id FILTER html %]">
          [% END %]
          <input type="hidden" name="format" value="multiple">
          <input type="submit" id="long_format" value="Long Format">
        </form>
        <form method="post" action="show_bug.cgi">
            <input type="hidden" name="ctype" value="xml">
          [% FOREACH id = buglist %]
            <input type="hidden" name="id" value="[% id FILTER html %]">
          [% END %]
            <input type="hidden" name="excludefield" value="attachmentdata">
            <input type="submit" value="XML" id="xml">
        </form>

        [% IF user.is_timetracker %]
          <form method="post" action="summarize_time.cgi">
            <input type="hidden" name="id" value="[% buglist_joined FILTER html %]">
            <input type="submit" id="timesummary" value="Time Summary">
          </form>
        [% END %]
      </td>
      
      <td>&nbsp;</td>
      
      <td valign="middle" class="bz_query_links">
        <a href="buglist.cgi?
        [% urlquerypart FILTER html %]&amp;ctype=csv&human=1">CSV</a> |
        <a href="buglist.cgi?
        [% urlquerypart FILTER html %]&amp;title=
        [%- title FILTER html %]&amp;ctype=atom">Feed</a> |
        <a href="buglist.cgi?
        [% urlquerypart FILTER html %]&amp;ctype=ics">iCalendar</a> |
        <a href="colchange.cgi?
        [% urlquerypart FILTER html %]&amp;query_based_on=
          [% defaultsavename OR searchname FILTER uri %]">Change&nbsp;Columns</a> |

        [% IF bugs.size > 1 && caneditbugs && !dotweak %]
          <a href="buglist.cgi?[% urlquerypart FILTER html %]
            [%- "&order=$qorder" FILTER html IF order %]&amp;tweak=1"
            >Change&nbsp;Several&nbsp;[% terms.Bugs %]&nbsp;at&nbsp;Once</a>
          |
        [% END %]

        [% IF bugowners && user.id %]
          <a href="mailto:
            [% bugowners FILTER html %]">Send&nbsp;Mail&nbsp;to&nbsp;[% terms.Bug %]&nbsp;Assignees</a> |
        [% END %]

        [%# Links to more things users can do with this bug list. %]
        [% Hook.process("links") %]
      </td>
    [% END %]
    
    <td valign="middle" class="bz_query_edit">
      <a href="[% PROCESS edit_search_url %]">Edit&nbsp;Search</a>
    </td>
      
    [% IF searchtype == "saved" %]
      <td valign="middle" nowrap="nowrap" class="bz_query_forget">
        |
        <a href="buglist.cgi?cmdtype=dorem&amp;remaction=forget&amp;namedcmd=
                [% searchname FILTER uri %]&amp;token=
                [% issue_hash_token([search_id, searchname]) FILTER uri %]">
          Forget&nbsp;Search&nbsp;'[% searchname FILTER html %]'</a>
      </td>
    [% ELSE %]
      <td>&nbsp;</td>
      
      <td valign="middle" class="bz_query_remember">
        <form method="get" action="buglist.cgi">
          <input type="submit" id="remember" value="Remember search"> as 
          <input type="hidden" name="newquery" 
                 value="[% urlquerypart FILTER html %][% "&order=$qorder" FILTER html IF order %]">
          <input type="hidden" name="cmdtype" value="doit">
          <input type="hidden" name="remtype" value="asnamed">
          <input type="hidden" name="token" value="[% issue_hash_token(['savedsearch']) FILTER html %]">
          <input type="text" id="save_newqueryname" name="newqueryname" size="20"
                 title="New query name" value="[% defaultsavename FILTER html %]"> 
        </form> 
      </td>
    [% END %]  
  </tr>
</table>

[% IF one_product.defined && bugs.size %]
  <p class="bz_query_single_product">
    [% PROCESS enter_bug_link %]
  </p>
[% END %]

[%############################################################################%]
[%# Page Footer                                                              #%]
[%############################################################################%]

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

[%##########%]
[%# Blocks #%]
[%##########%]

[% BLOCK edit_search_url %]
  [% editqueryname = searchname OR defaultsavename OR '' %]
  query.cgi?[% urlquerypart FILTER html %]
    [%- IF editqueryname != '' %]&amp;known_name=
      [%- editqueryname FILTER uri %]
    [% END %]
[% END %]

[% BLOCK enter_bug_link %]
  <a href="enter_bug.cgi
           [%- IF one_product.defined %]?product=
             [%- one_product.name FILTER uri %][% END %]">File
    a new [% terms.bug %]
   [% IF one_product.defined %]
     in the "[% one_product.name FILTER html %]" product
   [% END %]</a>
[% END %]

[% BLOCK num_results %]
  <span class="bz_result_count">
    [% IF bugs.size == 0 %]
      <span class="zero_results">[% terms.zeroSearchResults %].</span>
    [% ELSIF default_limited AND bugs.size >= Param('default_search_limit') %]
      This result was limited to [% Param('default_search_limit') FILTER html %]
      [%+ terms.bugs %].
      <a href="buglist.cgi?[% urlquerypart FILTER html %]
              [%- "&order=$qorder" FILTER html IF order %]&limit=0">See
        all search results for this query</a>.
    [% ELSIF bugs.size == 1 %]
      One [% terms.bug %] found.
    [% ELSE %]
      [% bugs.size %] [%+ terms.bugs %] found.
    [% END %]
  </span>
[% END %]