[%# 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): André Batosti <batosti@async.com.br>
  #%]

[% PROCESS "global/variables.none.tmpl" %]
From: [% Param('mailfrom') %]
To: [% to %]
Subject: [[% terms.Bug %] [%+ bugid %]] [% 'New: ' IF isnew %][%+ summary %]
X-Bugzilla-Reason: [% reasonsheader %]
X-Bugzilla-Type: newchanged
X-Bugzilla-Watch-Reason: [% reasonswatchheader %]
[% IF Param('useclassification') %]
X-Bugzilla-Classification: [% classification %]
[% END %]
X-Bugzilla-Product: [% product %]
X-Bugzilla-Component: [% comp %]
X-Bugzilla-Keywords: [% keywords %]
X-Bugzilla-Severity: [% severity %]
X-Bugzilla-Who: [% changer %]
X-Bugzilla-Status: [% status %]
X-Bugzilla-Priority: [% priority %]
X-Bugzilla-Assigned-To: [% assignedto %]
X-Bugzilla-Target-Milestone: [% targetmilestone %]
X-Bugzilla-Changed-Fields: [% changedfields %]
[%+ threadingmarker %]

[%+ urlbase %]show_bug.cgi?id=[% bugid %]

[%+ diffs %]

-- 
Configure [% terms.bug %]mail: [% urlbase %]userprefs.cgi?tab=email
------- You are receiving this mail because: -------
[% FOREACH relationship = reasons %]
  [% SWITCH relationship %]
    [% CASE constants.REL_ASSIGNEE %]
You are the assignee for the [% terms.bug %].
    [% CASE constants.REL_REPORTER %]
You reported the [% terms.bug %].
    [% CASE constants.REL_QA %]
You are the QA contact for the [% terms.bug %].
    [% CASE constants.REL_CC %]
You are on the CC list for the [% terms.bug %].
    [% CASE constants.REL_VOTER %]
You are a voter for the [% terms.bug %].
    [% CASE constants.REL_GLOBAL_WATCHER %]
You are watching all [% terms.bug %] changes.
  [% END %]
[% END %]
[% FOREACH relationship = reasons_watch %]
  [% SWITCH relationship %]
    [% CASE constants.REL_ASSIGNEE %]
You are watching the assignee of the [% terms.bug %].
    [% CASE constants.REL_REPORTER %]
You are watching the reporter.
    [% CASE constants.REL_QA %]
You are watching the QA contact of the [% terms.bug %].
    [% CASE constants.REL_CC %]
You are watching someone on the CC list of the [% terms.bug %].
    [% CASE constants.REL_VOTER %]
You are watching a voter for the [% terms.bug %].
  [% END %]
[% END %]
