[%# This Source Code Form is subject to the terms of the Mozilla Public
  # License, v. 2.0. If a copy of the MPL was not distributed with this
  # file, You can obtain one at http://mozilla.org/MPL/2.0/.
  #
  # This Source Code Form is "Incompatible With Secondary Licenses", as
  # defined by the Mozilla Public License, v. 2.0.
  #%]

[%# INTERFACE:
  # target: string. URL to go to after login.
  #%]

[% IF !target %]
 [% target = "index.cgi" %]
[% END %]

[% PROCESS global/header.html.tmpl
  title = "Log in to $terms.Bugzilla",
  onload = "document.forms['login'].Bugzilla_login.focus()"
%]

[% USE Bugzilla %]

<p>
  [% terms.Bugzilla %] needs a legitimate login and password to continue.
</p>

<form name="login" action="[% target FILTER html %]" method="POST"
[%- IF Bugzilla.cgi.param("data") %] enctype="multipart/form-data"[% END %]>
  <table>
    <tr>
      <th align="right"><label for="Bugzilla_login">Login:</label></th>
      <td>
        <input size="35" id="Bugzilla_login" name="Bugzilla_login">
        [% Param('emailsuffix') FILTER html %]
      </td>
    </tr>
    <tr>
      <th align="right"><label for="Bugzilla_password">Password:</label></th>
      <td>
        <input type="password" size="35" id="Bugzilla_password" name="Bugzilla_password">
      </td>
    </tr>

    [% IF Param('rememberlogin') == 'defaulton' || 
          Param('rememberlogin') == 'defaultoff' %]
      <tr>
        <th>&nbsp;</th>
        <td>
          <input type="checkbox" id="Bugzilla_remember" name="Bugzilla_remember" value="on"
                 [%+ "checked" IF Param('rememberlogin') == "defaulton" %]>
          <label for="Bugzilla_remember">Remember my Login</label>
        </td>
      </tr>
    [% END %]

    <tr>
      <th>&nbsp;</th>
      <td>
        <input type="checkbox" id="Bugzilla_restrictlogin" name="Bugzilla_restrictlogin"
               checked="checked">
        <label for="Bugzilla_restrictlogin">Restrict this session to this IP address
        (using this option improves security)</label>
      </td>
    </tr>
  </table>

  [% PROCESS "global/hidden-fields.html.tmpl"
     exclude="^Bugzilla_(login|password|restrictlogin)$" %]

  <input type="hidden" name="Bugzilla_login_token"
         value="[% get_login_request_token() FILTER html %]">
  <input type="submit" name="GoAheadAndLogIn" value="Log in" id="log_in">

  <p>
    (Note: you should make sure cookies are enabled for this site. 
    Otherwise, you will be required to log in frequently.)
  </p>
</form>

[% Hook.process('additional_methods') %]

[%# Allow the user to create a new account, or request a token to change
  # their password, assuming that our auth method allows that.
  #%]

  [% IF Param("createemailregexp") && user.authorizer.user_can_create_account %]
    <hr>

    <p>
      If you don't have a [% terms.Bugzilla %] account, you can
      <a href="createaccount.cgi">create a new account</a>.
      [% IF Param("requirelogin") %]
        A user account is required because this [% terms.Bugzilla %]
        installation is only accessible to authenticated users.
      [% ELSIF target.match("_bug\.cgi$") %]
        A user account is required to file a new [% terms.bug %] or to comment
        into existing ones so that you can be contacted if more information is
        needed.
      [% END %]
    </p>
  [% END %]

  [% IF user.authorizer.can_change_password %]
    <hr>

    <form id="forgot" method="get" action="token.cgi">
      <input type="hidden" name="a" value="reqpw">
      If you have an account, but have forgotten your password,
      enter your login name below and submit a request
      to change your password.<br>
      <input size="35" name="loginname">
      <input type="hidden" id="token" name="token" value="[% issue_hash_token(['reqpw']) FILTER html %]">
      <input type="submit" id="request" value="Reset Password">
    </form>
  [% END %]

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