<!-- 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:
  # login: string. The user's Bugzilla login email address.
  # tabs: List of hashes. May not be empty. Each hash has three members:
  #   name: string. Name of the tab (used internally.)
  #   description: string. Description of the tab (used in tab title.)
  #   saveable: boolean. True if tab has a form which can be submitted.
  #               True if user is not receiving self-generated mail.
  # Note: For each tab name, a template "prefs/${tab.name}.tmpl" must exist, 
  # and its interface must be fulfilled.
  # current_tab: A direct reference to one of the hashes in the tabs list.
  #              This tab will be displayed.
  # changes_saved: boolean/string. True if the CGI processed form data before 
  #                displaying anything, and can contain an optional custom
  #                message if required (which Perl still evaluates as True).
  #%]

[% filtered_login = login FILTER html %]
[% PROCESS global/header.html.tmpl
   title = "User Preferences"
   h2 = filtered_login
   style = "td.selected_tab {
              border-width: 2px 2px 0px;
              border-style: solid; 
            }
            td.unselected_tab, td.spacer {
              border-width: 0px 0px 2px 0px;
              border-style: solid; 
            }"
 %]

[% tabs = [ { name => "account", description => "Account settings", 
              saveable => "1" },
            { name => "email", description => "Email settings", 
              saveable => "1" },
            { name => "footer", description => "Page footer", 
              saveable => "1" },
            { name => "permissions", description => "Permissions", 
              saveable => "0" } ] %]

<center>
  <table cellspacing="0" cellpadding="10" border="0" width="100%">
    <tr>
      <td class="spacer">&nbsp;</td>
 
      [% FOREACH tab = tabs %]
        [% IF tab.name == current_tab_name %]
          [% current_tab = tab %]
          <td align="center" bgcolor="lightblue" class="selected_tab">
            [% tab.description %]
          </td>
        [% ELSE %]
          <td align="center" bgcolor="#BBBBEE" class="unselected_tab">
            <a href="userprefs.cgi?tab=[% tab.name %]">[% tab.description %]</a>
          </td>
        [% END %]
       [% END %]
 
       <td class="spacer">&nbsp;</td>
     </tr>
   </table>
</center>

[% IF changes_saved %]
  <p>
    <font color="red">
      The changes to your 
      [% current_tab.description FILTER lower %] have been saved.
    </font>
  </p>
  [% IF changes_saved != 1 %]
    <p>
      [% changes_saved %]
    </p>
  [% END %]
[% END %]

<h3>[% current_tab.description %]</h3>

<form method="post" action="userprefs.cgi">
  <input type="hidden" name="tab" value="[% current_tab.name %]">

  [% PROCESS "account/prefs/${current_tab.name}.html.tmpl" IF current_tab.name.defined %]

  [% IF current_tab.saveable %]
    <input type="hidden" name="dosave" value="1">

    <table>
      <tr>
        <td width="150"></td>
        <td>
          <input type="submit" value="Submit Changes">
         </td>
      </tr>
    </table>
  [% END %]
  
</form>

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