[%# 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.
  #
  # Note that you must explicitly filter every single template variable
  # in this file; if you do not wish to change it, use the "none" filter.
  #%]

[% PROCESS global/variables.none.tmpl %]

[% DEFAULT title = "Internal Error" %]

[% error_message = BLOCK %]
  [% IF    error == "action_unrecognized" %]
    I don't recognize the value (<em>[% action FILTER html %]</em>)
    of the <em>action</em> variable.
  
  [% ELSIF error == "attachment_already_obsolete" %]
    Attachment #[% attach_id 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 == "bad_page_cgi_id" %]
    [% title = "Invalid Page ID" %]
    The ID <code>[% page_id FILTER html %]</code> is not a
    valid page identifier.

  [% ELSIF error == "bad_arg" %]
    Bad argument <code>[% argument FILTER html %]</code> sent to
    <code>[% function FILTER html %]</code> function.

  [% ELSIF error == "bug_error" %]
    Trying to retrieve [% terms.bug %] [%+ bug.bug_id FILTER html %] returned 
    the error [% bug.error FILTER html %].
    
  [% ELSIF error == "chart_data_not_generated" %]
    [% IF product %]
      Charts for the <em>[% product FILTER html %]</em> product are not
      available yet because no charting data has been collected for it since it
      was created.
    [% ELSE %]
      No charting data has been collected yet.
    [% END %]
    Please wait a day and try again.
    If you're seeing this message after a day, then you should contact
    <a href="mailto:[% Param('maintainer') %]">[% Param('maintainer') %]</a>
    and reference this error.

  [% 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>[% graph_dir 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 == "cookies_need_value" %]
    Every cookie must have a value.

  [% ELSIF error == "field_type_mismatch" %]
    Cannot seem to handle <code>[% field FILTER html %]</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 == "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 [% terms.bug %] to an inactive group, identified by the bit
    '[% bit FILTER html %]'.

  [% 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 [% name 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 == "invalid_flag_association" %]
    [% title = "Invalid Flag Association" %]
    Some flags do not belong to
    [% IF attach_id %]
      attachment [% attach_id FILTER html %].
    [% ELSE %]
      [%+ terms.bug %] [%+ bug_id FILTER html %].
    [% END %]

  [% ELSIF error == "invalid_numeric_argument" %]
    [% title = "Invalid number argument" %]
    The argument <code>[% argument FILTER html %] = [% value FILTER html %]</code>
    of <code>[% function FILTER html %]</code> is not a natural number.

  [% ELSIF error == "invalid_series_id" %]
    [% title = "Invalid Series" %]
    The series_id [% series_id FILTER html %] is not valid. It may be that
    this series has been deleted.
    
  [% ELSIF error == "mismatched_bug_ids_on_obsolete" %]
    Attachment [% attach_id FILTER html %] ([% description FILTER html %]) 
    is attached to [% terms.bug %] [%+ attach_bug_id FILTER html %], 
    but you tried to flag it as obsolete while creating a new attachment to 
    [% terms.bug %] [%+ my_bug_id FILTER html %].
        
  [% ELSIF error == "flag_nonexistent" %]
    There is no flag with ID #[% id FILTER html %].

  [% ELSIF error == "flags_not_available" %]
    [% title = "Flag Editing not Allowed" %]
    [% IF type == "b" %]
      Flags cannot be set or changed when
      changing several [% terms.bugs %] at once.
    [% ELSE %]
      References to existing flags when creating
      a new attachment are invalid.
    [% END %] 

  [% ELSIF error == "flag_requestee_disabled" %]
    [% title = "Flag not Requestable from Specific Person" %]
    You can't ask a specific person for
    <em>[% type.name FILTER html %]</em>.
  
  [% ELSIF error == "flag_status_invalid" %]
    The flag status <em>[% status FILTER html %]</em>
    [% IF id %]
      for flag ID #[% id FILTER html %]
    [% END %]
    is invalid.
  
  [% ELSIF error == "flag_type_component_nonexistent" %]
    The component <em>[% name FILTER html %]</em> does not exist
    in the product <em>[% 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>[% id FILTER html %]</em> is not
    a positive integer.

  [% ELSIF error == "flag_type_inactive" %]
    [% title = "Inactive Flag Types" %]
    Some flag types are inactive and cannot be used to create new flags.

  [% ELSIF error == "flag_type_nonexistent" %]
    There is no flag type with the ID <em>[% id FILTER html %]</em>.
  
  [% ELSIF error == "flag_type_product_nonexistent" %]
    The product <em>[% product FILTER html %]</em> does not exist.
  
  [% ELSIF error == "flag_type_target_type_invalid" %]
    The target type was neither <em>[% terms.bug %]</em> nor <em>attachment</em>
    but rather <em>[% target_type FILTER html %]</em>.
  
  [% ELSIF error == "invalid_field_name" %]
    Can't use [% field FILTER html %] as a field name.

  [% ELSIF error == "invalid_keyword_id" %]
    The keyword ID <em>[% id FILTER html %]</em> couldn't be
    found.

  [% ELSIF error == "invalid_user" %]
    [% title = "Invalid User" %]
    There is no user account
    [% IF user_id %]
      with ID <em>[% user_id FILTER html %]</em>.
    [% ELSIF user_login %]
      with login name <em>[% user_login FILTER html %]</em>.
    [% ELSE %]
      given.
    [% END %]

  [% ELSIF error == "missing_bug_id" %]
    No [% terms.bug %] ID was given.
    
  [% ELSIF error == "missing_series_id" %]
    Having inserted a series into the database, no series_id was returned for
    it. Series: [% series.category FILTER html %] / 
    [%+ series.subcategory FILTER html %] / 
    [%+ series.name FILTER html %].
    
  [% ELSIF error == "need_quipid" %]
    A valid quipid is needed.

  [% ELSIF error == "param_must_be_numeric" %]
    [% title = "Invalid Parameter" %]
    Invalid parameter passed to [% function FILTER html %].
    It must be numeric.

  [% ELSIF error == "unknown_comparison_type" %]
    Specified comparison type is not supported.

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

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

  [% ELSIF error == "setting_info_invalid" %]
    To create a new setting, you must supply a setting name, a list of 
    value/sortindex pairs, and the devault value.

  [% ELSIF error == "setting_name_invalid" %]
    The setting name <em>[% name FILTER html %]</em> is not a valid
    option. Setting names must begin with a letter, and contain only
    letters, digits, or the symbols '_', '-', '.', or ':'.

  [% ELSIF error == "setting_value_invalid" %]
    The value "<code>[% value FILTER html %]</code>" is not in the list of
    legal values for the <em>[% name FILTER html %]</em> setting.

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

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

  [% ELSIF error == "unable_to_retrieve_password" %]
     I was unable to retrieve your old password from the database.

  [% ELSIF error == "undefined_field" %]
    Form field [% field FILTER html %] was not defined.
    [%# Useful message if browser did not select show_bug radio button %]
    [% IF field == "knob" %]
      Check that the "Leave as..." radio button was selected.
    [% END %]

  [% 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 == "must_be_patch" %]
    [% title = "Attachment Must Be Patch" %]
    Attachment #[% attach_id FILTER html %] must be a patch.

  [% ELSIF error == "nested_transaction" %]
    Attempted to start a new transaction without finishing previous one first.

  [% ELSIF error == "not_in_transaction" %]
    Attempted to end transaction without starting one first.

  [% ELSIF error == "already_locked" %]
    Attempted to lock a table without releasing previous lock first:
    <p>Tables already locked:<br>[% current FILTER html %]
    <p>Tables requesting locking:<br>[% new FILTER html %]

  [% ELSIF error == "no_matching_lock" %]
    Attempted to unlock tables without locking them first.

  [% ELSIF error == "comma_operator_deprecated" %]
    [% title = "SQL query generator internal error" %]
    There is an internal error in the SQL query generation code,
    creating queries with implicit JOIN.

  [% ELSIF error == "invalid_post_bug_submit_action" %]
    Invalid setting for post_bug_submit_action

  [% ELSE %]
    [% title = "Internal error" %]
    An internal error has occured, but [% terms.Bugzilla %] doesn't know
    what <code>[% error FILTER html %]</code> means.

    If you are a [% terms.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>
    [% terms.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.href.replace(/&/g,"&amp;")
                                          .replace(/</g,"&lt;")
                                          .replace(/>/g,"&gt;") + "</p>");
  // -->
  </script>
</tt>

<table cellpadding="20">
  <tr>
    <td bgcolor="#ff0000">
      <font size="+2">
        [% error_message FILTER none %]
      </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 %]
