<!-- 1.0@bugzilla.org -->
[%# 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>
  #%]

[%# INTERFACE:
  # header_done: boolean. True if the header has already been printed.
  # error: string. The tag of the error.
  # variables: hash. Useful data about the problem. The keys are the variable
  #  names, and the values the variable values.
  #%]
  
[%# This is a list of all the possible code errors. Please keep them in
  # alphabetical order by error tag, and leave a blank line between errors.
  #%]  

[% DEFAULT title = "Internal Error" %]
  
[% error_message = BLOCK %]
  [% IF    error == "aaa_example_error_tag" %]
    [% title = "Example Error" %]    
    This is an example error. The title is set above. This text is the body
    of the error. It can contain arbitrary <b>HTML</b>, and also references
    to any [% parameters %] which you may have set before calling
    ThrowCodeError.

  [% ELSIF error == "action_unrecognized" %]
    I don't recognize the value (<em>[% variables.action FILTER html %]</em>)
    of the <em>action</em> variable.
  
  [% ELSIF error == "attachment_already_obsolete" %]
    Attachment #[% attachid FILTER html %] ([% description FILTER html %]) 
    is already obsolete.

  [% ELSIF error == "auth_err" %]
    [% title = "Internal Authentication Error" %]
    [%# Authentication errors are in a template depending on the auth method,
        for pluggability.
      #%] 
    [% INCLUDE "account/auth/$authmethod-error.html.tmpl" %]

  [% ELSIF error == "authres_unhandled" %]
    An authorization handler return value was not handled by the login code.

  [% ELSIF error == "bug_error" %]
    Trying to retrieve bug [% bug.bug_id %] returned the error
    [% bug.error FILTER html %]

  [% ELSIF error == "cgi_error" %]
    [% title = "CGI Error" %]
    Bugzilla has had trouble interpreting your CGI request;
    [%+ Param('browserbugmessage') %]
    
  [% ELSIF error == "chart_data_not_generated" %]
    The tool which gathers bug counts has not been run yet.
        
  [% ELSIF error == "chart_datafile_corrupt" %]
    The chart data file [% file FILTER html %] is corrupt.
        
  [% ELSIF error == "chart_dir_nonexistent" %]
    One of the directories <tt>[% dir FILTER html %]</tt> and 
    <tt>[% graphdir FILTER html %]</tt> does not exist.
  
  [% ELSIF error == "chart_file_open_fail" %]
    Unable to open the chart datafile <tt>[% filename FILTER html %]</tt>.
  
  [% ELSIF error == "chart_lines_not_installed" %]
    Charts will not work without the Chart::Lines Perl module being installed.
    Run checksetup.pl for installation instructions.

  [% ELSIF error == "field_type_mismatch" %]
    Cannot seem to handle <code>[% field %]</code>
    and <code>[% type FILTER html %]</code> together.
 
  [% ELSIF error == "gd_not_installed" %]
    Charts will not work without the GD Perl module being installed.
    Run checksetup.pl for installation instructions.

  [% ELSIF error == "group_bit_invalid" %]
    One of the group bits submitted was invalid.

  [% ELSIF error == "illegal_content_type_method" %]
    Your form submission got corrupted somehow.  The <em>content
    method</em> field, which specifies how the content type gets determined,
    should have been either <em>autodetect</em>, <em>list</em>, 
    or <em>manual</em>, but was instead 
    <em>[% contenttypemethod FILTER html %]</em>.
        
  [% ELSIF error == "illegal_field" %]
    A legal [% field FILTER html %] was not set.
    
  [% ELSIF error == "inactive_group" %]
    Attempted to add bug to an inactive group, identified by the bit 
    '[% bit FILTER html %]'.
    
  [% ELSIF error == "bad_arg" %]
    Bad argument <code>[% argument %]</code> sent to
    <code>[% function %]</code> function.

  [% ELSIF error == "invalid_attach_id_to_obsolete" %]
     The attachment number of one of the attachments you wanted to obsolete,
     [% attach_id FILTER html %], is invalid.
          
  [% ELSIF error == "invalid_column_name_cookie" %]
    [% title = "Invalid Column Name" %]
     The custom sort order specified in your cookie contains an invalid
     column name <em>[% fragment FILTER html %]</em>. 
     The cookie has been cleared.
         
  [% ELSIF error == "invalid_column_name_form" %]
    [% title = "Invalid Column Name" %]
     The custom sort order specified in your form submission contains an
     invalid column name <em>[% fragment FILTER html %]</em>.
         
  [% ELSIF error == "invalid_component" %]
    [% title = "Invalid Component" %]
    The [% component FILTER html %] component doesn't exist in the 
    [% product FILTER html %] product.
    
  [% ELSIF error == "invalid_dimensions" %]
    [% title = "Invalid Dimensions" %]
    The width or height specified is not a positive integer.
    
  [% ELSIF error == "mismatched_bug_ids_on_obsolete" %]
    Attachment [% attach_id FILTER html %] ([% description FILTER html %]) 
    is attached to bug [% attach_bug_id FILTER html %], but you tried to 
    flag it as obsolete while creating a new attachment to bug 
    [% my_bug_id FILTER html %].
        
  [% ELSIF error == "no_bug_data" %]
    No data when fetching bug [% bug_id %].
    
  [% ELSIF error == "flag_nonexistent" %]
    There is no flag with ID #[% variables.id %].
  
  [% ELSIF error == "flag_status_invalid" %]
    The flag status <em>[% variables.status FILTER html %]</em> is invalid.
  
  [% ELSIF error == "flag_type_component_nonexistent" %]
    The component <em>[% variables.component FILTER html %]</em> does not exist
    in the product <em>[% variables.product FILTER html %]</em>.
  
  [% ELSIF error == "flag_type_component_without_product" %]
    A component was selected without a product being selected.
  
  [% ELSIF error == "flag_type_id_invalid" %]
    The flag type ID <em>[% variables.id FILTER html %]</em> is not
    a positive integer.

  [% ELSIF error == "flag_type_nonexistent" %]
    There is no flag type with the ID <em>[% variables.id %]</em>.
  
  [% ELSIF error == "flag_type_product_nonexistent" %]
    The product <em>[% variables.product FILTER html %]</em> does not exist.
  
  [% ELSIF error == "flag_type_target_type_invalid" %]
    The target type was neither <em>bug</em> nor <em>attachment</em>
    but rather <em>[% variables.target_type FILTER html %]</em>.
  
  [% ELSIF error == "invalid_field_name" %]
    Can't use [% field FILTER html %] as a field name.
    
  [% ELSIF error == "invalid_output_type" %]
    [% title = "Invalid Output Type" %]
    Invalid output type [% type FILTER html %].
    
  [% ELSIF error == "missing_bug_id" %]
    No bug ID was given.
    
  [% ELSIF error == "no_y_axis_defined" %]
    No Y axis was defined when creating report. The X axis is optional,
    but the Y axis is compulsory.
    
  [% ELSIF error == "need_quipid" %]
    A valid quipid is needed.

  [% ELSIF error == "request_queue_group_invalid" %]
    The group field <em>[% group FILTER html %]</em> is invalid.

  [% ELSIF error == "report_axis_invalid" %]
    <em>[% variables.val FILTER html %]</em> is not a valid value for 
    [%+ IF    variables.fld == "x" %]the horizontal axis
    [%+ ELSIF variables.fld == "y" %]the vertical axis
    [%+ ELSIF variables.fld == "z" %]the multiple tables/images
    [%+ ELSE %]a report axis[% END %] field.

  [% ELSIF error == "token_generation_error" %]
    Something is seriously wrong with the token generation system.

  [% ELSIF error == "template_error" %]
    [% template_error_msg %]

  [% ELSIF error == "unable_to_retrieve_password" %]
     I was unable to retrieve your old password from the database.
     
  [% ELSIF error == "undefined_field" %]
    [% field FILTER html %] was not defined; [% Param('browserbugmessage') %]

  [% ELSIF error == "unknown_action" %]
    [% IF action %]
       Unknown action [% action FILTER html %]!
    [% ELSE %]
       I could not figure out what you wanted to do.
    [% END %]
    
  [% ELSIF error == "unknown_component" %]
    [% title = "Unknown Component" %]
    There is no component named <em>[% variables.component FILTER html %]</em>.

  [% ELSIF error == "unknown_product" %]
    [% title = "Unknown Product" %]
    There is no product named <em>[% variables.product FILTER html %]</em>.

  [% ELSE %]
    [%# Give sensible error if error functions are used incorrectly.
      #%]        
    You are using Bugzilla's ThrowCodeError() function incorrectly. You
    passed in the string '[% error %]'. The correct use is to pass
    in a tag, and define that tag in the file code-error.html.tmpl.<br>
    <br>
    If you are a Bugzilla end-user seeing this message, please save this
    page and send it to [% Param('maintainer') %].
  [% END %]
[% END %]

[% UNLESS header_done %]
  [% PROCESS global/header.html.tmpl %]
[% END %]

<tt>
  <p>
    Bugzilla has suffered an internal error. Please save this page and send
    it to [% Param("maintainer") %] with details of what you were doing at 
    the time this message appeared.
  </p>
  <script type="text/javascript"> <!--
    document.write("<p>URL: " + document.location + "</p>");
  // -->
  </script>
</tt>

<table cellpadding="20">
  <tr>
    <td bgcolor="#ff0000">
      <font size="+2">
        [% error_message %]
      </font>
    </td>
  </tr>
</table>

[% IF variables %]
  <pre>
Variables:
  [% FOREACH key = variables.keys %]
    [%+ key FILTER html %]: [%+ variables.$key FILTER html %]
  [% END %]
  </pre>
[% END %]

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