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

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

[% qorder = order FILTER url_quote IF order %]

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

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

<div class="bz_query_head" align="center">
  <span class="bz_query_timestamp">
    <b>[% currenttime FILTER time('%a %b %e %Y %T %Z') FILTER html %]</b><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"><i>[% quip FILTER html %]</i></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 %]

[% search_description %]

<hr />

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

[% IF bugs.size > 9 %]
  <span class="bz_result_count">
    [% bugs.size %] [%+ terms.bugs %] found.
  </span>
[% END %]

<script language="JavaScript">
function showbugcomma()
{
  document.getElementById('showbugcommacmd').style.display = 'none';
  document.getElementById('bugcomma').style.display = '';
}
</script>

<div style="margin: 8px 0">
  <a style="margin: 0 20px 0 0" id="showbugcommacmd" href="javascript:void showbugcomma()">Display Bug ID list</a>
  [% IF equality_querystring %]
  <a href="enter_bug.cgi?[% equality_querystring | html %]">Create new [% terms.bug %] from search parameters</a>
  [% END %]
</div>
<div id="bugcomma" style="display: none; margin: 0 0 8px 0">
  Bug ID list: <input type="text" readonly="true" value="[% buglist.join(" ") %]" size="100" />
</div>

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

<span class="bz_result_count">
  [% IF bugs.size == 0 %]
    <br /><span class="zero_results">[% terms.zeroSearchResults %].</span>
  [% ELSIF bugs.size == 1 %]
    One [% terms.bug %] found.
  [% ELSE %]
    [% bugs.size %] [%+ terms.bugs %] found.
  [% END %]
</span>

[% IF bugs.size == 0 %]
  <ul class="zero_result_links">
    <li><a href="enter_bug.cgi?[% urlquerypart | html %]">Create new [% terms.bug %] with the same fields</a></li>
    <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                                                           #%]
[%############################################################################%]

<div>
[% IF bugs.size > 0 %]
  <div class="buglist-navbar" style="border-bottom-width: 0">
    <form method="post" action="show_bug.cgi">
      [% FOREACH id = buglist %]
        <input type="hidden" name="id" value="[% id | 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 | 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 | html %]">
      <input type="submit" id="timesummary" value="Time Summary">
    </form>
  [% END %]
  </div>

  [%# TODO extract these links into an array and move display into a loop %]

  [% IF bugs.size > 1 && caneditbugs && !dotweak %]
    <div class="buglist-navbar"><a target="graphview" href="showdependencygraph.cgi?id=[% buglist_joined | html %]">Graph</a></div>
  [% END %]

  <div class="buglist-navbar">
    <a href="buglist.cgi?[% urlquerypart | html %]&amp;ctype=csv">CSV</a>
    <br />
    <a href="buglist.cgi?format=simple&amp;[% urlquerypart.replace('[&\?]format=[^&]*', '') | html %]" target="_blank">Print</a>
  </div>

  <div class="buglist-navbar">
    <a href="scrum.cgi?id=[% buglist.join(',') %]">Scrum Cards</a>
    <br />
    <a href="editscrum.cgi?id=[% buglist.join(',') %]">Estimates...</a>
  </div>

  <div class="buglist-navbar">
    <a href="buglist.cgi?[% urlquerypart | html %]&amp;title=[%- title | html %]&amp;ctype=atom&amp;fof_sudo=[% Bugzilla.user.login | url_quote | html %]">Buglist&nbsp;Feed</a>
    <br />
    <a href="rss-comments.cgi?[% urlquerypart | html %]&amp;title=[%- title | html %]&amp;ctype=rss&amp;namedcmd=[% searchname | html %]&amp;fof_sudo=[% Bugzilla.user.login | url_quote | html %]">Activity&nbsp;Feed</a>
  </div>

  <div class="buglist-navbar"><a href="buglist.cgi?[% urlquerypart | html %]&amp;ctype=ics">iCalendar</a></div>

  <div class="buglist-navbar"><a href="colchange.cgi?[% urlquerypart | html %]&amp;query_based_on=[% defaultsavename OR searchname | url_quote %]">Change&nbsp;Columns</a></div>

  [% IF bugs.size > 1 && caneditbugs && !dotweak || Bugzilla.user.in_group('worktimeadmin') %]
  <div class="buglist-navbar">
    [% IF bugs.size > 1 && caneditbugs && !dotweak %]
      <a href="buglist.cgi?[% urlquerypart | html %][%- "&order=$qorder" | html IF order %]&amp;tweak=1">Change&nbsp;Several&nbsp;[% terms.Bugs %]&nbsp;at&nbsp;Once</a><br />
    [% END %]
    <a href="buglist.cgi?[% urlquerypart.replace('[&\?](format|dotweak)[^&]*', '') | html %][%- "&order=$qorder" | html IF order %]&amp;format=superworktime">Fix Worktime</a>
  </div>
  [% END %]

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

  [%# Links to more things users can do with this bug list. %]
  [% Hook.process("links") %]
[% END %]

  <div class="buglist-navbar bz_query_edit">
    <a href="[% PROCESS edit_search_url %]">Edit&nbsp;Search</a>
    <br />
    <a href="query.cgi?format=report-table&amp;[% urlquerypart | remove('query_format=(advanced|simple)') | html %]">Summary&nbsp;Report</a>
  </div>

  [% IF searchtype == "saved" %]
  <div class="buglist-navbar bz_query_forget">
    <a href="buglist.cgi?cmdtype=dorem&amp;remaction=forget&amp;namedcmd=[% searchname | url_quote %]&amp;token=[% issue_hash_token([search_id, searchname]) | url_quote %]">
      Forget&nbsp;Search&nbsp;'[% searchname | html %]'
    </a>
  </div>
  [% ELSE %]
  <div class="buglist-navbar" style="border-bottom-width: 0">
    <form method="get" action="buglist.cgi">
      <input type="submit" id="remember" value="Remember search"> as
      <input type="hidden" name="newquery"
             value="[% urlquerypart | html %][% "&order=$qorder" | html IF order %]">
      <input type="hidden" name="cmdtype" value="doit">
      <input type="hidden" name="remtype" value="asnamed">
      <input type="text" id="save_newqueryname" name="newqueryname" size="20"
             value="[% defaultsavename | html %]">
    </form>
  </div>
  [% END %]

</div>

<hr style="clear: both" />

<p>
  Query executed in [% query_sql_time %] seconds. Page generated in $_query_template_time seconds.
  [%+ IF one_product.defined && bugs.size %][% PROCESS enter_bug_link %][% END %]
</p>

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

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

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

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