summaryrefslogtreecommitdiffstats
path: root/extensions/BMO/template/en/default/bug/create
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/BMO/template/en/default/bug/create')
-rw-r--r--extensions/BMO/template/en/default/bug/create/comment-brownbag.txt.tmpl34
-rw-r--r--extensions/BMO/template/en/default/bug/create/comment-employee-incident.txt.tmpl51
-rw-r--r--extensions/BMO/template/en/default/bug/create/comment-legal.txt.tmpl39
-rw-r--r--extensions/BMO/template/en/default/bug/create/comment-mktgevent.txt.tmpl48
-rw-r--r--extensions/BMO/template/en/default/bug/create/comment-mozlist.txt.tmpl44
-rw-r--r--extensions/BMO/template/en/default/bug/create/comment-recoverykey.txt.tmpl28
-rw-r--r--extensions/BMO/template/en/default/bug/create/comment-swag.txt.tmpl48
-rw-r--r--extensions/BMO/template/en/default/bug/create/create-brownbag.html.tmpl292
-rw-r--r--extensions/BMO/template/en/default/bug/create/create-employee-incident.html.tmpl265
-rw-r--r--extensions/BMO/template/en/default/bug/create/create-itrequest.html.tmpl188
-rw-r--r--extensions/BMO/template/en/default/bug/create/create-legal.html.tmpl220
-rw-r--r--extensions/BMO/template/en/default/bug/create/create-mktgevent.html.tmpl251
-rw-r--r--extensions/BMO/template/en/default/bug/create/create-mozlist.html.tmpl306
-rw-r--r--extensions/BMO/template/en/default/bug/create/create-mozpr.html.tmpl654
-rw-r--r--extensions/BMO/template/en/default/bug/create/create-poweredby.html.tmpl87
-rw-r--r--extensions/BMO/template/en/default/bug/create/create-presentation.html.tmpl219
-rw-r--r--extensions/BMO/template/en/default/bug/create/create-recoverykey.html.tmpl70
-rw-r--r--extensions/BMO/template/en/default/bug/create/create-swag.html.tmpl222
-rw-r--r--extensions/BMO/template/en/default/bug/create/create-trademark.html.tmpl87
-rw-r--r--extensions/BMO/template/en/default/bug/create/create-winqual.html.tmpl800
-rw-r--r--extensions/BMO/template/en/default/bug/create/created-mozreps.html.tmpl38
-rw-r--r--extensions/BMO/template/en/default/bug/create/user-message.html.tmpl37
22 files changed, 4028 insertions, 0 deletions
diff --git a/extensions/BMO/template/en/default/bug/create/comment-brownbag.txt.tmpl b/extensions/BMO/template/en/default/bug/create/comment-brownbag.txt.tmpl
new file mode 100644
index 000000000..d9aa35f17
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/comment-brownbag.txt.tmpl
@@ -0,0 +1,34 @@
+[%# 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 BMO Bugzilla Extension.
+ #
+ # The Initial Developer of the Original Code is the Mozilla Foundation
+ # Portions created by the Initial Developers are Copyright (C) 2011 the
+ # Initial Developer. All Rights Reserved.
+ #
+ # Contributor(s):
+ # David Lawrence <dkl@mozilla.com>
+ #%]
+[% USE Bugzilla %]
+[% cgi = Bugzilla.cgi %]
+
+Topic: [% cgi.param('topic') %]
+Presenter: [% cgi.param('presenter') %]
+Date: [% cgi.param('date') %]
+Time: [% cgi.param('time_hour') %]:[% cgi.param('time_minute') %][% cgi.param('ampm') +%] [%+ cgi.param('time_zone') %]
+Duration: [% IF cgi.param('duration') == 'Other' %][% cgi.param('duration_other') %][% ELSE %][% cgi.param('duration') %][% END %]
+Audience: [% cgi.param('audience') %]
+Air Mozilla: [% IF cgi.param('airmozilla') %]Yes[% ELSE %]No[% END %]
+Dial-in: [% IF cgi.param('dialin') %]Yes[% ELSE %]No[% END %]
+Archive: [% IF cgi.param('archive') %]Yes[% ELSE %]No[% END %]
+Member of IT to help with A/V: [% IF cgi.param('ithelp') %]Yes[% ELSE %]No[% END %]
+Description:
+[% cgi.param('description') %]
diff --git a/extensions/BMO/template/en/default/bug/create/comment-employee-incident.txt.tmpl b/extensions/BMO/template/en/default/bug/create/comment-employee-incident.txt.tmpl
new file mode 100644
index 000000000..ebd700e16
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/comment-employee-incident.txt.tmpl
@@ -0,0 +1,51 @@
+[%# 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 BMO Bugzilla Extension.
+ #
+ # The Initial Developer of the Original Code is the Mozilla Foundation
+ # Portions created by the Initial Developers are Copyright (C) 2011 the
+ # Initial Developer. All Rights Reserved.
+ #
+ # Contributor(s):
+ # David Lawrence <dkl@mozilla.com>
+ #%]
+[% USE Bugzilla %]
+[% cgi = Bugzilla.cgi %]
+
+[% IF cgi.param('incident_type') == 'stolen' %]
+[% IF original_reporter -%]
+Reporter: [% original_reporter.identity FILTER none %]
+[%- END -%]
+
+ [% IF !no_display_action_needed %]
+Action needed: Please immediately reset the LDAP password for this user.
+The user reported that their mobile or laptop device has been lost or stolen.
+This ticket was automatically generated from the employee incident reporting
+form. A second ticket has been filed (see blocker bugs) for InfraSec to review the
+impact of this lost device.
+ [% END %]
+
+Was the device encrypted?: [% cgi.param('encrypted') %]
+Any user data on the device?: [% cgi.param('userdata') %]
+ [% IF cgi.param('userdata') == 'Yes' %]
+Sensitive data on the device:
+[%+ cgi.param('sensitivedata') %]
+ [% END %]
+Browser configured to remember passwords?: [% cgi.param('rememberpasswords') %]
+ [% IF cgi.param('rememberpasswords') == 'Yes' %]
+Critical sites:
+[%+ cgi.param('criticalsites') %]
+ [% END %]
+[% END %]
+[% IF cgi.param('comment') %]
+Extra Notes:
+[%+ cgi.param('comment') %]
+[% END %]
diff --git a/extensions/BMO/template/en/default/bug/create/comment-legal.txt.tmpl b/extensions/BMO/template/en/default/bug/create/comment-legal.txt.tmpl
new file mode 100644
index 000000000..eb00a88d9
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/comment-legal.txt.tmpl
@@ -0,0 +1,39 @@
+[%# 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 BMO Bugzilla Extension.
+ #
+ # The Initial Developer of the Original Code is the Mozilla Foundation
+ # Portions created by the Initial Developers are Copyright (C) 2011 the
+ # Initial Developer. All Rights Reserved.
+ #
+ # Contributor(s):
+ # David Lawrence <dkl@mozilla.com>
+ #%]
+[% USE Bugzilla %]
+[% cgi = Bugzilla.cgi %]
+
+Priority for your Team:
+[%+ cgi.param('teampriority') %]
+
+Timeframe for Completion:
+[%+ cgi.param('timeframe') %]
+
+Goal:
+[%+ cgi.param('goal') %]
+
+Business Objective:
+[%+ cgi.param('busobj') %]
+
+Other Party:
+[%+ cgi.param('otherparty') %]
+
+Description:
+[%+ cgi.param("comment") %]
diff --git a/extensions/BMO/template/en/default/bug/create/comment-mktgevent.txt.tmpl b/extensions/BMO/template/en/default/bug/create/comment-mktgevent.txt.tmpl
new file mode 100644
index 000000000..216f2c53a
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/comment-mktgevent.txt.tmpl
@@ -0,0 +1,48 @@
+[%# 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:
+ # This template has no interface.
+ #
+ # Form variables from a bug submission (i.e. the fields on a template from
+ # enter_bug.cgi) can be access via Bugzilla.cgi.param. It can be used to
+ # pull out various custom fields and format an initial Description entry
+ # from them.
+ #%]
+[% USE Bugzilla %]
+[% cgi = Bugzilla.cgi %]
+Requester: [% cgi.param('firstname') %] [%+ cgi.param('lastname') %]
+Email: [% cgi.param('email') %]
+Event Name: [% cgi.param('eventname') %]
+Event Date: [% cgi.param("date") %]
+Event Location: [% cgi.param("locations") %]
+Event Website: [% cgi.param("website") %]
+Event Description and Objectives:
+[%+ cgi.param("goals") %]
+
+Attendees: [% IF cgi.param('attendees') != "--Please Select--" %][% cgi.param('attendees') %][% END %]
+Target Audience: [% IF cgi.param('audience') != "--Please Select--" %][% cgi.param('audience') %][% END %]
+
+We'll be doing: [% cgi.param("doing").join(", ") %][% IF cgi.param('doing-other-what') %]: [% cgi.param('doing-other-what') %][% END %]
+
+Success will be measured by:
+[%+ cgi.param('successmeasure') %]
+
+[%+ cgi.param("comment") IF cgi.param("comment") %]
+
diff --git a/extensions/BMO/template/en/default/bug/create/comment-mozlist.txt.tmpl b/extensions/BMO/template/en/default/bug/create/comment-mozlist.txt.tmpl
new file mode 100644
index 000000000..c62461d42
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/comment-mozlist.txt.tmpl
@@ -0,0 +1,44 @@
+[%# 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:
+ # This template has no interface.
+ #
+ # Form variables from a bug submission (i.e. the fields on a template from
+ # enter_bug.cgi) can be access via Bugzilla.cgi.param. It can be used to
+ # pull out various custom fields and format an initial Description entry
+ # from them.
+ #%]
+[% USE Bugzilla %]
+[% cgi = Bugzilla.cgi %]
+List Name: [% cgi.param("listName") %]
+List Admin: [% cgi.param("listAdmin") %]
+
+Short Description:
+[%+ cgi.param("listShortDesc") %]
+
+[% IF cgi.param("listType") != "mozilla.com" %]
+Long Description:
+[%+ cgi.param("listLongDesc") %]
+[% END %]
+
+Justification / Special Instructions:
+
+[%+ cgi.param("comment") IF cgi.param("comment") %]
+
diff --git a/extensions/BMO/template/en/default/bug/create/comment-recoverykey.txt.tmpl b/extensions/BMO/template/en/default/bug/create/comment-recoverykey.txt.tmpl
new file mode 100644
index 000000000..9a38af7cc
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/comment-recoverykey.txt.tmpl
@@ -0,0 +1,28 @@
+[%# 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 BMO Bugzilla Extension.
+ #
+ # The Initial Developer of the Original Code is the Mozilla Foundation
+ # Portions created by the Initial Developers are Copyright (C) 2011 the
+ # Initial Developer. All Rights Reserved.
+ #
+ # Contributor(s):
+ # David Lawrence <dkl@mozilla.com>
+ #%]
+[% USE Bugzilla %]
+[% cgi = Bugzilla.cgi %]
+
+Recovery Key: [% cgi.param('recoverykey') %]
+Asset Tag Number: [% cgi.param('assettag') %]
+
+[% IF cgi.param('comment') %]
+[%+ cgi.param('comment') %]
+[% END %]
diff --git a/extensions/BMO/template/en/default/bug/create/comment-swag.txt.tmpl b/extensions/BMO/template/en/default/bug/create/comment-swag.txt.tmpl
new file mode 100644
index 000000000..0ec7687d4
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/comment-swag.txt.tmpl
@@ -0,0 +1,48 @@
+[%# 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:
+ # This template has no interface.
+ #
+ # Form variables from a bug submission (i.e. the fields on a template from
+ # enter_bug.cgi) can be access via Bugzilla.cgi.param. It can be used to
+ # pull out various custom fields and format an initial Description entry
+ # from them.
+ #%]
+[% USE Bugzilla %]
+[% cgi = Bugzilla.cgi %]
+Requester: [% cgi.param('firstname') %] [% cgi.param('lastname') %]
+Email: [% cgi.param('email') %]
+
+Additional Swag: [% cgi.param("additional") %]
+
+Ship to:
+[%+ cgi.param("shiptofirstname") +%] [%+ cgi.param("shiptolastname") +%]
+[%+ cgi.param("shiptoaddress") +%]
+[%+ cgi.param("shiptoaddress2") +%]
+[%+ cgi.param("shiptocity") +%] [%+ cgi.param("shiptostate") +%] [%+ cgi.param("shiptopcode") +%]
+[%+ cgi.param("shiptocountry") %]
+
+Phone: [% cgi.param("shiptophone") %]
+[%+ IF cgi.param("shiptoidrut") %]Personal ID/RUT: [% cgi.param("shiptoidrut") %][% END %]
+
+Additional comments:
+
+[%+ cgi.param("comment") IF cgi.param("comment") %]
+
diff --git a/extensions/BMO/template/en/default/bug/create/create-brownbag.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-brownbag.html.tmpl
new file mode 100644
index 000000000..d0693051c
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/create-brownbag.html.tmpl
@@ -0,0 +1,292 @@
+[%# 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 Mozilla Corporation.
+ # Portions created by Mozilla are Copyright (C) 2008 Mozilla
+ # Corporation. All Rights Reserved.
+ #
+ # Contributor(s): Reed Loden <reed@mozilla.com>
+ # David Tran <dtran@mozilla.com>
+ #%]
+
+[% PROCESS global/variables.none.tmpl %]
+
+[% PROCESS global/header.html.tmpl
+ title = "Mozilla Corporation Brownbag Requests"
+ style = ".yui-skin-sam .yui-calcontainer { z-index: 1; }"
+ style_urls = [ 'skins/standard/enter_bug.css' ]
+ javascript_urls = [ 'js/attachment.js', 'js/field.js', 'js/util.js' ]
+ yui = [ 'autocomplete', 'calendar' ]
+%]
+
+[% USE Bugzilla %]
+
+<div style='text-align: center; width: 98%; font-size: 2em; font-weight: bold; margin: 10px;'>Brownbag Request</div>
+
+<p><strong>Brownbag Request:</strong> Please use this form if you plan on hosting a brownbag so that IT will be able to properly provide support. </p>
+
+<p>Process:</p>
+
+<ol><li>Complete and submit request below.</li>
+ <li>Your request will be reviewed and assigned to the appropriate person in IT.</li>
+</ol>
+
+<p>These requests will only be visible internally in all cases and only to the
+person who submitted the request and any persons designated in the CC line.</p>
+
+<script type="text/javascript">
+function trySubmit() {
+ var topic = document.getElementById('topic').value;
+ var date = document.getElementById('date').value;
+ var time = document.getElementById('time_hour').value + ':' +
+ document.getElementById('time_minute').value +
+ document.getElementById('ampm').value + " " +
+ document.getElementById('time_zone').value;
+ var location = document.getElementById('location').value;
+ var shortdesc = 'Event - (' + date + ' ' + time + ') - ' + location + ' - ' + topic;
+ document.getElementById('short_desc').value = shortdesc;
+
+ // If intended audience is employees only, add mozilla-corporation-confidential group
+ var audience = document.getElementById('audience').value;
+ if (audience == 'Employees Only') {
+ var brownbagRequestForm = document.getElementById('brownbagRequestForm');
+ var groups = document.createElement('input');
+ groups.type = 'hidden';
+ groups.name = 'groups';
+ groups.value = 'mozilla-corporation-confidential';
+ brownbagRequestForm.appendChild(groups);
+ }
+
+ return true;
+}
+</script>
+
+<form method="post" action="post_bug.cgi" id="brownbagRequestForm" class="enter_bug_form"
+ enctype="multipart/form-data" onSubmit="return trySubmit();">
+ <input type="hidden" name="format" value="brownbag">
+ <input type="hidden" name="product" value="Air Mozilla">
+ <input type="hidden" name="component" value="Events">
+ <input type="hidden" name="rep_platform" value="All">
+ <input type="hidden" name="op_sys" value="Other">
+ <input type="hidden" name="priority" value="--">
+ <input type="hidden" name="version" value="unspecified">
+ <input type="hidden" name="bug_severity" id="bug_severity" value="normal">
+ <input type="hidden" name="comment" id="comment" value="">
+ <input type="hidden" name="short_desc" id="short_desc" value="">
+ <input type="hidden" name="token" value="[% token FILTER html %]">
+
+<table>
+
+<tr>
+ <th class="field_label">
+ <label for="presenter">Presenter:</label>
+ </th>
+ <td>
+ <input type="text" name="presenter" id="presenter" value="" size="60" />
+ </td>
+</tr>
+
+<tr>
+ <th class="field_label">
+ <label for="topic">Topic:</label>
+ </th>
+ <td>
+ <input type="text" name="topic" id="topic" value="" size="60" />
+ </td>
+</tr>
+
+<tr>
+ <th class="field_label">
+ <label for="date">Date:</label>
+ </th>
+ <td>
+ <input type="text" name="date" size="10" id="date"
+ align="right" value="" maxlength="10"
+ onchange="updateCalendarFromField(this)">
+ <button type="button" class="calendar_button" id="button_calendar_date"
+ onclick="showCalendar('date')"><span>Calendar</span>
+ </button>
+ <div id="con_calendar_date"></div>
+ </td>
+</tr>
+
+<tr>
+ <th class="field_label">
+ <label for="time_hour">Start Time:</label>
+ </th>
+ <td>
+ <select name="time_hour" id="time_hour">
+ <option value="12" selected>12</option>
+ <option value="1">1</option>
+ <option value="2">2</option>
+ <option value="3">3</option>
+ <option value="4">4</option>
+ <option value="5">5</option>
+ <option value="6">6</option>
+ <option value="7">7</option>
+ <option value="8">8</option>
+ <option value="9">9</option>
+ <option value="10">10</option>
+ <option value="11">11</option>
+ </select>:
+ <select name="time_minute" id="time_minute">
+ <option value="00" selected>00</option>
+ <option value="15">15</option>
+ <option value="30">30</option>
+ <option value="45">45</option>
+ </select>
+ <select name="ampm" id="ampm">
+ <option value="AM">AM</option>
+ <option value="PM" selected>PM</option>
+ </select>
+ <select name="time_zone" id="time_zone">
+ <option value="UTC-11">UTC-11</option>
+ <option value="UTC-10">UTC-10</option>
+ <option value="UTC-9">UTC-9</option>
+ <option value="UTC-8" selected>UTC-8</option>
+ <option value="UTC-7">UTC-7</option>
+ <option value="UTC-6">UTC-6</option>
+ <option value="UTC-5">UTC-5</option>
+ <option value="UTC-4">UTC-4</option>
+ <option value="UTC-3">UTC-3</option>
+ <option value="UTC-2">UTC-2</option>
+ <option value="UTC-1">UTC-1</option>
+ <option value="UTC+0">UTC+0</option>
+ <option value="UTC+1">UTC+1</option>
+ <option value="UTC+2">UTC+2</option>
+ <option value="UTC+3">UTC+3</option>
+ <option value="UTC+4">UTC+4</option>
+ <option value="UTC+5">UTC+5</option>
+ <option value="UTC+6">UTC+6</option>
+ <option value="UTC+7">UTC+7</option>
+ <option value="UTC+8">UTC+8</option>
+ <option value="UTC+9">UTC+9</option>
+ <option value="UTC+10">UTC+10</option>
+ <option value="UTC+11">UTC+11</option>
+ <option value="UTC+12">UTC+11</option>
+ </select>
+ </td>
+</tr>
+
+<tr>
+ <th class="field_label">
+ <label for="duration_one_hour_radio">Duration:</label>
+ </th>
+ <td>
+ <input type="radio" name="duration" id="duration_one_hour_radio" value="1 Hour" checked="checked">
+ <label for="duration_one_hour_radio">1 Hour</label><br>
+ <input type="radio" name="duration" id="duration_one_day_radio" value="1 Day">
+ <label for="duration_one_day_radio">1 Day</label><br>
+ <input type="radio" name="duration" id="duration_other_radio" value="Other"
+ onclick="YAHOO.util.Dom.get('duration_other').focus();">
+ <label for="duration_other_radio">Other</label>
+ <input type="text" name="duration_other" id="duration_other" value="">
+ </td>
+</tr>
+
+<tr>
+ <th class="field_label">
+ <label for="location">Location:</label>
+ </th>
+ <td>
+ <input type="text" name="location" id="location"
+ value="[% default.location || 'Ten Forward' FILTER html %]" size="60" />
+ </td>
+</tr>
+
+<tr>
+ <th class="field_label">
+ <label for="audience">Intended Audience:</label>
+ </th>
+ <td>
+ <select name="audience" id="audience">
+ <option value="Public" selected>Open to Public</option>
+ <option value="Employees Only">Employees Only</option>
+ <option value="Interns">Interns</option>
+ </select>
+ </td>
+</tr>
+
+<tr>
+ <th class="field_label">
+ <label for="airmozilla">Air Mozilla Broadcasting?</label>
+ </th>
+ <td align="left"><input type="checkbox" name="airmozilla" id="airmozilla"></td>
+</tr>
+
+<tr>
+ <th class="field_label">
+ <label for="dialin">Dial In?</label>
+ </th>
+ <td align="left"><input type="checkbox" name="dialin" id="dialin"></td>
+</tr>
+
+<tr>
+ <th class="field_label">
+ <label for="archive">Archive this?</label>
+ </th>
+ <td align="left"><input type="checkbox" name="archive" id="archive" value="yes"></td>
+</tr>
+
+<tr>
+ <th class="field_label">
+ <label for="ithelp">Need IT to help run A/V?</label>
+ </th>
+ <td align="left"><input type="checkbox" name="ithelp" id="ithelp" value="yes" checked></td>
+</tr>
+
+<tr>
+ <th class="field_label">
+ <label for="cc">CC&nbsp;(optional):</label>
+ </th>
+ <td colspan="3">
+ [% INCLUDE global/userselect.html.tmpl
+ id => "cc"
+ name => "cc"
+ value => cc
+ size => 60
+ multiple => 5
+ %]
+ </td>
+</tr>
+
+<tr>
+ <th class="field_label">
+ <label for="description">Description</label>:
+ </th>
+ <td>
+ <em>Please briefly describe the brownbag and any specific needs you might have.</em><br>
+ <textarea id="description" name="description" rows="10" cols="80"></textarea>
+ </td>
+</tr>
+
+<tr>
+ <td></td>
+ <td>
+ <input type="submit" id="commit" value="Submit Request">
+ </td>
+</tr>
+</table>
+
+</form>
+
+<p>
+ Thanks for contacting us.
+ You will be notified by email of any progress made in resolving your request.
+</p>
+
+<script type="text/javascript">
+ createCalendar('date');
+</script>
+
+[% PROCESS global/footer.html.tmpl %]
diff --git a/extensions/BMO/template/en/default/bug/create/create-employee-incident.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-employee-incident.html.tmpl
new file mode 100644
index 000000000..df7ba24df
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/create-employee-incident.html.tmpl
@@ -0,0 +1,265 @@
+[%# 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 BMO Bugzilla Extension.
+ #
+ # The Initial Developer of the Original Code is the Mozilla Foundation
+ # Portions created by the Initial Developers are Copyright (C) 2011 the
+ # Initial Developer. All Rights Reserved.
+ #
+ # Contributor(s):
+ # David Lawrence <dkl@mozilla.com>
+ #%]
+
+[% PROCESS global/variables.none.tmpl %]
+
+[% PROCESS global/header.html.tmpl
+ title = "Mozilla Corporation/Foundation Employee Incident"
+%]
+
+[% USE Bugzilla %]
+
+<script type="text/javascript">
+<!--
+ var type_desc = new Array();
+ type_desc['safety'] = "If this is an emergency please immediately call your local police or emergency number.";
+ type_desc['stolen'] = "Please report a lost Mozilla laptop or any mobile device that was used to access<br> " +
+ "Mozilla email or contained passwords for Mozilla servers, devices, applications, etc.";
+
+ function validateAndSubmit() {
+ var alert_text = '';
+ var typeSelect = YAHOO.util.Dom.get('incident_type');
+ var typeValue = typeSelect.options[typeSelect.selectedIndex].value;
+
+ if (typeValue != 'stolen' && !isFilledOut('short_desc')) {
+ alert_text += "Please enter a summary.\n";
+ }
+
+ var select = YAHOO.util.Dom.get('incident_type');
+ var selectValue = select.options[select.selectedIndex].value;
+ if (selectValue == 'stolen') {
+ if (!isFilledOut('encrypted')) {
+ alert_text += "Please answer whether the device was encrypted.\n";
+ }
+ if (!isFilledOut('userdata')) {
+ alert_text += "Please answer whether the device had user data.\n";
+ }
+ if (!isFilledOut('rememberpasswords')) {
+ alert_text += "Please answer whether the browser was configured to remember passwords.\n";
+ }
+ }
+
+ if (alert_text) {
+ alert(alert_text);
+ return false;
+ }
+
+ // Hard code summary if stolen type was chosen
+ if (typeValue == 'stolen') {
+ document.getElementById('short_desc').value = '[Lost Device] Change LDAP Password for [% user.name FILTER js %]';
+ }
+
+ return true;
+ }
+
+ function setType (select) {
+ var selectValue = select.options[select.selectedIndex].value;
+
+ // Set the current description displayed.
+ document.getElementById('type_desc').innerHTML = type_desc[selectValue];
+
+ // Display/hide some additional fields based on type selected
+ if (selectValue == 'stolen') {
+ YAHOO.util.Dom.removeClass('stolen', 'bz_default_hidden');
+ YAHOO.util.Dom.addClass('safety', 'bz_default_hidden');
+ }
+ else {
+ YAHOO.util.Dom.removeClass('safety', 'bz_default_hidden');
+ YAHOO.util.Dom.addClass('stolen', 'bz_default_hidden');
+ }
+
+ // Alter the product/component/group based on type selected
+ if (selectValue == 'stolen') {
+ document.getElementById('product').value = 'mozilla.org';
+ document.getElementById('component').value = 'Server Operations: Desktop Issues';
+ document.getElementById('groups').value = 'infra';
+ document.getElementById('cc').value = 'mcoates@mozilla.com, jstevensen@mozilla.com, afowler@mozilla.com';
+ document.getElementById('bug_severity').value = 'critical';
+ }
+ else {
+ document.getElementById('product').value = 'Mozilla Corporation';
+ document.getElementById('component').value = 'Facilities Management';
+ document.getElementById('groups').value = 'hr';
+ document.getElementById('cc').value = 'dcohen@mozilla.com, mcoates@mozilla.com, jill@mozilla.com';
+ document.getElementById('bug_severity').value = 'normal';
+ }
+ }
+
+ function toggleEnabled (source, value, target) {
+ var sourceElement = YAHOO.util.Dom.get(source);
+ var targetElement = YAHOO.util.Dom.get(target);
+ if (sourceElement[sourceElement.selectedIndex].value == value) {
+ targetElement.disabled = false;
+ targetElement.focus();
+ }
+ else {
+ targetElement.disabled = true;
+ }
+ }
+
+ function isFilledOut(elem_id) {
+ var str = document.getElementById(elem_id).value;
+ return str.length > 0 && str != "noneselected";
+ }
+
+ YAHOO.util.Event.onDOMReady(function () {
+ setType(document.getElementById('incident_type'));
+ toggleEnabled('userdata', 'Yes', 'sensitivedata');
+ toggleEnabled('rememberpasswords', 'Yes', 'criticalsites');
+ });
+// -->
+</script>
+
+<p><strong>Please use this form for employee incidents only!</strong></p>
+<p>If you have a [% terms.bug %] to file, go <a href="enter_bug.cgi">here</a>.</p>
+<p><span style="color: red;">*</span></strong> Required Fields</p>
+<form method="post" action="post_bug.cgi" id="incidentForm" enctype="multipart/form-data"
+ onSubmit="return validateAndSubmit();">
+ <input type="hidden" id="product" name="product" value="">
+ <input type="hidden" id="component" name="component" value="">
+ <input type="hidden" id="rep_platform" name="rep_platform" value="All">
+ <input type="hidden" id="op_sys" name="op_sys" value="All">
+ <input type="hidden" id="priority" name="priority" value="--">
+ <input type="hidden" id="version" name="version" value="other">
+ <input type="hidden" id="cc" name="cc" value="">
+ <input type="hidden" id="groups" name="groups" value="">
+ <input type="hidden" id="format" name="format" value="employee-incident">
+ <input type="hidden" id="bug_severity" name="bug_severity" value="">
+ <input type="hidden" id="token" name="token" value="[% token FILTER html %]">
+
+ <table>
+ <tr>
+ <td align="right" valign="top"><strong>Incident Type:</strong></td>
+ <td>
+ <select id="incident_type" name="incident_type" onchange="setType(this);">
+ <option value="safety" selected>Report a Safety Concern</option>
+ <option value="stolen">My laptop or phone was lost/stolen</option>
+ </select>
+ <div id="type_desc" style="color:red;"></div>
+ </td>
+ </tr>
+ <tbody id="safety" class="bz_default_hidden">
+ <tr class="safety">
+ <td align="right">
+ <strong><span style="color: red;">*</span> Summary:</strong>
+ </td>
+ <td>
+ <input name="short_desc" id="short_desc" size="60"
+ value="[% short_desc FILTER html %]">
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="stolen" class="bz_default_hidden">
+ <tr>
+ <td align="right" valign="top"><strong>Stolen Details:</strong></td>
+ <td>
+ <table>
+ <tr>
+ <td>
+ <label for="encrypted">
+ <strong><span style="color: red;">*</span></strong>
+ To your knowledge, was your device encrypted?
+ </label>
+ </td>
+ <td>
+ <select name="encrypted" id="encrypted">
+ <option value="">---</option>
+ <option value="No">No</option>
+ <option value="Yes">Yes</option>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <label for="userdata">
+ <strong><span style="color: red;">*</span></strong>
+ Did you have any user data on your device?
+ </label>
+ </td>
+ <td>
+ <select name="userdata" id="userdata"
+ onchange="toggleEnabled('userdata', 'Yes', 'sensitivedata');">
+ <option value="">---</option>
+ <option value="No">No</option>
+ <option value="Yes">Yes</option>
+ </select>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ <td>&nbsp;</td>
+ <td>If yes, what sensitive data was stored on your device?</td>
+ </tr>
+ <tr>
+ <td>&nbsp;</td>
+ <td>
+ <textarea name="sensitivedata" id="sensitivedata" rows="10" cols="80"></textarea>
+ </td>
+ </tr>
+ <tr>
+ <td>&nbsp;</td>
+ <td>
+ <label for="rememberpasswords">
+ <strong><span style="color: red;">*</span></strong>
+ Was your browser configured to remember passwords
+ (<a href="http://support.mozilla.com/en-US/kb/make-firefox-remember-usernames-and-passwords">more info</a>)?
+ </label>
+ <select name="rememberpasswords" id="rememberpasswords"
+ onchange="toggleEnabled('rememberpasswords', 'Yes', 'criticalsites');">
+ <option value="">---</option>
+ <option value="No">No</option>
+ <option value="Yes">Yes</option>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td>&nbsp;</td>
+ <td>If yes, which critical sites were included?</td>
+ </tr>
+ <tr>
+ <td>&nbsp;</td>
+ <td>
+ <textarea name="criticalsites" id="criticalsites" rows="10" cols="80"></textarea>
+ </td>
+ </tr>
+ </tbody>
+ <tr>
+ <td align="right" valign="top"><strong>Extra Notes:</strong></td>
+ <td>
+ <textarea name="comment" rows="10" cols="80">
+ [% comment FILTER html %]</textarea>
+ </td>
+ </tr>
+ <tr>
+ <td>&nbsp;</td>
+ <td>
+ <input type="submit" id="commit" value="Submit Request">
+ </td>
+ </tr>
+ </table>
+</form>
+
+<p>
+ Thanks for contacting us. You will be notified by email of any progress made in resolving your request.
+</p>
+
+[% PROCESS global/footer.html.tmpl %]
diff --git a/extensions/BMO/template/en/default/bug/create/create-itrequest.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-itrequest.html.tmpl
new file mode 100644
index 000000000..637eae57a
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/create-itrequest.html.tmpl
@@ -0,0 +1,188 @@
+[%# 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>
+ # Ville Skyttä <ville.skytta@iki.fi>
+ # John Hoogstrate <hoogstrate@zeelandnet.nl>
+ #%]
+
+[% PROCESS global/variables.none.tmpl %]
+
+[% PROCESS global/header.html.tmpl
+ title = "Mozilla Corporation/Foundation IT Requests"
+ javascript_urls = [ 'js/field.js' ]
+ yui = [ 'autocomplete' ]
+%]
+
+[% USE Bugzilla %]
+
+<p><strong>Please use this form for IT requests only!</strong></p>
+<p>If you have a [% terms.bug %] to file, go <a href="enter_bug.cgi">here</a>.</p>
+
+<form method="post" action="post_bug.cgi" id="itRequestForm" enctype="multipart/form-data">
+ <input type="hidden" name="product" value="mozilla.org">
+ <input type="hidden" name="rep_platform" value="All">
+ <input type="hidden" name="op_sys" value="Other">
+ <input type="hidden" name="priority" value="--">
+ <input type="hidden" name="version" value="other">
+ <input type="hidden" name="token" value="[% token FILTER html %]">
+ <script type="text/javascript">
+ <!--
+ function setsevdesc(theSelect) {
+ var theValue = theSelect.options[theSelect.selectedIndex].value;
+ if (theValue == 'blocker') {
+ document.getElementById('blockerdesc').style.display = 'block';
+ document.getElementById('critdesc').style.display = 'none';
+ } else if (theValue == 'critical') {
+ document.getElementById('blockerdesc').style.display = 'none';
+ document.getElementById('critdesc').style.display = 'block';
+ } else {
+ document.getElementById('blockerdesc').style.display = 'none';
+ document.getElementById('critdesc').style.display = 'none';
+ }
+ }
+ var compdesc = new Array();
+ [% FOREACH comp IN product.components %]
+ compdesc['[% comp.name FILTER js %]'] = '[% comp.description FILTER js %]';
+ [% END %]
+ compdesc['invalid'] = '';
+ function setcompdesc(theRadio) {
+ var theValue = theRadio.value;
+ document.getElementById('compdescription').innerHTML = compdesc[theValue];
+ }
+ // -->
+ </script>
+ <table>
+ <tr>
+
+ <td align="right">
+ <strong>Urgency:</strong>
+ </td>
+
+ <td>
+ <select id="bug_severity" name="bug_severity" onchange="setsevdesc(this)">
+ <option value="blocker">All work for IT stops until this is done</option>
+ <option value="critical">IT should work on it soon as possible (urgent)</option>
+ <option value="major">IT should get to it within 24 hours</option>
+ <option value="normal">IT should get to it within the next week</option>
+ <option value="minor" selected="selected">No rush, but hopefully IT can get to it soon</option>
+ <option value="trivial">Whenever IT can get around to it</option>
+ <option value="enhancement">This is just an idea, filing it so we don't forget</option>
+ </select>
+ </td>
+ <td>
+ <div id="blockerdesc" style="color:red;display:none">This will page the on-call sysadmin if not handled within 30 minutes.</div>
+ <div id="critdesc" style="color:red;display:none">This will page the on-call sysadmin if not handled within 8 hours.</div>
+ </td>
+
+ </tr>
+ <tr>
+ <td align="right"><strong>Request Type:</strong></td>
+ <td style="white-space: nowrap;">
+ <input type="radio" name="component" id="componentac" onclick="setcompdesc(this)" value="Server Operations: Account Requests">
+ <label for="componentac">Request an LDAP/E-mail/etc. account</label><br>
+ <input type="radio" name="component" id="componentmvd" onclick="setcompdesc(this)" value="Server Operations: Desktop Issues">
+ <label for="componentmvd">Desktop/Laptop/Printer/Phone/Tablet/License problem/order/request</label><br>
+ <input type="radio" name="component" id="componenttbm" onclick="setcompdesc(this)" value="Server Operations: RelEng">
+ <label for="componenttbm">Report a problem with a tinderbox machine</label><br>
+ <input type="radio" name="component" id="componentwcp" onclick="setcompdesc(this)" value="Server Operations: Web Operations">
+ <label for="componentwcp">Report a problem with a Mozilla website, or to request a change or push</label><br>
+ <input type="radio" name="component" id="componentacl" onclick="setcompdesc(this)" value="Server Operations: ACL Request">
+ <label for="componentacl">Request a firewall change</label><br>
+ <input type="radio" name="component" id="componentso" onclick="setcompdesc(this)" value="Server Operations">
+ <label for="componentso">Any other issue</label><br>
+ Mailing list requests should be filed <a href="[% ulrbase FILTER none %]enter_bug.cgi?product=mozilla.org&format=mozlist">here</a> instead.
+ </td>
+ <td id="compdescription" align="left" style="color: green; padding-left: 1em">
+ </td>
+ <tr>
+ <td align="right"><strong>Summary:</strong></td>
+ <td colspan="3">
+ <input name="short_desc" size="60" value="[% short_desc FILTER html %]">
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right"><strong>CC&nbsp;(optional):</strong></td>
+ <td colspan="3">
+ [% INCLUDE global/userselect.html.tmpl
+ id => "cc"
+ name => "cc"
+ value => cc
+ size => 60
+ multiple => 5
+ %]
+ </td>
+ </tr>
+
+ <tr><td align="right" valign="top"><strong>Description:</strong></td>
+ <td colspan="3">
+ <textarea name="comment" rows="10" cols="80">
+ [% comment FILTER html %]</textarea>
+ <br>
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right"><strong>URL&nbsp;(optional):</strong></td>
+ <td colspan="3">
+ <input name="bug_file_loc" size="60"
+ value="[% bug_file_loc FILTER html %]">
+ </td>
+ </tr>
+
+ <tr><td colspan="4">&nbsp;</td></tr>
+
+ <tr>
+ <td colspan="4">
+ <strong>Attachment&nbsp;(optional):</strong>
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right">File:</td>
+ <td colspan="3">
+ <em>Enter the path to the file on your computer.</em><br>
+ <input type="file" id="data" name="data" size="50">
+ <input type="hidden" name="contenttypemethod" value="autodetect" />
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right">Description:</td>
+ <td colspan="3">
+ <em>Describe the attachment briefly.</em><br>
+ <input type="text" id="description" name="description" size="60" maxlength="200">
+ </td>
+ </tr>
+ </table>
+
+ <br>
+ <!-- infra [% terms.bugs %] -->
+ <input type="checkbox" name="groups" id="groups" value="infra" checked="checked"><label for="groups"><strong>This is an internal issue which should not be publicly visible.</strong></label><br>(please uncheck this box if it isn't)
+ <br><br>
+
+ <input type="submit" id="commit" value="Submit Request">
+</form>
+
+<p>Thanks for contacting us.
+ You will be notified by email of any progress made in resolving your
+ request.
+</p>
+
+[% PROCESS global/footer.html.tmpl %]
diff --git a/extensions/BMO/template/en/default/bug/create/create-legal.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-legal.html.tmpl
new file mode 100644
index 000000000..15941c8ab
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/create-legal.html.tmpl
@@ -0,0 +1,220 @@
+[%# 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 Mozilla Corporation.
+ # Portions created by Mozilla are Copyright (C) 2008 Mozilla
+ # Corporation. All Rights Reserved.
+ #
+ # Contributor(s): Mark Smith <mark@mozilla.com>
+ # Reed Loden <reed@mozilla.com>
+ #%]
+
+[% PROCESS global/variables.none.tmpl %]
+
+[% PROCESS global/header.html.tmpl
+ title = "Mozilla Corporation Legal Requests"
+ style_urls = [ 'skins/standard/attachment.css' ]
+ javascript_urls = [ 'js/attachment.js', 'js/field.js' ]
+ yui = [ 'autocomplete' ]
+%]
+
+[% IF user.in_group("mozilla-corporation-confidential")
+ OR user.in_group("mozilla-messaging-confidential")
+ OR user.in_group("mozilla-foundation-confidential") %]
+
+<div style='text-align: center; width: 98%; font-size: 2em; font-weight: bold; margin: 10px;'>MoLegal</div>
+
+<p><strong>Welcome to MoLegal.</strong> For legal help please fill in the form below completely.</p>
+
+<p>Legal [% terms.bugs %] are only visible to the reporter, members of the legal team, and those on the
+CC list. This is necessary to maintain attorney-client privilege. Please do not add non-
+employees to the cc list.</p>
+
+<p><strong>All Submissions, And Information Provided In Response To This Request,
+Are Confidential And Subject To The Attorney-Client Privilege And Work Product Doctrine.</strong></p>
+
+<form method="post" action="post_bug.cgi" id="legalRequestForm" enctype="multipart/form-data">
+ <input type="hidden" name="product" value="Legal">
+ <input type="hidden" name="rep_platform" value="All">
+ <input type="hidden" name="op_sys" value="Other">
+ <input type="hidden" name="version" value="unspecified">
+ <input type="hidden" name="priority" value="--">
+ <input type="hidden" name="bug_severity" value="normal">
+ <input type="hidden" name="format" value="legal">
+ <input type="hidden" name="token" value="[% token FILTER html %]">
+ [% IF user.in_group('canconfirm') %]
+ <input type="hidden" name="bug_status" value="NEW">
+ [% END %]
+
+<table>
+
+<tr>
+ <td align="right" width="170px"><strong>Request Type:</strong></td>
+ <td>
+ <select name="component">
+ [%- FOREACH c = product.components %]
+ [% NEXT IF NOT c.is_active %]
+ <option value="[% c.name FILTER html %]"
+ [% " selected=\"selected\"" IF c.name == "General" %]>
+ [% c.name FILTER html -%]
+ </option>
+ [%- END %]
+ </select>
+ </td>
+</tr>
+
+<tr>
+ <td align="right" valign="top">
+ <strong>Goal:</strong>
+ </td>
+ <td colspan="3">
+ <em>Identify the company goal this request maps to.</em><br>
+ <input name="goal" id="goal" size="60" value="[% goal FILTER html %]">
+ </td>
+</tr>
+
+<tr>
+ <td align="right">
+ <strong>Priority to your Team:</strong>
+ </td>
+ <td>
+ <select id="teampriority" name="teampriority">
+ <option value="High">High</option>
+ <option value="Medium">Medium</option>
+ <option value="Low" selected="selected">Low</option>
+ </select>
+ </td>
+</tr>
+
+<tr>
+ <td align="right">
+ <strong>Timeframe for Completion:</strong>
+ </td>
+ <td>
+ <select id="timeframe" name="timeframe">
+ <option value="2 days">2 days</option>
+ <option value="a week">a week</option>
+ <option value="2-4 weeks">2-4 weeks</option>
+ <option value="this will take a while, but please get started soon">
+ this will take a while, but please get started soon</option>
+ <option value="no rush" selected="selected">no rush</option>
+ </select>
+ </td>
+</tr>
+
+<tr>
+ <td align="right" valign="top">
+ <strong>Summary:</strong>
+ </td>
+ <td colspan="3">
+ <em>Include the name of the vendor, partner, product, or other identifier.</em><br>
+ <input name="short_desc" size="60" value="[% short_desc FILTER html %]">
+ </td>
+</tr>
+
+<tr>
+ <td align="right">
+ <strong>CC&nbsp;(optional):</strong>
+ </td>
+ <td colspan="3">
+ [% INCLUDE global/userselect.html.tmpl
+ id => "cc"
+ name => "cc"
+ value => cc
+ size => 60
+ multiple => 5
+ %]
+ </td>
+</tr>
+
+<tr>
+ <td align="right" valign="top">
+ <strong>Name of Other Party:</strong>
+ </td>
+ <td>
+ <em>If applicable, include full legal entity name, address, and any other relevant contact information.</em><br>
+ <textarea id="otherparty" name="otherparty" rows="3" cols="80"></textarea>
+ </td>
+</tr>
+
+<tr>
+ <td align="right">
+ <strong>Business Objective:</strong>
+ </td>
+ <td>
+ <input type="text" name="busobj" id="busobj" value="" size="60" />
+ </td>
+</tr>
+
+<tr>
+ <td align="right" valign="top">
+ <strong>Description:</strong>
+ </td>
+ <td colspan="3">
+ <em>Describe your question, what you want and/or provide any relevant deal terms, restrictions,<br>
+ or provisions that are applicable. Also provide context and background.</em><br>
+ <textarea id="comment" name="comment" rows="10" cols="80">
+ [% comment FILTER html %]</textarea>
+ </td>
+</tr>
+
+<tr>
+ <td align="right"><strong>URL&nbsp;(optional):</strong></td>
+ <td colspan="3">
+ <input name="bug_file_loc" size="60"
+ value="[% bug_file_loc FILTER html %]">
+ </td>
+</tr>
+
+<tr>
+ <td></td>
+ <td colspan=2><strong>Attachment (this is optional)</strong></td>
+</tr>
+
+<tr>
+ <td align="right" valign="top">
+ <strong><label for="data">File:</label></strong>
+ </td>
+ <td>
+ <em>Enter the path to the file on your computer.</em><br>
+ <input type="file" id="data" name="data" size="50">
+ <input type="hidden" name="contenttypemethod" value="autodetect" />
+ </td>
+</tr>
+
+<tr>
+ <td align="right" valign="top">
+ <strong><label for="description">Description:</label></strong>
+ </td>
+ <td>
+ <em>Describe the attachment briefly.</em><br>
+ <input type="text" id="description" name="description" size="60" maxlength="200">
+ </td>
+</tr>
+
+</table>
+
+<br>
+
+ <input type="submit" id="commit" value="Submit Request">
+</form>
+
+<p>Thanks for contacting us. You will be notified by email of any progress made in resolving your request.</p>
+
+[% ELSE %]
+
+<p>Sorry, you do not have access to this page.</p>
+
+[% END %]
+
+[% PROCESS global/footer.html.tmpl %]
diff --git a/extensions/BMO/template/en/default/bug/create/create-mktgevent.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-mktgevent.html.tmpl
new file mode 100644
index 000000000..ea60f6c19
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/create-mktgevent.html.tmpl
@@ -0,0 +1,251 @@
+[%# 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 Mozilla Corporation.
+ # Portions created by Mozilla are Copyright (C) 2008 Mozilla
+ # Corporation. All Rights Reserved.
+ #
+ # Contributor(s): Reed Loden <reed@mozilla.com>
+ # David Tran <dtran@mozilla.com>
+ #%]
+
+[% PROCESS global/variables.none.tmpl %]
+
+[% PROCESS global/header.html.tmpl
+ title = "Event Request Form"
+ javascript_urls = [ 'extensions/BMO/web/js/form_validate.js',
+ 'js/field.js',
+ 'js/util.js' ]
+ style = ".yui-skin-sam .yui-calcontainer { z-index: 1; }"
+ yui = [ 'autocomplete', 'calendar' ]
+%]
+
+<div style='text-align: center; width: 98%; font-size: 2em; font-weight: bold; margin: 10px;'>Event Request Form</div>
+
+<p><strong>Event Request:</strong> Please use this form to file a request for an event. <b>This form is not a request for swag.</b></p>
+
+<p>Process:</p>
+
+<ol>
+ <li>Complete and submit request below.</li>
+ <li>Your request will be reviewed by the appropriate person in the Engagement team.</li>
+</ol>
+
+<p>These requests will only be visible to the person who submitted the request,
+any persons designated in the CC line, and authorized members of the Mozilla
+Engagement team.</p>
+
+<script language="javascript" type="text/javascript">
+function trySubmit() {
+
+ var date = document.getElementById('date').value;
+ var eventname = document.getElementById('eventname').value;
+ var shortdesc = 'Event Request (' + date + ') - ' + eventname;
+ document.getElementById('short_desc').value = shortdesc;
+ if(!isChecked('doing-other')) document.getElementById('doing-other-what').value = '';
+ return true;
+}
+
+function validateAndSubmit() {
+
+ var alert_text = '';
+ if(!isFilledOut('firstname')) alert_text += "Please enter your first name\n";
+ if(!isFilledOut('lastname')) alert_text += "Please enter your last name\n";
+ if(!isValidEmail(document.getElementById('email').value)) alert_text += "Please enter a valid email address\n";
+ if(!isFilledOut('eventname')) alert_text += "Please enter an event name.\n";
+ if(!isFilledOut('website')) alert_text += "Please enter an event website.\n";
+ if(!isFilledOut('goals')) alert_text += "Please enter the Description and Objectives.\n";
+ if(!isFilledOut('date')) alert_text += "Please enter an event date.\n";
+ if(!isFilledOut('goals')) alert_text += "Please enter the event goals.\n";
+ if(!isFilledOut('successmeasure')) alert_text += "Please enter how you will measure the success of the event.\n";
+
+ if(!isChecked('doing-booth') &&
+ !isChecked('doing-speaking') &&
+ !isChecked('doing-outreach') &&
+ !isChecked('doing-other')
+ ) alert_text += "Please indicate what you'll be doing at the event.\n";
+ if(isChecked('doing-other') && !isFilledOut('doing-other-what')) alert_text += "Please describe what 'other' thing you'll be doing at the event.\n";
+
+ //Everything required is filled out..try to submit the form!
+ if(alert_text == '') {
+ return trySubmit();
+ }
+
+ //alert text, stay here on the pagee
+ alert(alert_text);
+ return false;
+}
+
+</script>
+
+<form method="post" action="post_bug.cgi" id="swagRequestForm" enctype="multipart/form-data"
+ onSubmit="return validateAndSubmit();">
+
+ <input type="hidden" name="format" value="mktgevent">
+ <input type="hidden" name="product" value="Marketing">
+ <input type="hidden" name="component" value="Event Requests">
+ <input type="hidden" name="rep_platform" value="All">
+ <input type="hidden" name="op_sys" value="Other">
+ <input type="hidden" name="priority" value="--">
+ <input type="hidden" name="version" value="unspecified">
+ <input type="hidden" name="bug_severity" id="bug_severity" value="normal">
+ <input type="hidden" name="short_desc" id="short_desc" value="">
+ <input type="hidden" name="groups" value="mozilla-corporation-confidential">
+ <input type="hidden" name="token" value="[% token FILTER html %]">
+
+<table>
+
+<tr>
+ <td align="right"><strong>First Name: <span style="color: red;">*</span></strong></td>
+ <td align="left">
+ <input type="text" name="firstname" id="firstname" value="" size="20" maxlength="20" />
+ </td>
+</tr>
+<tr>
+ <td align="right"><strong>Last Name: <span style="color: red;">*</span></strong></td>
+ <td align="left">
+ <input type="text" name="lastname" id="lastname" value="" size="20" maxlength="20"/>
+ </td>
+</tr>
+
+<tr>
+ <td align="right"><strong>Email Address: <span style="color: red;">*</span></strong></td>
+ <td>
+ <input type="text" name="email" id="email" value="" size="50" maxlength="50"/>
+ </td>
+</tr>
+
+<tr>
+ <td align="right"><strong>CC&nbsp;(optional):</strong></td>
+ <td colspan="3">
+ [% INCLUDE global/userselect.html.tmpl
+ id => "cc"
+ name => "cc"
+ value => cc
+ size => 50
+ multiple => 5
+ %]
+ </td>
+</tr>
+
+<tr>
+ <td><!-- spacer -->&nbsp;</td>
+</tr>
+
+<tr>
+ <td><!-- spacer -->&nbsp;</td>
+</tr>
+
+<tr>
+ <td align="right"><strong>Event Name: <span style="color: red;">*</span></strong></td>
+ <td>
+ <input type="text" name="eventname" id="eventname" value="" size="50" maxlength="50"/>
+ </td>
+</tr>
+
+<tr>
+ <td align="right"><strong>Event Date: <span style="color: red;">*</span></strong></td>
+ <td>
+ <input type="text" id="date" name="date" size="10"
+ onchange="updateCalendarFromField(this)">
+ <button type="button" class="calendar_button" id="button_calendar_date"
+ onclick="showCalendar('date')"><span>Calendar</span>
+ </button>
+ <div id="con_calendar_date"></div>
+ </td>
+</tr>
+
+<tr>
+ <td align="right"><strong>Event Location: <span style="color: red;">*</span></strong><br /><small>(City, Country; or City, State)</small></td>
+ <td>
+ <input type="text" name="location" id="location" value="" size="50" maxlength="80" />
+ </td>
+</tr>
+
+<tr>
+ <td align="right"><strong>Event Website: <span style="color: red;">*</span></strong></td>
+ <td>
+ <input type="text" name="website" id="website" value="" size="50" maxlength="120" />
+ </td>
+</tr>
+
+<tr>
+ <td align="right"><strong>Event Description and Key Objectives: <span style="color: red;">*</span></strong></td>
+ <td>
+ <textarea id="goals" name="goals" rows="5" cols="50"></textarea>
+ </td>
+</tr>
+
+<tr>
+ <td align="right"><strong>What will you be doing at the event? <span style="color: red;">*</span></strong></td>
+ <td>
+ <input type="checkbox" id="doing-booth" name="doing" value="Booth or Table"><label for="doing-booth">Booth/Table</label><br />
+ <input type="checkbox" id="doing-speaking" name="doing" value="Speaking Opportunity"><label for="doing-speaking">Speaking Opportunity</label><br />
+ <input type="checkbox" id="doing-outreach" name="doing" value="PR or Media Outreach"><label for="doing-outreach">PR or Media Outreach</label><br />
+ <input type="checkbox" id="doing-other" name="doing" value="Other"><label for="doing-other">Other, please explain:</label>
+ <input type="text" name="doing-other-what" id="doing-other-what" value="" size="50" maxlength="120"><br />
+ </td>
+</tr>
+
+<tr>
+ <td><!-- spacer -->&nbsp;</td>
+</tr>
+
+<tr>
+ <td align="right"><strong>How many attendees will be at the event?</strong></td>
+ <td>
+ <select name="attendees" id="attendees">
+ <option value="--Please Select--" selected>--Please Select--</option>
+ <option value="1-99">1-99</option>
+ <option value="100-499">100-499</option>
+ <option value="500-999">500-999</option>
+ <option value="1000+">1000+</option>
+ </select>
+ </td>
+</tr>
+
+<tr>
+ <td align="right"><strong>Targeted Audience:</strong></td>
+ <td>
+ <select name="audience" id="audience">
+ <option value="--Please Select--" selected>--Please Select--</option>
+ <option value="Contributors">Contributors (Developers, Education, Security, Designers, Localization, Support & Marketing)</option>
+ <option value="Potential New Users">Potential New Users</option>
+ <option value="User Community">User Community (Recent adopters, fans, Mozilla product evangelizers)</option>
+ </select>
+ </td>
+</tr>
+
+<tr>
+ <td align="right"><strong>How will you measure the<br />success of your event? <span style="color: red;">*</span></strong></td>
+ <td>
+ <textarea id="successmeasure" name="successmeasure" rows="5" cols="50"></textarea>
+ </td>
+</tr>
+
+
+ </table>
+ <br>
+ <input type="submit" id="commit" value="Submit Request">
+
+<p>
+ <strong><span style="color: red;">*</span></strong> - Required field<br />
+ Thanks for contacting us.
+
+</p>
+
+<script type="text/javascript">
+ createCalendar('date');
+</script>
+
+[% PROCESS global/footer.html.tmpl %]
diff --git a/extensions/BMO/template/en/default/bug/create/create-mozlist.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-mozlist.html.tmpl
new file mode 100644
index 000000000..39a372351
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/create-mozlist.html.tmpl
@@ -0,0 +1,306 @@
+[%# 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>
+ # Ville Skyttä <ville.skytta@iki.fi>
+ # John Hoogstrate <hoogstrate@zeelandnet.nl>
+ #%]
+
+[% PROCESS global/variables.none.tmpl %]
+
+[% PROCESS global/header.html.tmpl
+ title = "Mozilla Discussion Forum / Mailing List Requests"
+ javascript_urls = [ 'extensions/BMO/web/js/form_validate.js',
+ 'js/field.js' ]
+ yui = [ 'autocomplete' ]
+%]
+
+<script type="text/javascript">
+<!--
+ function toggleGroup (theRadio) {
+ var radioValue = theRadio.value;
+ var groupDiv = YAHOO.util.Dom.get('groups');
+ var group = YAHOO.util.Dom.get('group_35');
+ if (radioValue == 'lists.mozilla.org') {
+ YAHOO.util.Dom.setStyle('listNameTR', 'display', 'table-row');
+ YAHOO.util.Dom.setStyle('listNameDiscussion', 'display', 'inline');
+ YAHOO.util.Dom.setStyle('listNameOther', 'display', 'none');
+ YAHOO.util.Dom.setStyle('listAdminTR', 'display', 'table-row');
+ YAHOO.util.Dom.setStyle('listShortDescTR', 'display', 'table-row');
+ YAHOO.util.Dom.setStyle('listShortDescMailman', 'display', 'inline');
+ YAHOO.util.Dom.setStyle('listShortDescZimbra', 'display', 'none');
+ YAHOO.util.Dom.setStyle('listLongDescTR', 'display', 'table-row');
+ YAHOO.util.Dom.setStyle('listCommentTR', 'display', 'table-row');
+ YAHOO.util.Dom.setStyle('CCTR', 'display', 'table-row');
+ YAHOO.util.Dom.setStyle('URLTR', 'display', 'table-row');
+ YAHOO.util.Dom.setStyle('groups', 'display', 'none');
+ group.disabled = true;
+ YAHOO.util.Dom.setStyle('submitDiv', 'display', 'block');
+ } else if (radioValue == 'mozilla.org') {
+ YAHOO.util.Dom.setStyle('listNameTR', 'display', 'table-row');
+ YAHOO.util.Dom.setStyle('listNameDiscussion', 'display', 'none');
+ YAHOO.util.Dom.setStyle('listNameOther', 'display', 'inline');
+ YAHOO.util.Dom.setStyle('listAdminTR', 'display', 'table-row');
+ YAHOO.util.Dom.setStyle('listShortDescTR', 'display', 'table-row');
+ YAHOO.util.Dom.setStyle('listShortDescMailman', 'display', 'inline');
+ YAHOO.util.Dom.setStyle('listShortDescZimbra', 'display', 'none');
+ YAHOO.util.Dom.setStyle('listLongDescTR', 'display', 'table-row');
+ YAHOO.util.Dom.setStyle('listCommentTR', 'display', 'table-row');
+ YAHOO.util.Dom.setStyle('CCTR', 'display', 'table-row');
+ YAHOO.util.Dom.setStyle('URLTR', 'display', 'table-row');
+ YAHOO.util.Dom.setStyle('groups', 'display', 'table-row');
+ group.disabled = false;
+ YAHOO.util.Dom.setStyle('submitDiv', 'display', 'block');
+ } else {
+ YAHOO.util.Dom.setStyle('listNameTR', 'display', 'table-row');
+ YAHOO.util.Dom.setStyle('listNameDiscussion', 'display', 'none');
+ YAHOO.util.Dom.setStyle('listNameOther', 'display', 'inline');
+ YAHOO.util.Dom.setStyle('listAdminTR', 'display', 'none');
+ YAHOO.util.Dom.setStyle('listShortDescTR', 'display', 'table-row');
+ YAHOO.util.Dom.setStyle('listShortDescMailman', 'display', 'none');
+ YAHOO.util.Dom.setStyle('listShortDescZimbra', 'display', 'inline');
+ YAHOO.util.Dom.setStyle('listLongDescTR', 'display', 'none');
+ YAHOO.util.Dom.setStyle('listCommentTR', 'display', 'table-row');
+ YAHOO.util.Dom.setStyle('CCTR', 'display', 'table-row');
+ YAHOO.util.Dom.setStyle('URLTR', 'display', 'table-row');
+ YAHOO.util.Dom.setStyle('groups', 'display', 'table-row');
+ group.disabled = false;
+ YAHOO.util.Dom.setStyle('submitDiv', 'display', 'block');
+ }
+ }
+
+ function trySubmit() {
+ var listName = document.getElementById('listName').value;
+ var listAdmin = document.getElementById('listAdmin').value;
+ var listTypeRadio = document.getElementsByName('listType');
+ var listType = "";
+
+ for (var i = 0; i < listTypeRadio.length; i++) {
+ if (listTypeRadio[i].checked) {
+ listType = listTypeRadio[i].value;
+ }
+ }
+
+ var alert_text = "";
+ var short_desc = "";
+
+ if (listType) {
+ if (listType == "lists.mozilla.org") {
+ document.getElementById('component').value = "Discussion Forums";
+ short_desc = "Discussion Forum: " + listName;
+ } else if (listType == "mozilla.com" ) {
+ document.getElementById('component').value = "Server Operations: Desktop Issues";
+ short_desc = "[Zimbra Distribution List Request] " + listName + "@" + listType;
+ } else {
+ document.getElementById('component').value = "Server Operations";
+ short_desc = "[Mailman List Request] " + listName + "@" + listType;
+ }
+ } else {
+ alert_text += "Please select a list type\n";
+ }
+
+ if (!isFilledOut('listName')) {
+ alert_text += "Please enter the list name\n";
+ }
+
+ if ((!isValidEmail(listAdmin)) && (listType != 'mozilla.com')) {
+ alert_text += "Please enter a valid email address for the list administrator\n";
+ }
+
+ if (alert_text) {
+ alert(alert_text);
+ return false;
+ }
+
+ document.getElementById('short_desc').value = short_desc;
+
+ return true;
+ }
+// -->
+</script>
+
+<form method="post" action="post_bug.cgi" id="mozListRequestForm"
+ enctype="multipart/form-data" onSubmit="return trySubmit();">
+ <input type="hidden" id="format" name="format" value="mozlist">
+ <input type="hidden" id="product" name="product" value="mozilla.org">
+ <input type="hidden" id="rep_platform" name="rep_platform" value="All">
+ <input type="hidden" id="op_sys" name="op_sys" value="Other">
+ <input type="hidden" id="priority" name="priority" value="--">
+ <input type="hidden" id="version" name="version" value="other">
+ <input type="hidden" id="short_desc" name="short_desc" value="">
+ <input type="hidden" id="component" name="component" value="">
+ <input type="hidden" id="bug_severity" name="bug_severity" value="normal">
+ <input type="hidden" id="token" name="token" value="[% token FILTER html %]">
+
+ <table>
+ <tr id="listTypeTR" style="display: table-row;">
+ <td align="right" width="15%"><strong>List Type:</strong></td>
+ <td>
+ <dl>
+ <dt>
+ <input type="radio" name="listType" id="lists_mozilla_org"
+ onclick="toggleGroup(this);" value="lists.mozilla.org">
+ <label for="lists_mozilla_org">Standard Discussion Forum</label>
+ </dt>
+ <dd>
+ <label for="lists_mozilla_org">
+ This option gives you a Mozilla <a href="https://www.mozilla.org/about/forums/">Discussion Forum</a>.
+ These are the normal mechanism for public discussion in the Mozilla project. They are made up of a
+ mailing list, a newsgroup and a Google Group (which maintains the list archives), all linked together.
+ Users can add and remove themselves. If you aren't sure, pick this one.
+ </label>
+ </dd>
+ <dt>
+ <input type="radio" name="listType" id="mozilla_org"
+ onclick="toggleGroup(this);" value="mozilla.org">
+ <label for="mozilla_org">Mailing List Only</label>
+ </dt>
+ <dd>
+ <label for="mozilla_org">
+ This option gives you a mailing list without the other access mechanisms. The
+ list can be private, although Mozilla is an "open by default" organization so
+ you need a good reason to have a private list. The archives are maintained by
+ Mailman, our mailing list software. Subscription can be open or
+ moderator-controlled. This type of list is normally hosted on the <b>mozilla.org</b> domain.
+ </label>
+ </dd>
+ <dt>
+ <input type="radio" name="listType" id="mozilla_com"
+ onclick="toggleGroup(this)" value="mozilla.com">
+ <label for="mozilla_com">Distribution List</label>
+ </dt>
+ <dd>
+ <label for="mozilla_com">
+ This option gives you a distribution list - basically, a mail exploder - on
+ mozilla.com. (This option is only appropriate for things which relate
+ specifically to Mozilla Corporation, such as confidential partner projects
+ or internal department lists.) Send email to the address, and it gets remailed
+ out to everyone on the list. There are no archives, and the "subscriber" list
+ is controlled by the IT team.
+ </label>
+ </dd>
+ </dl>
+ <hr>
+ </td>
+ </tr>
+ <tr id="listNameTR" style="display: none;">
+ <td align="right" valign="top"><strong>List Name:</strong></td>
+ <td>
+ <input name="listName" id="listName" size="60" value="[% listName FILTER html %]"><br>
+ <span id="listNameDiscussion" style="display: none;">The desired name for the newsgroup. Should start with 'mozilla.' and fit somewhere in the hierarchy described <a href="https://www.mozilla.org/about/forums/">here</a>.</span>
+ <span id="listNameOther" style="display: none;">Only enter the part before the @, the domain name is chosen based on the list type.</span>
+ <hr>
+ </td>
+ </tr>
+ <tr id="listAdminTR" style="display: none;">
+ <td align="right" valign="top" width="15%"><strong>List Administrator:</strong></td>
+ <td>
+ [% INCLUDE global/userselect.html.tmpl
+ id => "listAdmin"
+ name => "listAdmin"
+ value => ""
+ size => 60
+ multiple => 5
+ %]
+ <br>
+ <b>Note:</b>The list administrator is also initially considered to be the list moderator
+ and will be responsible for moderation tasks unless delegated to someone else. For
+ convenience, [% terms.Bugzilla %] user accounts will autocomplete. The administrator is not required
+ to have a [% terms.Bugzilla %] account, and you can enter an address that doesn't autocomplete if
+ necessary.<hr />
+ </td>
+ </tr>
+ <tr id="listShortDescTR" style="display: none;">
+ <td align="right" valign="top"><strong>Short one-line description:</strong></td>
+ <td>
+ <input name="listShortDesc" id="listShortDesc" size="60" value="[% listShortDesc FILTER html %]"><br />
+ <span id="listShortDescMailman" style="display: none;">This will be shown to users on the index of lists on the server.</span>
+ <span id="listShortDescZimbra" style="display: none;">This will be shown as the "real name" in the Zimbra address book.</span>
+ <hr />
+ </td>
+ </tr>
+ <tr id="listLongDescTR" style="display: none;">
+ <td align="right" valign="top"><strong>Long description:</strong></td>
+ <td colspan="3">
+ [% INCLUDE global/textarea.html.tmpl
+ name = 'listLongDesc'
+ id = 'listLongDesc'
+ minrows = 10
+ maxrows = 25
+ cols = constants.COMMENT_COLS
+ defaultcontent = listLongDesc
+ %]
+ <br>This will be shown at the top of the list's listinfo page.
+ <hr>
+ </td>
+ </tr>
+ <tr id="listCommentTR" style="display: none;">
+ <td align="right" valign="top"><strong>Additional comments:</strong></td>
+ <td colspan="3">
+ Justification for the list, special instructions, etc.<br>
+ [% INCLUDE global/textarea.html.tmpl
+ name = 'comment'
+ id = 'comment'
+ minrows = 10
+ maxrows = 25
+ cols = constants.COMMENT_COLS
+ defaultcontent = comment
+ %]
+ <hr>
+ </td>
+ </tr>
+ <tr id="CCTR" style="display: none;">
+ <td align="right"><strong>CC&nbsp;(optional):</strong></td>
+ <td>
+ [% INCLUDE global/userselect.html.tmpl
+ id => "cc"
+ name => "cc"
+ value => cc
+ size => 60
+ multiple => 5
+ %]
+ </td>
+ </tr>
+ <tr id="URLTR" style="display: none;">
+ <td align="right"><strong>URL&nbsp;(optional):</strong></td>
+ <td colspan="3">
+ <input name="bug_file_loc" size="60"
+ value="[% bug_file_loc FILTER html %]">
+ </td>
+ </tr>
+ </table>
+ <br>
+
+ <div id="groups" style="display:none;">
+ <!-- infra [% terms.bugs %] -->
+ <input type="checkbox" name="groups" id="group_35" value="infra" disabled="true">
+ <label for="group_35"><strong>This is an internal issue which should not be publicly visible.</strong></label>
+ <br><br>
+ </div>
+
+ <div id="submitDiv" style="display: none;">
+ <input type="submit" id="commit" value="Submit Request">
+
+<p>
+ Thanks for contacting us. You will be notified by email of any progress made
+ in resolving your request.
+</p>
+ </div>
+</form>
+
+[% PROCESS global/footer.html.tmpl %]
diff --git a/extensions/BMO/template/en/default/bug/create/create-mozpr.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-mozpr.html.tmpl
new file mode 100644
index 000000000..a272e0b41
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/create-mozpr.html.tmpl
@@ -0,0 +1,654 @@
+[%# 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>
+ # Ville Skyttä <ville.skytta@iki.fi>
+ # Shane H. W. Travis <travis@sedsystems.ca>
+ # Marc Schumann <wurblzap@gmail.com>
+ # Akamai Technologies <bugzilla-dev@akamai.com>
+ # Max Kanat-Alexander <mkanat@bugzilla.org>
+ # Frédéric Buclin <LpSolit@gmail.com>
+ #%]
+
+[% PROCESS "global/field-descs.none.tmpl" %]
+
+[% title = BLOCK %]Create a PR Request[% END %]
+
+[% PROCESS global/header.html.tmpl
+ title = title
+ style_urls = [ 'skins/standard/attachment.css' ]
+ javascript_urls = [ "js/attachment.js", "js/util.js",
+ "js/field.js", "js/TUI.js" ]
+ onload = 'set_assign_to();'
+ yui = [ 'autocomplete' ]
+%]
+
+<script type="text/javascript">
+<!--
+
+var initialowners = new Array([% product.components.size %]);
+var last_initialowner;
+var initialccs = new Array([% product.components.size %]);
+var components = new Array([% product.components.size %]);
+var comp_desc = new Array([% product.components.size %]);
+var flags = new Array([% product.components.size %]);
+[% IF Param("useqacontact") %]
+ var initialqacontacts = new Array([% product.components.size %]);
+ var last_initialqacontact;
+[% END %]
+[% count = 0 %]
+[%- FOREACH c = product.components %]
+ [% NEXT IF NOT c.is_active %]
+ components[[% count %]] = "[% c.name FILTER js %]";
+ comp_desc[[% count %]] = "[% c.description FILTER html_light FILTER js %]";
+ initialowners[[% count %]] = "[% c.default_assignee.login FILTER js %]";
+ [% flag_list = [] %]
+ [% FOREACH f = c.flag_types(is_active=>1).bug %]
+ [% flag_list.push(f.id) %]
+ [% END %]
+ [% FOREACH f = c.flag_types(is_active=>1).attachment %]
+ [% flag_list.push(f.id) %]
+ [% END %]
+ flags[[% count %]] = [[% flag_list.join(",") FILTER js %]];
+ [% IF Param("useqacontact") %]
+ initialqacontacts[[% count %]] = "[% c.default_qa_contact.login FILTER js %]";
+ [% END %]
+
+ [% SET initial_cc_list = [] %]
+ [% FOREACH cc_user = c.initial_cc %]
+ [% initial_cc_list.push(cc_user.login) %]
+ [% END %]
+ initialccs[[% count %]] = "[% initial_cc_list.join(', ') FILTER js %]";
+
+ [% count = count + 1 %]
+[%- END %]
+
+function set_assign_to() {
+ // Based on the selected component, fill the "Assign To:" field
+ // with the default component owner, and the "QA Contact:" field
+ // with the default QA Contact. It also selectively enables flags.
+ var form = document.Create;
+ var assigned_to = form.assigned_to.value;
+
+[% IF Param("useqacontact") %]
+ var qa_contact = form.qa_contact.value;
+[% END %]
+
+ var index = -1;
+ if (form.component.type == 'select-one') {
+ index = form.component.selectedIndex;
+ } else if (form.component.type == 'hidden') {
+ // Assume there is only one component in the list
+ index = 0;
+ }
+ if (index != -1) {
+ var owner = initialowners[index];
+ var component = components[index];
+ if (assigned_to == last_initialowner
+ || assigned_to == owner
+ || assigned_to == '') {
+ form.assigned_to.value = owner;
+ last_initialowner = owner;
+ }
+
+ document.getElementById('initial_cc').innerHTML = initialccs[index];
+ document.getElementById('comp_desc').innerHTML = comp_desc[index];
+
+ [% IF Param("useqacontact") %]
+ var contact = initialqacontacts[index];
+ if (qa_contact == last_initialqacontact
+ || qa_contact == contact
+ || qa_contact == '') {
+ form.qa_contact.value = contact;
+ last_initialqacontact = contact;
+ }
+ [% END %]
+
+ // First, we disable all flags. Then we re-enable those
+ // which are available for the selected component.
+ var inputElements = document.getElementsByTagName("select");
+ var inputElement, flagField;
+ for ( var i=0 ; i<inputElements.length ; i++ ) {
+ inputElement = inputElements.item(i);
+ if (inputElement.name.search(/^flag_type-(\d+)$/) != -1) {
+ var id = inputElement.name.replace(/^flag_type-(\d+)$/, "$1");
+ inputElement.disabled = true;
+ // Also disable the requestee field, if it exists.
+ inputElement = document.getElementById("requestee_type-" + id);
+ if (inputElement) inputElement.disabled = true;
+ }
+ }
+ // Now enable flags available for the selected component.
+ for (var i = 0; i < flags[index].length; i++) {
+ flagField = document.getElementById("flag_type-" + flags[index][i]);
+ // Do not enable flags the user cannot set nor request.
+ if (flagField && flagField.options.length > 1) {
+ flagField.disabled = false;
+ // Re-enabling the requestee field depends on the status
+ // of the flag.
+ toggleRequesteeField(flagField, 1);
+ }
+ }
+ }
+}
+
+function fix_component() {
+ var form = document.Create;
+ var location = form.location.options[form.location.selectedIndex].value;
+ var fakecomp = form.fakecomp.options[form.fakecomp.selectedIndex].value;
+ var newcomp = location + " - " + fakecomp;
+ form.component.value = newcomp;
+ set_assign_to();
+}
+
+function handleWantsAttachment(wants_attachment) {
+ if (wants_attachment) {
+ document.getElementById('attachment_false').style.display = 'none';
+ document.getElementById('attachment_true').style.display = 'block';
+ }
+ else {
+ document.getElementById('attachment_false').style.display = 'block';
+ document.getElementById('attachment_true').style.display = 'none';
+ clearAttachmentFields();
+ }
+}
+
+
+TUI_alternates['expert_fields'] = 'Show Advanced Fields';
+// Hide the Advanced Fields by default, unless the user has a cookie
+// that specifies otherwise.
+TUI_hide_default('expert_fields');
+
+-->
+</script>
+
+[% IF user.in_group("mozilla-confidential") %]
+
+[% USE Bugzilla %]
+[% SET select_fields = {} %]
+[% FOREACH field = Bugzilla.get_fields(
+ { type => constants.FIELD_TYPE_SINGLE_SELECT, custom => 0 })
+%]
+ [% select_fields.${field.name} = field %]
+[% END %]
+
+<form name="Create" id="Create" method="post" action="post_bug.cgi"
+ enctype="multipart/form-data">
+<input type="hidden" name="product" value="[% product.name FILTER html %]">
+<input type="hidden" name="token" value="[% token FILTER html %]">
+
+<table cellspacing="4" cellpadding="2" border="0" style="background: url(extensions/BMO/web/images/presshat.png) top right no-repeat">
+<tbody>
+ <tr>
+ <td colspan="2">
+ <a id="expert_fields_controller" class="controller bz_default_hidden"
+ href="javascript:TUI_toggle_class('expert_fields')">Hide
+ Advanced Fields</a>
+ [%# Show the link if the browser supports JS %]
+ <script type="text/javascript">
+ YAHOO.util.Dom.removeClass('expert_fields_controller',
+ 'bz_default_hidden');
+ </script>
+ </td>
+ <td colspan="2">
+ (<span class="required_star">*</span> =
+ <span class="required_explanation">Required Field</span>)
+ </td>
+ </tr>
+
+ <tr>
+ <th>Product:</th>
+ <td width="10%">[% product.name FILTER html %]</td>
+
+ <th>Reporter:</th>
+ <td width="100%">[% user.login FILTER html %]</td>
+ </tr>
+
+ [%# We can't use the select block in these two cases for various reasons. %]
+[% matches = default.component_.matches('^(.*) - (.*)$') %]
+[% default.location = matches.0 %]
+[% default.fakecomp = matches.1 %]
+[% IF default.location == '' %]
+ [% default.location = 'US' %]
+[% END %]
+[% locations = [] %]
+[% fakecomps = [] %]
+[% FOREACH c = product.components %]
+ [% matches = c.name.match('^(.*) - (.*)$') %]
+ [% locations.push(matches.0) %]
+ [% fakecomps.push(matches.1) %]
+[% END %]
+[% locations = locations.unique %]
+[% fakecomps = fakecomps.unique %]
+ <tr>
+ <th class="required">
+ Location:
+ </th>
+ <td>
+
+ <select name="location" onchange="fix_component();" size="7">
+ [% FOREACH l = locations %]
+ <option value="[% l FILTER html %]" [% " selected=\"selected\"" IF l == default.location %]>
+ [% l FILTER html %]
+ </option>
+ [% END %]
+ </select>
+ <select name="component" onchange="set_assign_to();" size="7"
+ aria-required="true" class="required" style="display: none;">
+ [%# Build the lists of assignees and QA contacts if "usemenuforusers" is enabled. %]
+ [% IF Param("usemenuforusers") %]
+ [% assignees_list = user.get_userlist.clone %]
+ [% qa_contacts_list = user.get_userlist.clone %]
+ [% END %]
+
+ [%- FOREACH c = product.components %]
+ [% NEXT IF NOT c.is_active %]
+ <option value="[% c.name FILTER html %]"
+ [% " selected=\"selected\"" IF c.name == default.component_ %]>
+ [% c.name FILTER html -%]
+ </option>
+ [% IF Param("usemenuforusers") %]
+ [% INCLUDE build_userlist default_user = c.default_assignee,
+ userlist = assignees_list %]
+ [% INCLUDE build_userlist default_user = c.default_qa_contact,
+ userlist = qa_contacts_list %]
+ [% END %]
+ [%- END %]
+ </select>
+ </td>
+
+ </tr>
+ <tr>
+ <th>
+ Request type:
+ </th>
+ <td>
+
+ <select name="fakecomp" onchange="fix_component();" size="7">
+ [% FOREACH f = fakecomps %]
+ <option value="[% f FILTER html %]" [% " selected=\"selected\"" IF f == default.fakecomp %]>
+ [% f FILTER html %]
+ </option>
+ [% END %]
+ </select>
+ </td>
+ <td colspan="2">
+ [%# Enclose the fieldset in a nested table so that its width changes based
+ # on the length on the component description. %]
+ <table>
+ <tr>
+ <td>
+ <fieldset>
+ <legend>Request Description</legend>
+ <div id="comp_desc" class="comment">Select a request type to read its description.</div>
+ </fieldset>
+ </td>
+ </tr>
+ </table>
+ <input type="hidden" name="bug_severity" value="[% default.bug_severity FILTER html %]">
+ <input type="hidden" name="rep_platform" value="[% default.rep_platform FILTER html %]">
+ <input type="hidden" name="op_sys" value="[% default.op_sys FILTER html %]">
+ <input type="hidden" name="version" value="unspecified">
+ </td>
+ </tr>
+</tbody>
+
+<tbody class="expert_fields">
+ <tr>
+ <td colspan="4">&nbsp;</td>
+ </tr>
+
+ <tr>
+[% IF bug_status.size <= 1 %]
+ <input type="hidden" name="bug_status"
+ value="[% default.bug_status FILTER html %]">
+ <th>Initial State:</th>
+ <td>[% display_value("bug_status", default.bug_status) FILTER html %]</td>
+[% ELSE %]
+ [% INCLUDE bug/field.html.tmpl
+ bug = default, field = bug_fields.bug_status,
+ editable = (bug_status.size > 1), value = default.bug_status
+ override_legal_values = bug_status %]
+[% END %]
+
+ <td>&nbsp;</td>
+ [%# Calculate the number of rows we can use for flags %]
+ [% num_rows = 6 + (Param("useqacontact") ? 1 : 0) +
+ (user.is_timetracker ? 3 : 0) +
+ (Param("usebugaliases") ? 1 : 0)
+ %]
+
+ <td rowspan="[% num_rows FILTER html %]">
+ [% IF product.flag_types(is_active=>1).bug.size > 0 %]
+ [% display_flag_headers = 0 %]
+ [% any_flags_requesteeble = 0 %]
+
+ [% FOREACH flag_type = product.flag_types(is_active=>1).bug %]
+ [% display_flag_headers = 1 %]
+ [% SET any_flags_requesteeble = 1 IF flag_type.is_requestable && flag_type.is_requesteeble %]
+ [% END %]
+
+ [% IF display_flag_headers %]
+ [% PROCESS "flag/list.html.tmpl" flag_types = product.flag_types(is_active=>1).bug
+ any_flags_requesteeble = any_flags_requesteeble
+ flag_table_id = "bug_flags"
+ %]
+ [% END %]
+ [% END %]
+ </td>
+ </tr>
+
+ <tr>
+ <th><a href="page.cgi?id=fields.html#assigned_to">Assign To</a>:</th>
+ <td colspan="2">
+ [% INCLUDE global/userselect.html.tmpl
+ id => "assigned_to"
+ name => "assigned_to"
+ value => assigned_to
+ disabled => assigned_to_disabled
+ size => 30
+ emptyok => 1
+ custom_userlist => assignees_list
+ %]
+ <noscript>(Leave blank to assign to component's default assignee)</noscript>
+ </td>
+ </tr>
+
+[% IF Param("useqacontact") %]
+ <tr>
+ <th>QA Contact:</th>
+ <td colspan="2">
+ [% INCLUDE global/userselect.html.tmpl
+ id => "qa_contact"
+ name => "qa_contact"
+ value => qa_contact
+ disabled => qa_contact_disabled
+ size => 30
+ emptyok => 1
+ custom_userlist => qa_contacts_list
+ %]
+ <noscript>(Leave blank to assign to default qa contact)</noscript>
+ </td>
+ </tr>
+[% END %]
+
+ <tr>
+ <th>CC:</th>
+ <td colspan="2">
+ [% INCLUDE global/userselect.html.tmpl
+ id => "cc"
+ name => "cc"
+ value => cc
+ disabled => cc_disabled
+ size => 30
+ multiple => 5
+ %]
+ </td>
+ </tr>
+
+ <tr>
+ <th>Default CC:</th>
+ <td colspan="2">
+ <div id="initial_cc">
+ </div>
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="3">&nbsp;</td>
+ </tr>
+
+[% IF user.is_timetracker %]
+ <tr>
+ <th>Estimated Hours:</th>
+ <td colspan="2">
+ <input name="estimated_time" size="6" maxlength="6" value="[% estimated_time FILTER html %]">
+ </td>
+ </tr>
+ <tr>
+ <th>Deadline:</th>
+ <td colspan="2">
+ <input name="deadline" size="10" maxlength="10" value="[% deadline FILTER html %]">
+ <small>(YYYY-MM-DD)</small>
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="3">&nbsp;</td>
+ </tr>
+[% END %]
+
+[% IF Param("usebugaliases") %]
+ <tr>
+ <th>Alias:</th>
+ <td colspan="2">
+ <input name="alias" size="20" value="[% alias FILTER html %]">
+ </td>
+ </tr>
+[% END %]
+
+ <tr>
+ <th>URL:</th>
+ <td colspan="2">
+ <input name="bug_file_loc" size="40"
+ value="[% bug_file_loc FILTER html %]">
+ </td>
+ </tr>
+</tbody>
+
+<tbody>
+
+ <tr>
+ <th class="required">Summary:</th>
+ <td colspan="3">
+ <input name="short_desc" size="70" value="[% short_desc FILTER html %]"
+ maxlength="255" spellcheck="true" aria-required="true"
+ class="required">
+ </td>
+ </tr>
+
+ <tr>
+ <th>Description:</th>
+ <td colspan="3">
+ [% defaultcontent = BLOCK %]
+ [% IF cloned_bug_id %]
++++ This [% terms.bug %] was initially created as a clone of [% terms.Bug %] #[% cloned_bug_id FILTER html %] +++
+
+
+ [% END %]
+ [%-# We are within a BLOCK. The comment will be correctly HTML-escaped
+ # by global/textarea.html.tmpl. So we must not escape the comment here. %]
+ [% comment FILTER none %]
+ [%- END %]
+ [% INCLUDE global/textarea.html.tmpl
+ name = 'comment'
+ id = 'comment'
+ minrows = 10
+ maxrows = 25
+ cols = constants.COMMENT_COLS
+ defaultcontent = defaultcontent
+ %]
+ <br>
+ </td>
+ </tr>
+
+ [% IF user.is_insider %]
+ <tr class="expert_fields">
+ <th>&nbsp;</th>
+ <td colspan="3">
+ &nbsp;&nbsp;
+ <input type="checkbox" id="commentprivacy" name="commentprivacy"
+ [% " checked=\"checked\"" IF commentprivacy %]>
+ <label for="commentprivacy">
+ Make description private (visible only to members of the
+ <strong>[% Param('insidergroup') FILTER html %]</strong> group)
+ </label>
+ </td>
+ </tr>
+ [% END %]
+
+ <tr>
+ <th>Attachment:</th>
+ <td colspan="3">
+ <script type="text/javascript">
+ <!--
+ document.write( '<div id="attachment_false">'
+ + '<input type="button" value="Add an attachment" '
+ + 'onClick="handleWantsAttachment(true)"> '
+ + '<em style="display: none">This button has no '
+ + 'functionality for you because your browser does '
+ + 'not support CSS or does not use it.<\/em>'
+ + '<\/div>'
+ + '<div id="attachment_true" style="display: none">'
+ + '<input type="button" '
+ + 'value="Don\'t add an attachment " '
+ + 'onClick="handleWantsAttachment(false)">');
+ //-->
+ </script>
+ <fieldset>
+ <legend>Add an attachment</legend>
+ <table class="attachment_entry">
+ [% PROCESS attachment/createformcontents.html.tmpl
+ flag_types = product.flag_types(is_active=>1).attachment
+ any_flags_requesteeble = 1
+ flag_table_id ="attachment_flags" %]
+ </table>
+ </fieldset>
+ <script type="text/javascript">
+ <!--
+ document.write('<\/div>');
+ //-->
+ </script>
+ </td>
+ </tr>
+</tbody>
+
+<tbody class="expert_fields">
+ [% IF user.in_group('editbugs', product.id) %]
+ [% IF use_keywords %]
+ <tr>
+ [% INCLUDE bug/field.html.tmpl
+ bug = default, field = bug_fields.keywords, editable = 1,
+ value = keywords, desc_url = "describekeywords.cgi",
+ value_span = 3 %]
+ </tr>
+ [% END %]
+
+ <tr>
+ <th>Status Whiteboard:</th>
+ <td colspan="3">
+ <input id="status_whiteboard" name="status_whiteboard" size="70"
+ value="[% status_whiteboard FILTER html %]">
+ </td>
+ </tr>
+ <tr>
+ <th>Depends on:</th>
+ <td colspan="3">
+ <input name="dependson" accesskey="d" value="[% dependson FILTER html %]">
+ </td>
+ </tr>
+ <tr>
+ <th>Blocks:</th>
+ <td colspan="3">
+ <input name="blocked" accesskey="b" value="[% blocked FILTER html %]">
+ </td>
+ </tr>
+ [% END %]
+</tbody>
+
+<tbody class="expert_fields">
+ [% IF product.groups_available.size %]
+ <tr>
+ <th>&nbsp;</th>
+ <td colspan="3">
+ <br>
+ <strong>
+ Only users in all of the selected groups can view this
+ [%+ terms.bug %]:
+ </strong>
+ <br>
+ <font size="-1">
+ (Leave all boxes unchecked to make this a public [% terms.bug %].)
+ </font>
+ <br>
+ <br>
+
+ <!-- Checkboxes -->
+ <input type="hidden" name="defined_groups" value="1">
+ [% FOREACH group = product.groups_available %]
+ <input type="checkbox" id="group_[% group.id FILTER html %]"
+ name="groups" value="[% group.name FILTER html %]"
+ [% ' checked="checked"' IF default.groups.contains(group.name)
+ OR group.is_default %]>
+ <label for="group_[% group.id FILTER html %]">
+ [%- group.description FILTER html_light %]</label><br>
+ [% END %]
+ </td>
+ </tr>
+ [% END %]
+</tbody>
+
+<tbody>
+ [%# Form controls for entering additional data about the bug being created. %]
+ [% Hook.process("form") %]
+
+ <tr>
+ <th>&nbsp;</th>
+ <td colspan="3">
+ <input type="submit" id="commit" value="Submit [% terms.Bug %]"
+ onclick="if (this.form.short_desc.value == '')
+ { alert('Please enter a summary sentence for this [% terms.bug %].');
+ return false; } return true;">
+ &nbsp;&nbsp;&nbsp;&nbsp;
+ <input type="submit" name="maketemplate" id="maketemplate"
+ value="Remember values as bookmarkable template"
+ class="expert_fields">
+ </td>
+ </tr>
+</tbody>
+ </table>
+ <input type="hidden" name="form_name" value="enter_bug">
+</form>
+
+[%# Links or content with more information about the bug being created. %]
+[% Hook.process("end") %]
+
+[% ELSE %]
+
+<p>Sorry, you do not have access to this page.</p>
+
+[% END %]
+
+[% PROCESS global/footer.html.tmpl %]
+
+[% BLOCK build_userlist %]
+ [% user_found = 0 %]
+ [% default_login = default_user.login %]
+ [% RETURN UNLESS default_login %]
+
+ [% FOREACH user = userlist %]
+ [% IF user.login == default_login %]
+ [% user_found = 1 %]
+ [% LAST %]
+ [% END %]
+ [% END %]
+
+ [% userlist.push({login => default_login,
+ identity => default_user.identity,
+ visible => 1})
+ UNLESS user_found %]
+[% END %]
diff --git a/extensions/BMO/template/en/default/bug/create/create-poweredby.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-poweredby.html.tmpl
new file mode 100644
index 000000000..e231cd9d5
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/create-poweredby.html.tmpl
@@ -0,0 +1,87 @@
+[%# 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>
+ # Ville SkyttŠ <ville.skytta@iki.fi>
+ # John Hoogstrate <hoogstrate@zeelandnet.nl>
+ #%]
+
+[% PROCESS global/variables.none.tmpl %]
+
+[% PROCESS global/header.html.tmpl
+ title = "Powered by Mozilla Logo Requests"
+%]
+
+[% USE Bugzilla %]
+
+<p>If you are interested in using the <a href="http://www.mozilla.org/poweredby">Powered by Mozilla logo</a>,
+please provide some information about your application or product.</p>
+
+<p><strong>Please use this form for Powered by Mozilla logo requests only.</strong></p>
+
+<form method="post" action="post_bug.cgi" id="tmRequestForm">
+
+ <input type="hidden" name="product" value="Marketing">
+ <input type="hidden" name="component" value="Trademark Permissions">
+ <input type="hidden" name="bug_severity" value="enhancement">
+ <input type="hidden" name="rep_platform" value="All">
+ <input type="hidden" name="priority" value="--">
+ <input type="hidden" name="op_sys" value="Other">
+ <input type="hidden" name="version" value="unspecified">
+ <input type="hidden" name="assigned_to" value="dboswell@mozilla.com">
+ <input type="hidden" name="cc" value="liz@mozilla.com">
+ <input type="hidden" name="groups" value="marketing-private">
+ <input type="hidden" name="token" value="[% token FILTER html %]">
+
+ <table>
+ <tr>
+ <td align="right"><strong>Application or Product Name:</strong></td>
+ <td colspan="3">
+ <input name="short_desc" size="60" value="Powered by Mozilla request for: [% short_desc FILTER html %]">
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right"><strong>URL&nbsp;(optional):</strong></td>
+ <td colspan="3">
+ <input name="bug_file_loc" size="60"
+ value="[% bug_file_loc FILTER html %]">
+ </td>
+ </tr>
+
+ <tr><td align="right" valign="top"><strong>Comments&nbsp;(optional):</strong></td>
+ <td colspan="3">
+ <textarea name="comment" rows="10" cols="80">
+ [% comment FILTER html %]</textarea>
+ <br>
+ </td>
+ </tr>
+
+ </table>
+
+ <br>
+
+ <input type="submit" id="commit" value="Submit Request">
+</form>
+
+<p>Thanks for contacting us.
+ You will be notified by email of any progress made in resolving your
+ request.
+</p>
+
+[% PROCESS global/footer.html.tmpl %]
diff --git a/extensions/BMO/template/en/default/bug/create/create-presentation.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-presentation.html.tmpl
new file mode 100644
index 000000000..fd8d3c655
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/create-presentation.html.tmpl
@@ -0,0 +1,219 @@
+[%# 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 Mozilla Corporation.
+ # Portions created by Mozilla are Copyright (C) 2008 Mozilla
+ # Corporation. All Rights Reserved.
+ #
+ # Contributor(s): Reed Loden <reed@mozilla.com>
+ # David Tran <dtran@mozilla.com>
+ #%]
+
+[% PROCESS global/variables.none.tmpl %]
+
+[% PROCESS global/header.html.tmpl
+ title = "Mozilla Corporation Mountain View Presentation Request"
+ javascript_urls = [ 'js/field.js', 'js/util.js' ]
+ style = ".yui-skin-sam .yui-calcontainer { z-index: 1; }"
+ yui = [ 'autocomplete', 'calendar' ]
+%]
+
+<div style='text-align: center; width: 98%; font-size: 2em; font-weight: bold; margin: 10px;'>Mountain View Presentation Request</div>
+
+<p><strong>Mountain View Presentation Request:</strong> Please use this form if you plan on hosting a presentation so that IT will be able to properly provide support. </p>
+
+<p>Process:</p>
+
+<ol><li>Complete and submit request below.</li>
+ <li>Your request will be reviewed and assigned to the appropriate person in IT.</li>
+</ol>
+
+<p>These requests will only be visible internally in all cases and only to the
+person who submitted the request and any persons designated in the CC line.</p>
+
+<script type="text/javascript">
+function trySubmit() {
+ var out = 'Topic: the_topic\r\nPresenter: the_presenter\r\nDate: the_date\r\nTime: the_time\r\nAudience: the_audience\r\nAir Mozilla: air_mozilla\r\nDial-in: dial_in\r\nArchive: to_archive\r\nMember of IT to help with A/V: it_help\r\nDescription: the_description';
+
+ var topic = document.getElementById('topic').value;
+ var presenter = document.getElementById('presenter').value;
+ var date = document.getElementById('date').value;
+ var time = document.getElementById('time_hour').value + ':' + document.getElementById('time_minute').value + document.getElementById('ampm').value;
+ var shortdesc = 'Mountain View Presentation Request - ' + topic + ' (' + date + ' ' + time + ')';
+ var airmozilla = document.getElementById('airmozilla').checked? 'yes' : 'no';
+ var dialin = document.getElementById('dialin').checked? 'yes' : 'no';
+ var archive = document.getElementById('archive').checked? 'yes' : 'no';
+ var ithelp = document.getElementById('ithelp').checked? 'yes' : 'no';
+
+ out = out.replace( /the_topic/, topic );
+ out = out.replace( /the_presenter/, presenter );
+ out = out.replace( /the_date/, date);
+ out = out.replace( /the_time/, time);
+ out = out.replace( /the_audience/, document.getElementById('audience').value );
+ out = out.replace( /air_mozilla/, airmozilla);
+ out = out.replace( /dial_in/, dialin);
+ out = out.replace( /the_description/, document.getElementById('description').value );
+ out = out.replace( /to_archive/, archive);
+ out = out.replace( /it_help/, ithelp);
+
+ document.getElementById('comment').value = out;
+ document.getElementById('short_desc').value = shortdesc;
+
+ return true;
+}
+
+</script>
+
+<form method="post" action="post_bug.cgi" id="presentationRequestForm" enctype="multipart/form-data"
+ onSubmit="return trySubmit();">
+
+ <input type="hidden" name="product" value="mozilla.org">
+ <input type="hidden" name="component" value="Server Operations: Desktop Issues">
+ <input type="hidden" name="rep_platform" value="All">
+ <input type="hidden" name="op_sys" value="Other">
+ <input type="hidden" name="priority" value="--">
+ <input type="hidden" name="version" value="other">
+ <input type="hidden" name="bug_severity" id="bug_severity" value="normal">
+ <input type="hidden" name="comment" id="comment" value="">
+ <input type="hidden" name="short_desc" id="short_desc" value="">
+ <input type="hidden" name="groups" value="mozilla-corporation-confidential">
+ <input type="hidden" name="token" value="[% token FILTER html %]">
+
+<table>
+
+<tr>
+ <td align="right"><strong>Presenter:</strong></td>
+ <td>
+ <input type="text" name="presenter" id="presenter" value="" size="60" />
+ </td>
+
+</tr>
+
+<tr>
+ <td align="right"><strong>Topic:</strong></td>
+ <td>
+ <input type="text" name="topic" id="topic" value="" size="60" />
+ </td>
+</tr>
+
+<tr>
+ <td align="right"><strong>Date:</strong></td>
+ <td>
+ <input type="text" id="date" name="date" size="10"
+ onchange="updateCalendarFromField(this)">
+ <button type="button" class="calendar_button" id="button_calendar_date"
+ onclick="showCalendar('date')"><span>Calendar</span>
+ </button>
+ <div id="con_calendar_date"></div>
+ </td>
+</tr>
+
+<tr>
+ <td align="right"><strong>Start Time:</strong></td>
+ <td>
+ <select name="time_hour" id="time_hour">
+ <option value="12" selected>12</option>
+ <option value="1">1</option>
+ <option value="2">2</option>
+ <option value="3">3</option>
+ <option value="4">4</option>
+ <option value="5">5</option>
+ <option value="6">6</option>
+ <option value="7">7</option>
+ <option value="8">8</option>
+ <option value="9">9</option>
+ <option value="10">10</option>
+ <option value="11">11</option>
+ </select>:<select name="time_minute" id="time_minute">
+ <option value="00" selected>00</option>
+ <option value="15">15</option>
+ <option value="30">30</option>
+ <option value="45">45</option>
+ </select>
+ <select name="ampm" id="ampm">
+ <option value="AM" selected>AM</option>
+ <option value="PM">PM</option>
+ </select>
+ </td>
+</tr>
+
+<tr>
+ <td align="right"><strong>Intended Audience:</strong></td>
+ <td>
+ <select name="audience" id="audience">
+ <option value="Public" selected>Open to Public</option>
+ <option value="Employees Only">Employees Only</option>
+ <option value="Interns">Interns</option>
+ </select>
+ </td>
+</tr>
+
+<tr>
+ <td align="right"><strong>Air Mozilla Broadcasting?</strong></td>
+ <td align="left"><input type="checkbox" name="airmozilla" id="airmozilla"></td>
+</tr>
+
+<tr>
+ <td align="right"><strong>Dial In?</strong></td>
+ <td align="left"><input type="checkbox" name="dialin" id="dialin"></td>
+</tr>
+
+<tr>
+<td align="right"><strong>Archive this?</strong></td>
+<td align="left"><input type="checkbox" name="archive" id="archive" value="yes"></td>
+</tr>
+
+
+<tr>
+<td align="right"><strong>Need IT to help run A/V?</strong></td>
+<td align="left"><input type="checkbox" name="ithelp" id="ithelp" value="yes" checked></td>
+</tr>
+
+<tr>
+ <td align="right"><strong>CC&nbsp;(optional):</strong></td>
+ <td colspan="3">
+ [% INCLUDE global/userselect.html.tmpl
+ id => "cc"
+ name => "cc"
+ value => cc
+ size => 60
+ multiple => 5
+ %]
+ </td>
+</tr>
+
+<tr>
+ <th><label for="description">Description</label>:</th>
+ <td>
+ <em>Please briefly describe the presentation and any specific needs you might have.</em><br>
+
+ <textarea id="description" name="description" rows="10" cols="80"></textarea>
+ </td>
+</tr>
+
+ </table>
+
+ <br>
+ <input type="submit" id="commit" value="Submit Request">
+</form>
+
+<p>Thanks for contacting us.
+ You will be notified by email of any progress made in resolving your request.
+
+</p>
+
+<script type="text/javascript">
+ createCalendar('date');
+</script>
+
+[% PROCESS global/footer.html.tmpl %]
diff --git a/extensions/BMO/template/en/default/bug/create/create-recoverykey.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-recoverykey.html.tmpl
new file mode 100644
index 000000000..a75959abb
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/create-recoverykey.html.tmpl
@@ -0,0 +1,70 @@
+[%# 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 BMO Bugzilla Extension.
+ #
+ # The Initial Developer of the Original Code is the Mozilla Foundation
+ # Portions created by the Initial Developers are Copyright (C) 2011 the
+ # Initial Developer. All Rights Reserved.
+ #
+ # Contributor(s):
+ # David Lawrence <dkl@mozilla.com>
+ #%]
+
+[% PROCESS global/variables.none.tmpl %]
+
+[% PROCESS global/header.html.tmpl
+ title = "Mozilla Corporation/Foundation Encryption Recovery Key"
+%]
+
+<p>Please complete the following information as you are encrypting your laptop.</p>
+
+<ul>
+ <li>The Recovery Key will be displayed during the encryption process
+ (<a href="https://mana.mozilla.org/wiki/display/INFRASEC/Desktop+Security#DesktopSecurity-DiskencryptionFileVault">more info</a>)
+ </li>
+ <li>The asset tag number is located on a sticker typically on the bottom of the device.</li>
+</ul>
+
+<form method="post" action="post_bug.cgi" id="recoveryKeyForm" enctype="multipart/form-data">
+ <input type="hidden" name="product" value="mozilla.org">
+ <input type="hidden" name="component" value="Server Operations: Desktop Issues">
+ <input type="hidden" name="rep_platform" value="All">
+ <input type="hidden" name="op_sys" value="All">
+ <input type="hidden" name="priority" value="--">
+ <input type="hidden" name="version" value="other">
+ <input type="hidden" name="bug_severity" value="normal">
+ <input type="hidden" name="groups" value="mozilla-corporation-confidential">
+ <input type="hidden" name="groups" value="infra">
+ <input type="hidden" name="token" value="[% token FILTER html %]">
+ <input type="hidden" name="cc" value="tfairfield@mozilla.com, ghuerta@mozilla.com">
+ <input type="hidden" name="short_desc" value="Encryption Recovery Key for [% user.name || user.login FILTER html %]">
+ <input type="hidden" name="format" value="recoverykey">
+ <table>
+ <tr>
+ <td align="right"><strong>Recovery Key:</strong></td>
+ <td>
+ <input name="recoverykey" size="60" value="[% recoverykey FILTER html %]">
+ </td>
+ </tr>
+ <tr>
+ <td align="right"><strong>Asset Tag Number:</strong></td>
+ <td>
+ <input name="assettag" size="60" value="[% assettag FILTER html %]">
+ </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td><input type="submit" id="commit" value="Submit"></td>
+ </tr>
+ </table>
+</form>
+
+[% PROCESS global/footer.html.tmpl %]
diff --git a/extensions/BMO/template/en/default/bug/create/create-swag.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-swag.html.tmpl
new file mode 100644
index 000000000..58eb39d5f
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/create-swag.html.tmpl
@@ -0,0 +1,222 @@
+[%# 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 Mozilla Corporation.
+ # Portions created by Mozilla are Copyright (C) 2008 Mozilla
+ # Corporation. All Rights Reserved.
+ #
+ # Contributor(s): Reed Loden <reed@mozilla.com>
+ # David Tran <dtran@mozilla.com>
+ #%]
+
+[% PROCESS global/variables.none.tmpl %]
+
+[% PROCESS global/header.html.tmpl
+ title = "Swag Request Form"
+ javascript_urls = [ 'extensions/BMO/web/js/swag.js',
+ 'extensions/BMO/web/js/form_validate.js',
+ 'js/field.js' ]
+ yui = [ 'autocomplete' ]
+%]
+
+<div style='text-align: center; width: 98%; font-size: 2em; font-weight: bold; margin: 10px;'>Swag Request Form</div>
+
+<p><strong>Swag Request:</strong> Please use this form to file a request for swag. </p>
+
+<ol>
+ <li>You first need submit a <a href="/enter_bug.cgi?product=Marketing&amp;format=mktgevent">Event Request Form</a>. You'll be asked for the [% terms.bug %] number below.</li>
+ <li>Complete and submit request below.</li>
+ <li>Your request will be reviewed by the appropriate person in the Engagement team.</li>
+ <li>Your swag request will be reviewed and if approved shipped to you from
+ one of our two fulfillment houses. <i>Please note that swag is expensive and
+ products change over time - we are happy to send you a small quantity of swag
+ to use at your event!</i></li>
+</ol>
+
+<p>These requests will only be visible to the person who submitted the request,
+any persons designated in the CC line, and authorized members of the Mozilla
+Engagement team.</p>
+
+<script language="javascript" type="text/javascript">
+function trySubmit() {
+
+ var firstname = document.getElementById('firstname').value;
+ var lastname = document.getElementById('lastname').value;
+ var requester = firstname + ' ' + lastname;
+ var shortdesc = 'Swag Request - ' + requester;
+ document.getElementById('short_desc').value = shortdesc;
+
+ // the following fields we don't let the user mess with because they're
+ // calculated, but they need to be submitted, and disabled fields don't submit
+ document.getElementById('Totalswag').disabled = false;
+ document.getElementById('mens_total').disabled = false;
+ document.getElementById('womens_total').disabled = false;
+
+ return true;
+}
+
+function validateAndSubmit() {
+
+ var alert_text = '';
+ if(!isFilledOut('firstname')) alert_text += "Please enter your first name\n";
+ if(!isFilledOut('lastname')) alert_text += "Please enter your last name\n";
+ if(!isFilledOut('dependson')) alert_text += "Please enter the [% terms.bug %] number for your Event Request Form\n";
+ if(!isValidEmail(document.getElementById('email').value)) alert_text += "Please enter a valid email address\n";
+
+ //Everything required is filled out..try to submit the form!
+ if(alert_text == '') {
+ return trySubmit();
+ }
+
+ //alert text, stay here on the pagee
+ alert(alert_text);
+ return false;
+}
+
+</script>
+
+<form method="post" action="post_bug.cgi" id="swagRequestForm" enctype="multipart/form-data"
+ onSubmit="return validateAndSubmit();">
+
+ <input type="hidden" name="format" value="swag">
+ <input type="hidden" name="product" value="Marketing">
+ <input type="hidden" name="component" value="Swag Requests">
+ <input type="hidden" name="rep_platform" value="All">
+ <input type="hidden" name="op_sys" value="Other">
+ <input type="hidden" name="priority" value="--">
+ <input type="hidden" name="version" value="unspecified">
+ <input type="hidden" name="bug_severity" id="bug_severity" value="normal">
+ <input type="hidden" name="short_desc" id="short_desc" value="">
+ <input type="hidden" name="groups" value="mozilla-corporation-confidential">
+ <input type="hidden" name="token" value="[% token FILTER html %]">
+
+<table>
+
+<tr>
+ <td align="right"><strong>First Name: <span style="color: red;">*</span></strong></td>
+ <td align="left">
+ <input type="text" name="firstname" id="firstname" value="" size="20" maxlength="20" />
+ </td>
+</tr>
+<tr>
+ <td align="right"><strong>Last Name: <span style="color: red;">*</span></strong></td>
+ <td align="left">
+ <input type="text" name="lastname" id="lastname" value="" size="20" maxlength="20"/>
+ </td>
+</tr>
+
+<tr>
+ <td align="right"><strong>Email Address: <span style="color: red;">*</span></strong></td>
+ <td>
+ <input type="text" name="email" id="email" value="" size="50" maxlength="50"/>
+ </td>
+</tr>
+
+<tr>
+ <td align="right"><strong>CC:</strong></td>
+ <td colspan="3">
+ [% INCLUDE global/userselect.html.tmpl
+ id => "cc"
+ name => "cc"
+ value => cc
+ size => 50
+ multiple => 5
+ %]
+ </td>
+</tr>
+
+<tr>
+ <td><!-- spacer -->&nbsp;</td>
+</tr>
+
+<tr>
+ <td><!-- spacer -->&nbsp;</td>
+</tr>
+
+<tr>
+ <td align="right"><strong>[% terms.Bug %] number assigned to previously- &nbsp;&nbsp;<br>submitted <a href="/enter_bug.cgi?product=Marketing&amp;format=mktgevent">Event Request Form</a>: <span style="color: red;">*</span></strong></td>
+ <td colspan="3"><input name="dependson" id="dependson"></td>
+</tr>
+
+<tr>
+ <td align="right"><strong>Specific swag needed?</strong></td>
+ <td>
+ <textarea id="additional" name="additional" rows="5" cols="50"></textarea>
+ </td>
+</tr>
+
+<tr>
+ <td align="right"><br><br><strong>Ship to:</strong></td>
+ <td colspan="3"></td>
+</tr>
+<tr>
+ <td align="right"><strong>First name:</strong></td>
+ <td colspan="3"><input name="shiptofirstname" id="shiptofirstname"></td>
+</tr>
+<tr>
+ <td align="right"><strong>Last name:</strong></td>
+ <td colspan="3"><input name="shiptolastname" id="shiptolastname"></td>
+</tr>
+<tr>
+ <td align="right"><strong>Address</strong></td>
+ <td colspan="3"><input name="shiptoaddress" id="shiptoaddress" size="60"></td>
+</tr>
+<tr>
+ <td align="right"><strong>Address 2</strong></td>
+ <td colspan="3"><input name="shiptoaddress2" id="shiptoaddress2" size="60"></td>
+</tr>
+<tr>
+ <td align="right"><strong>City</strong></td>
+ <td colspan="3"><input name="shiptocity" id="shiptocity"></td>
+</tr>
+<tr>
+ <td align="right"><strong>State</strong></td>
+ <td colspan="3"><input name="shiptostate" id="shiptostate"></td>
+</tr>
+<tr>
+ <td align="right"><strong>Country</strong></td>
+ <td colspan="3"><input name="shiptocountry" id="shiptocountry"></td>
+</tr>
+<tr>
+ <td align="right"><strong>Postal Code</strong></td>
+ <td colspan="3"><input name="shiptopcode" id="shiptopcode"></td>
+</tr>
+<tr>
+ <td align="right"><strong>Telephone</strong></td>
+ <td colspan="3"><input name="shiptophone" id="shiptophone"></td>
+</tr>
+<tr>
+ <td align="right"><strong>Personal ID/RUT</strong><br><small>(if your country requires this)</small></td>
+ <td colspan="3"><input name="shiptoidrut" id="shiptoidrut"></td>
+</tr>
+
+<tr><td colspan="4"><br><br></td></tr>
+
+<tr>
+ <td align="right"><label for="comment"><strong>Any additional comments?</strong></label></td>
+ <td>
+ <textarea id="comment" name="comment" rows="5" cols="50"></textarea>
+ </td>
+</tr>
+
+ </table>
+ <br>
+ <input type="submit" id="commit" value="Submit Request">
+
+<p>
+ <strong><span style="color: red;">*</span></strong> - Required field<br />
+ Thanks for contacting us.
+ You will be notified by email of any progress made in resolving your request.
+</p>
+
+[% PROCESS global/footer.html.tmpl %]
diff --git a/extensions/BMO/template/en/default/bug/create/create-trademark.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-trademark.html.tmpl
new file mode 100644
index 000000000..977ad00d4
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/create-trademark.html.tmpl
@@ -0,0 +1,87 @@
+[%# 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>
+ # Ville Skyttä <ville.skytta@iki.fi>
+ # John Hoogstrate <hoogstrate@zeelandnet.nl>
+ #%]
+
+[% PROCESS global/variables.none.tmpl %]
+
+[% PROCESS global/header.html.tmpl
+ title = "Trademark Usage Requests"
+%]
+
+[% USE Bugzilla %]
+
+<p>
+ If, after reading
+ <a href="http://www.mozilla.org/foundation/trademarks/">the trademark policy
+ documents</a>, you know you need permission to use a certain trademark, this
+ is the place to be.
+</p>
+
+<p><strong>Please use this form for trademark requests only!</strong></p>
+
+<form method="post" action="post_bug.cgi" id="tmRequestForm">
+
+ <input type="hidden" name="product" value="Marketing">
+ <input type="hidden" name="component" value="Trademark Permissions">
+ <input type="hidden" name="bug_severity" value="enhancement">
+ <input type="hidden" name="rep_platform" value="All">
+ <input type="hidden" name="priority" value="P3">
+ <input type="hidden" name="op_sys" value="Other">
+ <input type="hidden" name="version" value="unspecified">
+ <input type="hidden" name="groups" value="marketing-private">
+ <input type="hidden" name="token" value="[% token FILTER html %]">
+
+ <table>
+ <tr>
+ <td align="right"><strong>Summary:</strong></td>
+ <td colspan="3">
+ <input name="short_desc" size="60" value="[% short_desc FILTER html %]">
+ </td>
+ </tr>
+
+ <tr><td align="right" valign="top"><strong>Description:</strong></td>
+ <td colspan="3">
+ <textarea name="comment" rows="10" cols="80">
+ [% comment FILTER html %]</textarea>
+ <br>
+ </td>
+ </tr>
+ <tr>
+ <td align="right"><strong>URL&nbsp;(optional):</strong></td>
+ <td colspan="3">
+ <input name="bug_file_loc" size="60"
+ value="[% bug_file_loc FILTER html %]">
+ </td>
+ </tr>
+ </table>
+
+ <br>
+
+ <input type="submit" id="commit" value="Submit Request">
+</form>
+
+<p>Thanks for contacting us.
+ You will be notified by email of any progress made in resolving your
+ request.
+</p>
+
+[% PROCESS global/footer.html.tmpl %]
diff --git a/extensions/BMO/template/en/default/bug/create/create-winqual.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-winqual.html.tmpl
new file mode 100644
index 000000000..d14cca810
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/create-winqual.html.tmpl
@@ -0,0 +1,800 @@
+[%# 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>
+ # Ville Skyttä <ville.skytta@iki.fi>
+ # Shane H. W. Travis <travis@sedsystems.ca>
+ # Marc Schumann <wurblzap@gmail.com>
+ # Akamai Technologies <bugzilla-dev@akamai.com>
+ # Max Kanat-Alexander <mkanat@bugzilla.org>
+ # Frédéric Buclin <LpSolit@gmail.com>
+ #%]
+
+[% PROCESS "global/field-descs.none.tmpl" %]
+
+[% title = BLOCK %]Enter [% terms.Bug %]: [% product.name FILTER html %][% END %]
+
+[% PROCESS global/header.html.tmpl
+ title = title
+ yui = [ 'autocomplete', 'calendar', 'datatable', 'button' ]
+ style_urls = [ 'skins/standard/attachment.css',
+ 'skins/standard/enter_bug.css',
+ 'skins/custom/create_bug.css' ]
+ javascript_urls = [ "js/attachment.js", "js/util.js",
+ "js/field.js", "js/TUI.js", "js/bug.js",
+ "js/create_bug.js" ]
+ onload = "init();"
+%]
+
+<script type="text/javascript">
+<!--
+
+function init() {
+ set_assign_to();
+ hideElementById('attachment_true');
+ showElementById('attachment_false');
+ showElementById('btn_no_attachment');
+ initCrashSignatureField();
+ init_take_handler('[% user.login FILTER js %]');
+}
+
+function initCrashSignatureField() {
+ var el = document.getElementById('cf_crash_signature');
+ if (!el) return;
+ [% IF cf_crash_signature.length %]
+ YAHOO.util.Dom.addClass('cf_crash_signature_container', 'bz_default_hidden');
+ [% ELSE %]
+ hideEditableField('cf_crash_signature_container','cf_crash_signature_input',
+ 'cf_crash_signature_action', 'cf_crash_signature');
+ [% END %]
+}
+
+var initialowners = new Array();
+var last_initialowner;
+var initialccs = new Array();
+var components = new Array();
+var comp_desc = new Array();
+var flags = new Array();
+[% IF Param("useqacontact") %]
+ var initialqacontacts = new Array([% product.components.size %]);
+ var last_initialqacontact;
+[% END %]
+[% count = 0 %]
+[%- FOREACH c = product.components %]
+ [% NEXT IF NOT c.is_active %]
+ [% NEXT IF c.name != 'WinQual Reports' %]
+ components[[% count %]] = "[% c.name FILTER js %]";
+ comp_desc[[% count %]] = "[% c.description FILTER html_light FILTER js %]";
+ initialowners[[% count %]] = "[% c.default_assignee.login FILTER js %]";
+ [% flag_list = [] %]
+ [% FOREACH f = c.flag_types(is_active=>1).bug %]
+ [% flag_list.push(f.id) %]
+ [% END %]
+ [% FOREACH f = c.flag_types(is_active=>1).attachment %]
+ [% flag_list.push(f.id) %]
+ [% END %]
+ flags[[% count %]] = [[% flag_list.join(",") FILTER js %]];
+ [% IF Param("useqacontact") %]
+ initialqacontacts[[% count %]] = "[% c.default_qa_contact.login FILTER js %]";
+ [% END %]
+
+ [% SET initial_cc_list = [] %]
+ [% FOREACH cc_user = c.initial_cc %]
+ [% initial_cc_list.push(cc_user.login) %]
+ [% END %]
+ initialccs[[% count %]] = "[% initial_cc_list.join(', ') FILTER js %]";
+
+ [% count = count + 1 %]
+[%- END %]
+
+function set_assign_to() {
+ // Based on the selected component, fill the "Assign To:" field
+ // with the default component owner, and the "QA Contact:" field
+ // with the default QA Contact. It also selectively enables flags.
+ var form = document.Create;
+ var assigned_to = form.assigned_to.value;
+
+[% IF Param("useqacontact") %]
+ var qa_contact = form.qa_contact.value;
+[% END %]
+
+ var index = -1;
+ if (form.component.type == 'select-one') {
+ index = form.component.selectedIndex;
+ } else if (form.component.type == 'hidden') {
+ // Assume there is only one component in the list
+ index = 0;
+ }
+ if (index != -1) {
+ var owner = initialowners[index];
+ var component = components[index];
+ if (assigned_to == last_initialowner
+ || assigned_to == owner
+ || assigned_to == '') {
+ form.assigned_to.value = owner;
+ last_initialowner = owner;
+ }
+
+ document.getElementById('initial_cc').innerHTML = initialccs[index];
+ document.getElementById('comp_desc').innerHTML = comp_desc[index];
+
+ if (initialccs[index]) {
+ showElementById('initial_cc_label');
+ showElementById('initial_cc');
+ } else {
+ hideElementById('initial_cc_label');
+ hideElementById('initial_cc');
+ }
+
+ [% IF Param("useqacontact") %]
+ var contact = initialqacontacts[index];
+ if (qa_contact == last_initialqacontact
+ || qa_contact == contact
+ || qa_contact == '') {
+ form.qa_contact.value = contact;
+ last_initialqacontact = contact;
+ }
+ [% END %]
+
+ // First, we disable all flags. Then we re-enable those
+ // which are available for the selected component.
+ var inputElements = document.getElementsByTagName("select");
+ var inputElement, flagField;
+ for ( var i=0 ; i<inputElements.length ; i++ ) {
+ inputElement = inputElements.item(i);
+ if (inputElement.name.search(/^flag_type-(\d+)$/) != -1) {
+ var id = inputElement.name.replace(/^flag_type-(\d+)$/, "$1");
+ inputElement.disabled = true;
+ // Also hide the requestee field, if it exists.
+ inputElement = document.getElementById("requestee_type-" + id);
+ if (inputElement)
+ YAHOO.util.Dom.addClass(inputElement.parentNode, 'bz_default_hidden');
+ }
+ }
+ // Now enable flags available for the selected component.
+ for (var i = 0; i < flags[index].length; i++) {
+ flagField = document.getElementById("flag_type-" + flags[index][i]);
+ // Do not enable flags the user cannot set nor request.
+ if (flagField && flagField.options.length > 1) {
+ flagField.disabled = false;
+ // Re-enabling the requestee field depends on the status
+ // of the flag.
+ toggleRequesteeField(flagField, 1);
+ }
+ }
+ }
+}
+
+var status_comment_required = new Array();
+[% FOREACH status = bug_status %]
+ status_comment_required['[% status.name FILTER js %]'] =
+ [% status.comment_required_on_change_from() ? 'true' : 'false' %]
+[% END %]
+
+TUI_alternates['expert_fields'] = 'Show Advanced Fields';
+// Hide the Advanced Fields by default, unless the user has a cookie
+// that specifies otherwise.
+TUI_hide_default('expert_fields');
+
+-->
+</script>
+
+<form name="Create" id="Create" method="post" action="post_bug.cgi"
+ class="enter_bug_form" enctype="multipart/form-data"
+ onsubmit="return validateEnterBug(this)">
+ <input type="hidden" name="product" value="Firefox">
+ <input type="hidden" name="component" value="WinQual Reports">
+ <input type="hidden" name="token" value="[% token FILTER html %]">
+ <input type="hidden" name="groups" value="winqual-data">
+
+<table>
+<tbody>
+ <tr>
+ <td colspan="4">
+ [%# Migration note: The following file corresponds to the old Param
+ # 'entryheaderhtml'
+ #%]
+ [% PROCESS 'bug/create/user-message.html.tmpl' %]
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="2">
+ <input type="button" id="expert_fields_controller"
+ value="Hide Advanced Fields" onClick="toggleAdvancedFields()">
+ [%# Show the link if the browser supports JS %]
+ <script type="text/javascript">
+ YAHOO.util.Dom.removeClass('expert_fields_controller',
+ 'bz_default_hidden');
+ </script>
+ </td>
+ <td colspan="2">
+ (<span class="required_star">*</span> =
+ <span class="required_explanation">Required Field</span>)
+ </td>
+ </tr>
+
+ <tr>
+ [% INCLUDE bug/field.html.tmpl
+ bug = default, field = bug_fields.product, editable = 0,
+ value = product.name %]
+ [% INCLUDE bug/field.html.tmpl
+ bug = default, field = bug_fields.reporter, editable = 0,
+ value = user.login %]
+ </tr>
+
+ [%# We can't use the select block in these two cases for various reasons. %]
+ <tr>
+ [% component_desc_url = BLOCK -%]
+ describecomponents.cgi?product=[% product.name FILTER uri %]
+ [% END %]
+ [% INCLUDE "bug/field-label.html.tmpl"
+ field = bug_fields.component editable = 1
+ desc_url = component_desc_url
+ %]
+ <td id="field_container_component">
+ [% INCLUDE bug/field.html.tmpl
+ bug = default, field = bug_fields.component, editable = 0,
+ value = "WinQual Reports", no_tds = 1 %]
+ <script type="text/javascript">
+ <!--
+ [%+ INCLUDE "bug/field-events.js.tmpl"
+ field = bug_fields.component %]
+ YAHOO.util.Event.onDOMReady(set_assign_to);
+ //-->
+ </script>
+ </td>
+
+ <td colspan="2" id="comp_desc_container">
+ [%# Enclose the fieldset in a nested table so that its width changes based
+ # on the length on the component description. %]
+ <table>
+ <tr>
+ <td>
+ <fieldset>
+ <legend>Component Description</legend>
+ <div id="comp_desc" class="comment"></div>
+ </fieldset>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+
+ <tr>
+ [% INCLUDE "bug/field-label.html.tmpl"
+ field = bug_fields.version editable = 1 rowspan = 3
+ %]
+ <td rowspan="3">
+ <select name="version" id="version" size="5">
+ [%- FOREACH v = version %]
+ [% NEXT IF NOT v.is_active %]
+ <option value="[% v.name FILTER html %]"
+ [% ' selected="selected"' IF v.name == default.version %]>[% v.name FILTER html -%]
+ </option>
+ [%- END %]
+ </select>
+ </td>
+
+ [% INCLUDE bug/field.html.tmpl
+ bug = default, field = bug_fields.bug_severity, editable = 1,
+ value = default.bug_severity %]
+ </tr>
+
+ <tr>
+ [% INCLUDE bug/field.html.tmpl
+ bug = default, field = bug_fields.rep_platform, editable = 1,
+ value = default.rep_platform %]
+ </tr>
+
+ <tr>
+ [% INCLUDE bug/field.html.tmpl
+ bug = default, field = bug_fields.op_sys, editable = 1,
+ value = default.op_sys %]
+ </tr>
+ [% IF !Param('defaultplatform') || !Param('defaultopsys') %]
+ <tr>
+ <th colspan="3">&nbsp;</th>
+ <td id="os_guess_note" class="comment">
+ <div>We've made a guess at your
+ [% IF Param('defaultplatform') %]
+ operating system. Please check it
+ [% ELSIF Param('defaultopsys') %]
+ platform. Please check it
+ [% ELSE %]
+ operating system and platform. Please check them
+ [% END %]
+ and make any corrections if necessary.</div>
+ </td>
+ </tr>
+ [% END %]
+</tbody>
+
+<tbody class="expert_fields">
+ <tr>
+ [% IF Param('usetargetmilestone') && Param('letsubmitterchoosemilestone') %]
+ [% INCLUDE select field = bug_fields.target_milestone %]
+ [% ELSE %]
+ <td colspan="2">&nbsp;</td>
+ [% END %]
+
+ [% IF Param('letsubmitterchoosepriority') %]
+ [% INCLUDE bug/field.html.tmpl
+ bug = default, field = bug_fields.priority, editable = 1,
+ value = default.priority %]
+ [% ELSE %]
+ <td colspan="2">&nbsp;</td>
+ [% END %]
+ </tr>
+</tbody>
+
+<tbody class="expert_fields">
+ <tr>
+ <td colspan="4">&nbsp;</td>
+ </tr>
+
+ <tr>
+ [% INCLUDE bug/field.html.tmpl
+ bug = default, field = bug_fields.bug_status,
+ editable = (bug_status.size > 1), value = default.bug_status
+ override_legal_values = bug_status %]
+ </tr>
+
+ <tr>
+ [% INCLUDE "bug/field-label.html.tmpl"
+ field = bug_fields.assigned_to editable = 1
+ %]
+ <td>
+ [% INCLUDE global/userselect.html.tmpl
+ id => "assigned_to"
+ name => "assigned_to"
+ value => assigned_to
+ disabled => assigned_to_disabled
+ size => 30
+ emptyok => 1
+ custom_userlist => assignees_list
+ %]
+ [% UNLESS assigned_to_disabled %]
+ <span id="take_bug">
+ &nbsp;(<a title="Assign to yourself" href="#"
+ onclick="return take_bug('[% user.login FILTER js %]')">take</a>)
+ </span>
+ [% END %]
+ <noscript>(Leave blank to assign to component's default assignee)</noscript>
+ </td>
+
+[% IF Param("useqacontact") %]
+ [% INCLUDE "bug/field-label.html.tmpl"
+ field = bug_fields.qa_contact editable = 1
+ %]
+ <td>
+ [% INCLUDE global/userselect.html.tmpl
+ id => "qa_contact"
+ name => "qa_contact"
+ value => qa_contact
+ disabled => qa_contact_disabled
+ size => 30
+ emptyok => 1
+ custom_userlist => qa_contacts_list
+ %]
+ <noscript>(Leave blank to assign to default qa contact)</noscript>
+ </td>
+ </tr>
+[% END %]
+
+ <tr>
+ [% INCLUDE "bug/field-label.html.tmpl"
+ field = bug_fields.cc editable = 1
+ %]
+ <td>
+ [% INCLUDE global/userselect.html.tmpl
+ id => "cc"
+ name => "cc"
+ value => cc
+ disabled => cc_disabled
+ size => 30
+ multiple => 5
+ %]
+ </td>
+ <th>
+ <span id="initial_cc_label" class="bz_default_hidden">
+ Default [% field_descs.cc FILTER html %]:
+ </span>
+ </th>
+ <td>
+ <span id="initial_cc"></span>
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="3">&nbsp;</td>
+ </tr>
+
+[% IF Param("usebugaliases") %]
+ <tr>
+ [% INCLUDE "bug/field-label.html.tmpl"
+ field = bug_fields.alias editable = 1
+ %]
+ <td colspan="2">
+ <input name="alias" size="20" value="[% alias FILTER html %]">
+ </td>
+ </tr>
+[% END %]
+</tbody>
+
+<tbody>
+ <tr>
+ [% INCLUDE "bug/field-label.html.tmpl"
+ field = bug_fields.short_desc editable = 1
+ %]
+ <td colspan="3" class="field_value">
+ <input name="short_desc" size="70" value="[% short_desc FILTER html %]"
+ maxlength="255" spellcheck="true" aria-required="true"
+ class="required text_input" id="short_desc">
+ </td>
+ </tr>
+
+ [% IF feature_enabled('jsonrpc') AND !cloned_bug_id %]
+ <tr id="possible_duplicates_container" class="bz_default_hidden">
+ <th>Possible<br>Duplicates:</th>
+ <td colspan="3">
+ <div id="possible_duplicates"></div>
+ <script type="text/javascript">
+ var dt_columns = [
+ { key: "id", label: "[% field_descs.bug_id FILTER js %]",
+ formatter: YAHOO.bugzilla.dupTable.formatBugLink },
+ { key: "summary",
+ label: "[% field_descs.short_desc FILTER js %]",
+ formatter: "text" },
+ { key: "status",
+ label: "[% field_descs.bug_status FILTER js %]",
+ formatter: YAHOO.bugzilla.dupTable.formatStatus },
+ { key: "update_token", label: '',
+ formatter: YAHOO.bugzilla.dupTable.formatCcButton }
+ ];
+ YAHOO.bugzilla.dupTable.addCcMessage = "Add Me to the CC List";
+ YAHOO.bugzilla.dupTable.init({
+ container: 'possible_duplicates',
+ columns: dt_columns,
+ product_name: '[% product.name FILTER js %]',
+ summary_field: 'short_desc',
+ options: {
+ MSG_LOADING: 'Searching for possible duplicates...',
+ MSG_EMPTY: 'No possible duplicates found.',
+ SUMMARY: 'Possible Duplicates'
+ }
+ });
+ </script>
+ </td>
+ </tr>
+ [% END %]
+
+ <tr>
+ <th>Description:</th>
+ <td colspan="3">
+
+ [% defaultcontent = BLOCK %]
+ [% IF cloned_bug_id %]
++++ This [% terms.bug %] was initially created as a clone of [% terms.Bug %] #[% cloned_bug_id FILTER html %] +++
+
+
+ [% END %]
+ [%-# We are within a BLOCK. The comment will be correctly HTML-escaped
+ # by global/textarea.html.tmpl. So we must not escape the comment here. %]
+ [% comment FILTER none %]
+ [%- END %]
+ [% INCLUDE global/textarea.html.tmpl
+ name = 'comment'
+ id = 'comment'
+ minrows = 10
+ maxrows = 25
+ cols = constants.COMMENT_COLS
+ defaultcontent = defaultcontent
+ %]
+ <br>
+ </td>
+ </tr>
+
+<tbody class="expert_fields">
+ <tr>
+ [% INCLUDE "bug/field-label.html.tmpl"
+ field = bug_fields.bug_file_loc editable = 1
+ %]
+ <td colspan="3" class="field_value">
+ <input name="bug_file_loc" id="bug_file_loc" class="text_input"
+ size="40" value="[% bug_file_loc FILTER html %]">
+ </td>
+ </tr>
+</tbody>
+
+<tbody>
+ [% IF Param("maxattachmentsize") %]
+ <tr>
+ <th>Attachment:</th>
+ <td colspan="3">
+ <div id="attachment_false" class="bz_default_hidden">
+ <input type="button" value="Add an attachment" onClick="handleWantsAttachment(true)">
+ </div>
+
+ <div id="attachment_true">
+ <input type="button" id="btn_no_attachment" value="Don't add an attachment"
+ class="bz_default_hidden" onClick="handleWantsAttachment(false)">
+ <fieldset>
+ <legend>Add an attachment</legend>
+ <table class="attachment_entry">
+ [% PROCESS attachment/createformcontents.html.tmpl
+ flag_types = product.flag_types(is_active=>1).attachment
+ any_flags_requesteeble = 1
+ flag_table_id ="attachment_flags" %]
+ </table>
+
+ [% IF user.is_insider %]
+ <input type="checkbox" id="comment_is_private" name="comment_is_private"
+ [% ' checked="checked"' IF comment_is_private %]
+ onClick="updateCommentTagControl(this, 'comment')">
+ <label for="comment_is_private">
+ Make this attachment and [% terms.bug %] description private (visible only
+ to members of the <strong>[% Param('insidergroup') FILTER html %]</strong> group)
+ </label>
+ [% END %]
+ </fieldset>
+ </div>
+ </td>
+ </tr>
+ [% END %]
+</tbody>
+
+<tbody class="expert_fields">
+ [% IF user.in_group('editbugs', product.id) %]
+ <tr>
+ [% INCLUDE "bug/field-label.html.tmpl"
+ field = bug_fields.dependson editable = 1
+ %]
+ <td>
+ <input name="dependson" accesskey="d" value="[% dependson FILTER html %]" size="30">
+ </td>
+ [% INCLUDE "bug/field-label.html.tmpl"
+ field = bug_fields.blocked editable = 1
+ %]
+ <td>
+ <input name="blocked" accesskey="b" value="[% blocked FILTER html %]" size="30">
+ </td>
+ </tr>
+
+ [% IF use_keywords %]
+ <tr>
+ [% INCLUDE bug/field.html.tmpl
+ bug = default, field = bug_fields.keywords, editable = 1,
+ value = keywords, desc_url = "describekeywords.cgi",
+ value_span = 3
+ %]
+ </tr>
+ [% END %]
+
+ <tr>
+ <th>Status Whiteboard:</th>
+ <td colspan="3" class="field_value">
+ <input id="status_whiteboard" name="status_whiteboard" size="70"
+ value="[% status_whiteboard FILTER html %]" class="text_input">
+ </td>
+ </tr>
+ [% END %]
+
+ [% IF user.is_timetracker %]
+ <tr>
+ [% INCLUDE "bug/field-label.html.tmpl"
+ field = bug_fields.estimated_time editable = 1
+ %]
+ <td>
+ <input name="estimated_time" size="6" maxlength="6" value="[% estimated_time FILTER html %]">
+ </td>
+ [% INCLUDE bug/field.html.tmpl
+ bug = default, field = bug_fields.deadline, value = deadline, editable = 1
+ %]
+ </tr>
+ [% END %]
+</tbody>
+
+<tbody>
+[%# non-tracking flags custom fields %]
+[% FOREACH field = Bugzilla.active_custom_fields %]
+ [% NEXT UNLESS field.enter_bug %]
+ [% NEXT IF cf_hidden_in_product(field.name, product.name, component.name, 1) %]
+ [%# crash-signature gets custom handling %]
+ [% NEXT IF field.name == 'cf_crash_signature' %]
+
+ [% SET value = ${field.name}.defined ? ${field.name} : "" %]
+ <tr [% 'class="expert_fields"' IF !field.is_mandatory %]>
+ [% INCLUDE bug/field.html.tmpl
+ bug = default, field = field, value = value, editable = 1,
+ value_span = 3 %]
+ </tr>
+[% END %]
+</tbody>
+
+[%# crash-signature handling %]
+[% UNLESS cf_hidden_in_product('cf_crash_signature', product.name, component.name, 1) %]
+<tbody class="expert_fields">
+ <tr>
+ <th id="field_label_cf_crash_signature" class="field_label">
+ <label for="cf_crash_signature"> Crash Signature: </label>
+ </th>
+ <td colspan="3">
+ <span id="cf_crash_signature_container">
+ <span id="cf_crash_signature_nonedit_display"><i>None</i></span>
+ (<a id="cf_crash_signature_action" href="#">edit</a>)
+ </span>
+ <span id="cf_crash_signature_input">
+ <textarea id="cf_crash_signature" name="cf_crash_signature" rows="4" cols="60"
+ >[% cf_crash_signature FILTER html %]</textarea>
+ </span>
+ </td>
+ </tr>
+</tbody>
+[% END %]
+
+[% display_bug_flags = 0 %]
+[% FOREACH field = Bugzilla.active_custom_fields %]
+ [% NEXT UNLESS field.enter_bug %]
+ [% NEXT IF cf_hidden_in_product(field.name, product.name, component.name, 2) %]
+ [% display_bug_flags = 1 %]
+ [% LAST %]
+[% END %]
+
+[% display_flags = 0 %]
+[% any_flags_requesteeble = 0 %]
+[% FOREACH flag_type = product.flag_types(is_active=>1).bug %]
+ [% display_flags = 1 %]
+ [% SET any_flags_requesteeble = 1 IF flag_type.is_requestable && flag_type.is_requesteeble %]
+ [% LAST IF display_flags && any_flags_requesteeable %]
+[% END %]
+
+[% IF display_bug_flags || display_flags %]
+ <tbody class="expert_fields">
+ <tr>
+ <th>Flags:</th>
+ <td colspan="3">
+ <div id="bug_flags_false" class="bz_default_hidden">
+ <input type="button" value="Set [% terms.bug FILTER html %] flags" onClick="handleWantsBugFlags(true)">
+ </div>
+
+ <div id="bug_flags_true">
+ <input type="button" id="btn_no_bug_flags" value="Don't set [% terms.bug %] flags"
+ class="bz_default_hidden" onClick="handleWantsBugFlags(false)">
+
+ <fieldset>
+ <legend>Set [% terms.bug %] flags</legend>
+
+ <table cellpadding="0" cellspacing="0">
+ <tr>
+ [% IF display_bug_flags %]
+ <td>
+ <table id="bug_tracking_flags">
+ <tr>
+ <th colspan="2" style="text-align:left">Tracking Flags:</th>
+ </tr>
+ <tr>
+ [% FOREACH field = Bugzilla.active_custom_fields %]
+ [% NEXT UNLESS field.enter_bug %]
+ [% NEXT IF cf_hidden_in_product(field.name, product.name, component.name, 2) %]
+
+ [% SET value = ${field.name}.defined ? ${field.name} : "" %]
+ <tr>
+ [% INCLUDE bug/field.html.tmpl
+ bug = default, field = field, value = value, editable = 1,
+ value_span = 3 %]
+ </tr>
+ [% END %]
+ </tr>
+ </table>
+ </td>
+ [% END %]
+ [% IF display_flags %]
+ <td>
+ [% PROCESS "flag/list.html.tmpl" flag_types = product.flag_types(is_active=>1).bug
+ any_flags_requesteeble = any_flags_requesteeble
+ flag_table_id = "bug_flags"
+ %]
+ </td>
+ [% END %]
+ </tr>
+ </table>
+ </fieldset>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+[% END %]
+
+<tbody>
+ [%# Form controls for entering additional data about the bug being created. %]
+ [% Hook.process("form") %]
+
+ <tr>
+ <th>&nbsp;</th>
+ <td colspan="3">
+ <input type="submit" id="commit" value="Submit [% terms.Bug %]">
+ &nbsp;&nbsp;&nbsp;&nbsp;
+ <input type="submit" name="maketemplate" id="maketemplate"
+ value="Remember values as bookmarkable template"
+ onclick="bz_no_validate_enter_bug=true" class="expert_fields">
+ </td>
+ </tr>
+</tbody>
+ [%# "status whiteboard" and "qa contact" are the longest labels
+ # add them here to avoid shifting the page when toggling advanced fields %]
+ <tr>
+ <th class="hidden_text">Status Whiteboard:</th>
+ <td>&nbsp;</td>
+ <th class="hidden_text">QA Contact:</th>
+ </tr>
+ </table>
+ <input type="hidden" name="form_name" value="enter_bug">
+</form>
+
+[%# Links or content with more information about the bug being created. %]
+[% Hook.process("end") %]
+
+<div id="guided">
+ <a id="guided_img" href="enter_bug.cgi?format=guided&amp;product=[% product.name FILTER uri %]"><img
+ src="extensions/BMO/web/images/guided.png" width="16" height="16" border="0" align="absmiddle"></a>
+ <a id="guided_link" href="enter_bug.cgi?format=guided&amp;product=[% product.name FILTER uri %]"
+ >Switch to the [% terms.Bugzilla %] Helper</a>
+</div>
+
+[% PROCESS global/footer.html.tmpl %]
+
+[%############################################################################%]
+[%# Block for SELECT fields #%]
+[%############################################################################%]
+
+[% BLOCK select %]
+
+ [% INCLUDE "bug/field-label.html.tmpl"
+ field = field editable = 1
+ %]
+ <td>
+ <select name="[% field.name FILTER html %]"
+ id="[% field.name FILTER html %]">
+ [%- FOREACH x = ${field.name} %]
+ [% NEXT IF NOT x.is_active %]
+ <option value="[% x.name FILTER html %]"
+ [% " selected=\"selected\"" IF x.name == default.${field.name} %]>
+ [% display_value(field.name, x.name) FILTER html %]
+ </option>
+ [% END %]
+ </select>
+ </td>
+[% END %]
+
+[% BLOCK build_userlist %]
+ [% user_found = 0 %]
+ [% default_login = default_user.login %]
+ [% RETURN UNLESS default_login %]
+
+ [% FOREACH user = userlist %]
+ [% IF user.login == default_login %]
+ [% user_found = 1 %]
+ [% LAST %]
+ [% END %]
+ [% END %]
+
+ [% userlist.push({login => default_login,
+ identity => default_user.identity,
+ visible => 1})
+ UNLESS user_found %]
+[% END %]
diff --git a/extensions/BMO/template/en/default/bug/create/created-mozreps.html.tmpl b/extensions/BMO/template/en/default/bug/create/created-mozreps.html.tmpl
new file mode 100644
index 000000000..e9a480090
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/created-mozreps.html.tmpl
@@ -0,0 +1,38 @@
+[%# 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 BMO Bugzilla Extension.
+ #
+ # The Initial Developer of the Original Code is the Mozilla Foundation
+ # Portions created by the Initial Developers are Copyright (C) 2011 the
+ # Initial Developer. All Rights Reserved.
+ #
+ # Contributor(s): Byron Jones <glob@mozilla.com>
+ #%]
+
+[% PROCESS global/variables.none.tmpl %]
+
+[% PROCESS global/header.html.tmpl
+ title = "Mozilla Reps - Application Form"
+
+%]
+
+<h1>Thank you!</h1>
+
+<p>
+Thank you for submitting your Mozilla Reps Application Form. A Mozilla Rep
+mentor will contact you shortly at your bugzilla email address.
+</p>
+
+<p style="font-size: x-small">
+Reference: <a href="show_bug.cgi?id=[% id FILTER uri %]">#[% id FILTER html %]</a>
+</p>
+
+[% PROCESS global/footer.html.tmpl %]
diff --git a/extensions/BMO/template/en/default/bug/create/user-message.html.tmpl b/extensions/BMO/template/en/default/bug/create/user-message.html.tmpl
new file mode 100644
index 000000000..ccf008a38
--- /dev/null
+++ b/extensions/BMO/template/en/default/bug/create/user-message.html.tmpl
@@ -0,0 +1,37 @@
+<!-- 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): Matthew Tuck <matty@chariot.net.au>
+ #%]
+
+[% PROCESS global/variables.none.tmpl %]
+
+<p>
+ [% UNLESS cloned_bug_id %]
+ Consider using the
+ <a href="enter_bug.cgi?product=[% product.name FILTER html %]&amp;format=guided"
+ ><img src="extensions/BMO/web/images/guided.png" width="16" height="16" align="absmiddle" border="0">
+ [%+ terms.Bugzilla %] Helper</a> instead of this form.
+ [% END +%]
+ Before reporting a [% terms.bug %], make sure you've read our
+ <a href="http://www.mozilla.org/quality/bug-writing-guidelines.html">
+ [% terms.bug %] writing guidelines</a> and double checked that your [% terms.bug %] hasn't already
+ been reported. Consult our list of <a href="https://bugzilla.mozilla.org/duplicates.cgi">
+ most frequently reported [% terms.bugs %]</a> and <a href="https://bugzilla.mozilla.org/query.cgi">
+ search through descriptions</a> of previously reported [% terms.bugs %].
+</p>