diff options
Diffstat (limited to 'extensions/BMO/template/en/default/bug/create')
34 files changed, 6074 insertions, 0 deletions
diff --git a/extensions/BMO/template/en/default/bug/create/comment-creative.txt.tmpl b/extensions/BMO/template/en/default/bug/create/comment-creative.txt.tmpl new file mode 100644 index 000000000..bbfda3491 --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/comment-creative.txt.tmpl @@ -0,0 +1,30 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% USE Bugzilla %] +[% cgi = Bugzilla.cgi +%] +>>Project/Request Title: +[%+ cgi.param('short_desc') %] + +>>Project Overview: +[%+ cgi.param('overview') %] + +>>Creative Specs & Deliverables: +[%+ cgi.param("specs") %] + +>>Launch Date: +[%+ cgi.param("cf_due_date") || 'Not provided' %] + +>>Creative Due Date: +[%+ cgi.param("creative_due_date") || 'Not provided' %] + +>>Mozilla Goal: +[%+ IF cgi.param("goal_other") %][% cgi.param("goal_other") %][% ELSE %][% cgi.param("goal") %][% END %] + +>>Points of Contact: +[%+ cgi.param('cc') || 'Not provided' %] diff --git a/extensions/BMO/template/en/default/bug/create/comment-doc.txt.tmpl b/extensions/BMO/template/en/default/bug/create/comment-doc.txt.tmpl new file mode 100644 index 000000000..4c878a867 --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/comment-doc.txt.tmpl @@ -0,0 +1,20 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% USE Bugzilla %] +[% cgi = Bugzilla.cgi +%] +:: Developer Documentation Request + + Request Type: [% cgi.param("type") %] + Gecko Version: [% cgi.param("gecko") %] + Technical Contact: [% cgi.param("cc") %] + +:: Details + +[%+ cgi.param("details") %] + 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..1b0902d64 --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/comment-employee-incident.txt.tmpl @@ -0,0 +1,57 @@ +[%# 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 cgi.param('display_action') %] + [% IF cgi.param('display_action') == 'ldap' %] +Action needed: Please immediately reset the LDAP password for this user. + [% ELSIF cgi.param('display_action') == 'ssh' %] +Action needed: Please immediately disable the SSH key for this user. + [% END %] + +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. An additional ticket has been filed (see blocker bugs) for InfraSec to +review the impact of this lost device. + [% END %] + +Type of device: [% cgi.param('device') %] +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-finance.txt.tmpl b/extensions/BMO/template/en/default/bug/create/comment-finance.txt.tmpl new file mode 100644 index 000000000..f0427b4c5 --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/comment-finance.txt.tmpl @@ -0,0 +1,35 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% USE Bugzilla %] +[% cgi = Bugzilla.cgi %] + +Request Type: [% cgi.param('component') %] +Summary: [% cgi.param('short_desc') %] +Priority to your Team: [% cgi.param('team_priority') %] +Timeframe for Signature: [% cgi.param('signature_time') %] + +Name of Other Party: +[%+ cgi.param('other_party') %] + +Business Objective: +[%+ cgi.param('business_obj') %] + +What is this purchase?: +[%+ cgi.param('what_purchase') %] + +Why is this purchase needed?: +[%+ cgi.param('why_purchase') %] + +What is the risk if this is not purchased?: +[%+ cgi.param('risk_purchase') %] + +What is the alternative?: +[%+ cgi.param('alternative_purchase') %] + +Total Cost: [% cgi.param('total_cost') %] diff --git a/extensions/BMO/template/en/default/bug/create/comment-fxos-dogfood.txt.tmpl b/extensions/BMO/template/en/default/bug/create/comment-fxos-dogfood.txt.tmpl new file mode 100644 index 000000000..9370ff03c --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/comment-fxos-dogfood.txt.tmpl @@ -0,0 +1,24 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% USE Bugzilla %] +[% cgi = Bugzilla.cgi %] + +Phone: +[%+ cgi.param('phone') == 'Other' ? cgi.param('phone_other') : cgi.param('phone') %] + +Firefox OS Version: +[%+ cgi.param('fxos_version') %] + +Issue Details: +[%+ cgi.param('details') %] + +[% IF cgi.param('app') %] +Associated App: +[%+ cgi.param('app') %] +[% END %] diff --git a/extensions/BMO/template/en/default/bug/create/comment-fxos-partner.txt.tmpl b/extensions/BMO/template/en/default/bug/create/comment-fxos-partner.txt.tmpl new file mode 100644 index 000000000..aa26d778f --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/comment-fxos-partner.txt.tmpl @@ -0,0 +1,23 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% USE Bugzilla %] +[% cgi = Bugzilla.cgi %] + +What are the steps to reproduce?: +[%+ cgi.param('steps_to_reproduce') %] + +What was the actual behavior?: +[%+ cgi.param('actual_behavior') %] + +What was the expected behavior?: +[%+ cgi.param('expected_behavior') %] + +What build were you using?: [% cgi.param('build') %] + +What are the requirements?: [% cgi.param('requirements') %] diff --git a/extensions/BMO/template/en/default/bug/create/comment-ipp.txt.tmpl b/extensions/BMO/template/en/default/bug/create/comment-ipp.txt.tmpl new file mode 100644 index 000000000..5c73587a9 --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/comment-ipp.txt.tmpl @@ -0,0 +1,30 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% USE Bugzilla %] +[% cgi = Bugzilla.cgi +%] +:: Internet Public Policy Issue + +Region/Country: [% cgi.param("region") %] + +:: Description + +[%+ cgi.param("desc") %] + +:: Relevance + +[%+ cgi.param("relevance") %] + +Goal: [% cgi.param("goal") %] +When: [% cgi.param("when") %] + +[% IF cgi.param("additional") %] +:: Additional Information + +[%+ cgi.param("additional") %] +[% 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-mdn.txt.tmpl b/extensions/BMO/template/en/default/bug/create/comment-mdn.txt.tmpl new file mode 100644 index 000000000..60a443d2b --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/comment-mdn.txt.tmpl @@ -0,0 +1,66 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% USE Bugzilla %] +[% cgi = Bugzilla.cgi +%] + +[% IF cgi.param('request_type') == 'Bug' %] +What did you do? +================ +[%+ cgi.param('bug_actions') %] + +What happened? +============== +[%+ cgi.param('bug_actual_results') %] + +What should have happened? +========================== +[%+ cgi.param('bug_expected_results') %] + +[% ELSIF cgi.param('request_type') == 'Feature' %] +What problems would this solve? +=============================== +[%+ cgi.param('feature_problem_solving') %] + +Who would use this? +=================== +[%+ cgi.param('feature_audience') %] + +What would users see? +===================== +[%+ cgi.param('feature_interface') %] + +What would users do? What would happen as a result? +=================================================== +[%+ cgi.param('feature_process') %] + +[% ELSIF cgi.param('request_type') == 'Change' %] +What feature should be changed? Please provide the URL of the feature if possible. +================================================================================== +[%+ cgi.param('change_feature') %] + +What problems would this solve? +=============================== +[%+ cgi.param('change_problem_solving') %] + +Who would use this? +=================== +[%+ cgi.param('change_audience') %] + +What would users see? +===================== +[%+ cgi.param('change_interface') %] + +What would users do? What would happen as a result? +=================================================== +[%+ cgi.param('change_process') %] + +[% END %] +Is there anything else we should know? +====================================== +[%+ cgi.param("description") %] 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-privacy-data.txt.tmpl b/extensions/BMO/template/en/default/bug/create/comment-privacy-data.txt.tmpl new file mode 100644 index 000000000..279d59b6b --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/comment-privacy-data.txt.tmpl @@ -0,0 +1,30 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% USE Bugzilla %] +[% cgi = Bugzilla.cgi %] + +Where does this data come from: + +[%+ cgi.param('source') %] + +What people and things does this data describe, and what fields does it contain: + +[%+ cgi.param('data_desc') %] + +What parts of this data do you want to release: + +[%+ cgi.param('release') %] + +Why are we releasing this data, and what do we hope people will do with it: + +[%+ cgi.param('why') %] + +Is there a particular time by which you would like to release this data: + +[%+ cgi.param('when') %] 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..920d392da --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/comment-swag.txt.tmpl @@ -0,0 +1,50 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% USE Bugzilla %] +[% cgi = Bugzilla.cgi +%] +[% PROCESS global/variables.none.tmpl +%] +:: Gear Requested + + Purpose of Gear: [% cgi.param("purpose") %] [%+ cgi.param("purpose_other") %] + Date Required: [% cgi.param("date_required") || "-" %] + +[%+ cgi.param("items") %] + +:: Requester + + Name: [% cgi.param('firstname') %] [% cgi.param('lastname') %] + Email: [% cgi.param('email') %] + Mozilla Space: [% cgi.param('mozspace') || "-" %] + Team/Department: [% cgi.param('teamcode') %] + +:: Recipient + +[% IF cgi.param("purpose") == "Mozillian Recognition" %] +This [% terms.bug %] needs recipient shipping information: [% cgi.param("recognition_shipping") ? "Yes" : "No" %] +This [% terms.bug %] needs recipient size information: [% cgi.param("recognition_sizing") ? "Yes" : "No" %] +[% END %] + + Name: [%+ cgi.param("shiptofirstname") +%] [%+ cgi.param("shiptolastname") +%] + Email: [%+ cgi.param("shiptoemail") +%] +[% IF cgi.param("shiptoaddress1") %] + Address: + [%+ cgi.param("shiptoaddress1") +%] + [%+ cgi.param("shiptoaddress2") +%] + [%+ cgi.param("shiptocity") +%] [%+ cgi.param("shiptostate") +%] [%+ cgi.param("shiptopostcode") +%] + [%+ cgi.param("shiptocountry") %] + Phone: [% cgi.param("shiptophone") %] + Personal ID/RUT: [% cgi.param("shiptoidrut") || "-" %] +[% END %] + +[% IF cgi.param("comment") %] +:: Comments + +[%+ cgi.param("comment") %] +[% END %] + diff --git a/extensions/BMO/template/en/default/bug/create/create-bootgecko-partner.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-bootgecko-partner.html.tmpl new file mode 100644 index 000000000..46ed25ef8 --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/create-bootgecko-partner.html.tmpl @@ -0,0 +1,239 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS global/variables.none.tmpl %] + +[% inline_js = BLOCK %] + var compdesc = new Array(); + compdesc[""] = 'Please select a component from the list above.'; + [% FOREACH comp = product.components %] + compdesc['[% comp.name FILTER js %]'] = '[% comp.description FILTER js %]'; + [% END %] + function showCompDesc(component) { + var value = component.value; + document.getElementById('comp_description').innerHTML = compdesc[value]; + } + function onSubmit() { + var alert_text = ''; + var status_whiteboard = ''; + + if (!isFilledOut('component')) + alert_text += "Please select a value for component.\n"; + if (!isFilledOut('short_desc')) + alert_text += "Please enter a value for the summary.\n"; + if (!isFilledOut('steps_to_reproduce')) + alert_text += "Please enter the steps to reproduce.\n"; + if (!isFilledOut('actual_behavior')) + alert_text += "Please enter the actual behavior.\n"; + if (!isFilledOut('expected_behavior')) + alert_text += "Please enter the expected behavior.\n"; + if (!isFilledOut('build')) + alert_text += "Please enter a value for the build.\n"; + if (!isFilledOut('requirements')) + alert_text += "Please enter a value for the requirements.\n"; + + var device_values = new Array(); + var device_select = document.getElementById("b2g_device"); + for (var i = 0, l = device_select.options.length; i < l; i++) { + if (device_select.options[i].selected) + device_values.push(device_select.options[i].value); + } + + if (device_values.length == 0) + alert_text += "Please select one or more devices.\n"; + + if (alert_text != '') { + alert(alert_text); + return false; + } + + for (var i = 0, l = device_values.length; i < l; i++) + status_whiteboard += '[device:' + device_values[i] + '] '; + + if (document.getElementById('third_party_app').checked) + status_whiteboard += '[apps watch list]'; + + document.getElementById('status_whiteboard').value = status_whiteboard; + + return true; + } +[% END %] + +[% PROCESS global/header.html.tmpl + title = "Boot2Gecko Partner $terms.Bug Submission" + style_urls = [ 'skins/standard/enter_bug.css' ] + javascript = inline_js + javascript_urls = [ 'extensions/BMO/web/js/form_validate.js', + 'js/attachment.js', 'js/field.js', 'js/util.js' ] + onload = "showCompDesc(document.getElementById('component'));" +%] + +<h2>Boot2Gecko Partner [% terms.Bug %] Submission</h2> + +<p>All fields are mandatory</p> + +<form method="post" action="post_bug.cgi" id="bug_form" class="enter_bug_form" + enctype="multipart/form-data" onsubmit="return onSubmit();"> +<input type="hidden" name="format" value="fxos-partner"> +<input type="hidden" name="product" value="Boot2Gecko"> +<input type="hidden" name="rep_platform" value="ARM"> +<input type="hidden" name="op_sys" value="Gonk (Firefox OS)"> +<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="keywords" id="keywords" value="unagi"> +<input type="hidden" name="status_whiteboard" id="status_whiteboard" value=""> +<input type="hidden" name="token" value="[% token FILTER html %]"> + +<table> + +<tr> + <th> + <label for="short_desc">Summary:</label> + </th> + <td> + <input name="short_desc" id="short_desc" size="60" + value="[% short_desc FILTER html %]"> + </td> +</tr> + +<tr> + <th> + <label for="component">Component:</label> + </th> + <td> + <select name="component" id="component" onchange="showCompDesc(this);"> + <option value="">Select One</option> + [%- FOREACH c = product.components %] + [% NEXT IF NOT c.is_active %] + <option value="[% c.name FILTER html %]" + id="v[% c.id FILTER html %]_component" + [% IF c.name == default.component_ %] + selected="selected" + [% END %]> + [% c.name FILTER html -%] + </option> + [%- END %] + </select + </td> +</tr> + +<tr> + <td></td> + <td id="comp_description" align="left" style="color: green; padding-left: 1em"></td> +</tr> + +<tr> + <th> + <label for="b2g_device">B2G Device:</label> + </th> + <td> + <select name="b2g_device" id="b2g_device" + size="5" multiple="multiple"> + <option name="Otoro">Otoro</option> + <option name="Unagi">Unagi</option> + <option name="Inari">Inari</option> + <option name="Ikura">Ikura</option> + <option name="Hamachi">Hamachi</option> + <option name="Buri">Buri</option> + <option name="Toro">Toro</option> + <option name="Leo">Leo</option> + <option name="Twist">Twist</option> + <option name="Zero">Zero</option> + <option name="Tara">Tara</option> + </select> + </td> +</tr> + +<tr> + <th> + <label for="other_party">What are the steps to reproduce?:</label> + </th> + <td> + <textarea id="steps_to_reproduce" name="steps_to_reproduce" rows="5" cols="60">1. +2. +3.</textarea> + </td> +<tr> + +<tr> + <th> + <label for="actual_behavior">What was the actual behavior?:</label> + </th> + <td> + <textarea id="actual_behavior" name="actual_behavior" rows="5" cols="60"></textarea> + </td> +<tr> + +<tr> + <th> + <label for="expected_behavior">What was the expected behavior?:</label> + </th> + <td> + <textarea name="expected_behavior" id="expected_behavior" rows="5" cols="60"></textarea> + </td> +</tr> + +<tr> + <th> + <label for="build">What build were you using?:</label> + </th> + <td> + <input type="text" name="build" id="build" value="" size="60"> + </td> +</tr> + +<tr> + <th> + <label for="requirements">What are the requirements?:</label> + </th> + <td> + <input type="text" name="requirements" id="requirements" value="" size="60"> + </td> +</tr> + +<tr> + <th> + <label for="requirements">Third party app content?:</label> + </th> + <td> + <input type="checkbox" name="third_party_app" id="third_party_app"> + </td> +</tr> + +<tr> + <th>Security:</th> + <td> + <input type="checkbox" name="groups" id="default_security_group" + value="[% product.default_security_group FILTER html %]" + [% FOREACH g = group %] + [% IF g.name == name %] + [% ' checked="checked"' IF g.checked %] + [% LAST %] + [% END %] + [% END %] + > + <label for="default_security_group"> + Many users could be harmed by this security problem: + it should be kept hidden from the public until it is resolved. + </label> + </td> +</tr> + +<tr> + <td> </td> + <td> + <input type="submit" id="commit" value="Submit Request"> + </td> +</tr> +</table> + +</form> + +[% PROCESS global/footer.html.tmpl %] diff --git a/extensions/BMO/template/en/default/bug/create/create-creative.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-creative.html.tmpl new file mode 100644 index 000000000..130e232e5 --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/create-creative.html.tmpl @@ -0,0 +1,219 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS global/variables.none.tmpl %] + +[% inline_style = BLOCK %] +#creative_form { + padding: 10px; +} +#creative_form .required:after { + content: " *"; + color: red; +} +#creative_form .field_label { + font-weight: bold; +} +#creative_form .field_desc { + padding-bottom: 3px; +} +#creative_form .field_desc, +#creative_form .head_desc { + width: 600px; + word-wrap: normal; +} +#creative_form .head_desc { + padding-top: 5px; + padding-bottom: 12px; +} +#creative_form .form_section { + margin-bottom: 10px; +} +#creative_form textarea { + font-family: inherit; + font-size: inherit; +} +#creative_form em { + font-size: 1em; +} +.yui-calcontainer { + z-index: 2; +} +[% END %] + +[% inline_javascript = BLOCK %] +function validateAndSubmit() { + var alert_text = ''; + if (!isFilledOut('overview')) alert_text += 'Please enter a value for Project Overview.\n'; + if (!isFilledOut('short_desc')) alert_text += 'Please enter a value for Request Title.\n'; + if (!isFilledOut('specs')) alert_text += 'Please enter a value for Creative Specs.\n'; + if (!isFilledOut('goal')) alert_text += 'Please select a value for Mozilla Goal.\n'; + if (YAHOO.util.Dom.get('goal').value == 'Other') { + if (!isFilledOut('goal_other')) alert_text += 'Please select a value for Mozilla Goal Other.\n'; + } + if (alert_text != '') { + alert(alert_text); + return false; + } + return true; +} +function toggleGoalOther() { + var goal_select = YAHOO.util.Dom.get('goal'); + if (goal_select.options[goal_select.selectedIndex].value == 'Other') { + YAHOO.util.Dom.removeClass('goal_other','bz_default_hidden'); + } + else { + YAHOO.util.Dom.addClass('goal_other','bz_default_hidden'); + } +} +[% END %] + +[% PROCESS global/header.html.tmpl + title = "Creative Initiation Form" + style = inline_style + javascript = inline_javascript + javascript_urls = [ 'extensions/BMO/web/js/form_validate.js', + 'js/field.js', 'js/util.js' ] + yui = [ "autocomplete", "calendar" ] +%] + +[% USE Bugzilla %] +[% cgi = Bugzilla.cgi %] + +<form id="creative_form" method="post" action="post_bug.cgi" enctype="multipart/form-data" + onSubmit="return validateAndSubmit();"> + <input type="hidden" name="format" value="creative"> + <input type="hidden" name="product" value="Marketing"> + <input type="hidden" name="component" value="Design"> + <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="bug_severity" id="bug_severity" value="normal"> + <input type="hidden" name="token" value="[% token FILTER html %]"> + +<img title="Creative Initiation Form" src="extensions/BMO/web/images/creative.png"> + +<div class="head_desc"> + Have a new project or campaign that requires copy, design, video or other awesomeness + from your friendly neighborhood Brand Team? Please use this form to tell us about it + and we'll get back to you with next steps as soon as possible. +</div> + +<div class="form_section"> + <label for="short_desc" class="field_label required">Project / Request Title</label> + <div class="field_desc"> + Describe your project or request in a few words or a short phrase. + </div> + <input type="text" name="short_desc" id="short_desc" size="80"> +</div> + +<div class="form_section"> + <label for="overview" class="field_label required">Project Overview</label> + <div class="field_desc"> + Briefly describe the background, goals and objectives for this project. + </div> + <textarea id="overview" name="overview" cols="80" rows="5"></textarea> +</div> + +<div class="form_section"> + <label for="specs" class="field_label required">Creative Specs and Deliverables</label> + <div class="field_desc"> + What is the final deliverable (e.g. copy, snippet graphic, email template, website design, video, etc.) + and what format should it be delivered in? (e.g. PSD file, 403x403 transparent PNG/JPG, etc.) Be as + specific as you can. We like details. + </div> + <textarea id="specs" name="specs" cols="80" rows="5"></textarea> +</div> + +<div class="form_section"> + <label for="cf_due_date" class="field_label">Launch Date</label> + <div class="field_desc"> + When will your project go forth into the world? + </div> + <input name="cf_due_date" size="20" id="cf_due_date" value="" + onchange="updateCalendarFromField(this)"> + <button type="button" class="calendar_button" + id="button_calendar_cf_due_date" + onclick="showCalendar('cf_due_date')"> + <span>Calendar</span> + </button> + <div id="con_calendar_cf_due_date"></div> + <script type="text/javascript"> + createCalendar('cf_due_date') + </script> +</div> + +<div class="form_section"> + <label for="creative_due_date" class="field_label">Creative Due Date</label> + <div class="field_desc"> + Working backwards from your launch/go-live date, when do you need final assets? + </div> + <input name="creative_due_date" size="20" id="creative_due_date" value="" + onchange="updateCalendarFromField(this)"> + <button type="button" class="calendar_button" + id="button_calendar_creative_due_date" + onclick="showCalendar('creative_due_date')"> + <span>Calendar</span> + </button> + <div id="con_calendar_creative_due_date"></div> + <script type="text/javascript"> + createCalendar('creative_due_date') + </script> +</div> + +<div class="form_section"> + <label for="goal" class="field_label required">Mozilla Goal</label> + <div class="field_desc"> + Which high-level Mozilla goal does this project support? + </div> + <select id="goal" name="goal" + onchange="toggleGoalOther();"> + <option value="">Please select..</option> + <option value="Firefox Deskop">Firefox Desktop</option> + <option value="Firefox OS">Firefox OS</option> + <option value="Firefox Android">Firefox Android</option> + <option value="Firefox Marketplace">Firefox Marketplace</option> + <option value="Corporate Support">Corporate Support</option> + <option value="All">All</option> + <option value="Other">Other</option> + </select> + <br> + <input type="text" name="goal_other" id="goal_other" size="40" + class="bz_default_hidden" value=""> +</div> + +<div class="form_section"> + <label for="cc" class="field_label">Points of Contact</label> + <div class="field_desc"> + Who should be kept in the loop and informed of updates (and CC'd on the [% terms.bug %])? + </div> + [% INCLUDE global/userselect.html.tmpl + id => "cc" + name => "cc" + value => "" + size => 80 + classes => ["bz_userfield"] + multiple => 5 + %] +</div> + +<div class="head_desc"> + Thanks! Once you hit submit, your request will go off into the vortex of creative magic. + (Actually, it goes to [% terms.Bugzilla %], but that doesn't sound as cool.) We'll be in touch soon + with next steps and to let you know if we need any additional info. +</div> + +<input type="submit" id="commit" value="Submit"> + +<p> + [ <span class="required_star">*</span> <span class="required_explanation">Required Field</span> ] +</p> + +</form> + +[% PROCESS global/footer.html.tmpl %] diff --git a/extensions/BMO/template/en/default/bug/create/create-doc.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-doc.html.tmpl new file mode 100644 index 000000000..0ff01c50c --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/create-doc.html.tmpl @@ -0,0 +1,244 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS global/variables.none.tmpl %] + +[% inline_style = BLOCK %] +#doc_form th { + text-align: right; +} + +#short_desc, #details { + width: 100%; +} +[% END %] + +[% inline_javascript = BLOCK %] +var whiteboard_map = { + 'Accessibility': 'c=Accessibility u=webdev p=0', + 'Add-ons': 'c=Addons u=mozdev p=0', + 'API': 'c=API u=webdev p=0', + 'Apps': 'c=Apps u=appdev p=0', + 'CSS': 'c=CSS u=webdev p=0', + 'Developer Tools': 'c=DevTools u=webdev p=0', + 'DOM': 'c=DOM u=webdev p=0', + 'Firefox OS': 'c=FirefoxOS u=mozdev p=0', + 'General': 'c=General u=webdev p=0', + 'HTML': 'c=HTML u=webdev p=0', + 'JavaScript': 'c=JavaScript u=webdev p=0', + 'Localization': 'c=Localization u=webdev p=0', + 'MathML': 'c=MathML u=webdev p=0', + 'Mozilla Platform': 'c=Platform u=mozdev p=0', + 'Protocols': 'c=Protocols u=webdev p=0', + 'Security': 'c=Security u=webdev p=0', + 'SVG': 'c=SVG u=webdev p=0' +}; +function validateAndSubmit() { + var alert_text = ''; + if (!isFilledOut('type')) alert_text += 'Please select the "Request Type".\n'; + if (!isFilledOut('short_desc')) alert_text += 'Please enter a "Summary".\n'; + if (!isFilledOut('gecko')) alert_text += 'Please select the "Gecko Version".\n'; + if (!isFilledOut('details')) alert_text += 'Please enter some "Details".\n'; + if (alert_text != '') { + alert(alert_text); + return false; + } + var component = YAHOO.util.Dom.get('component').value; + if (whiteboard_map[component]) { + YAHOO.util.Dom.get('status_whiteboard').value = whiteboard_map[component]; + } + return true; +} +[% END %] + +[% PROCESS global/header.html.tmpl + title = "Developer Documentation Request" + style = inline_style + javascript = inline_javascript + javascript_urls = [ 'extensions/BMO/web/js/form_validate.js', + 'js/field.js', 'js/util.js', 'js/bug.js' ] + yui = [ 'autocomplete', 'datatable', 'button' ] +%] + +[% USE Bugzilla %] +[% cgi = Bugzilla.cgi %] + +<h1>Developer Documentation Request</h1> + +<p> + Use this form to request <b>new documentation</b> or <b>corrections</b> to existing documentation.<br> + [ <span class="required_star">*</span> <span class="required_explanation">Required Fields</span> ] +</p> + +<form method="post" action="post_bug.cgi" enctype="multipart/form-data" + onSubmit="return validateAndSubmit();"> + <input type="hidden" name="format" value="doc"> + <input type="hidden" name="product" value="Developer Documentation"> + <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="bug_severity" id="bug_severity" value="normal"> + <input type="hidden" name="status_whiteboard" id="status_whiteboard" value=""> + <input type="hidden" name="token" value="[% token FILTER html %]"> + +<table id="doc_form"> + +<tr> + <th class="required">Request Type</th> + <td> + <select name="type" id="type"> + <option value="">Please select..</option> + <option value="New Documentation">New Documentation</option> + <option value="Correction" [% "selected" IF cgi.param('bug_file_loc') %]>Correction</option> + </select> + </td> +</tr> + +<tr> + <th class="required">Topic</th> + <td> + <select name="component" id="component"> + [% FOREACH component = product.components %] + <option value="[% component.name FILTER html %]" + [% " selected" IF component.name == "General" %]> + [% component.name FILTER html %] + </option> + [% END %] + </select> + </td> +</tr> + +<tr> + <th class="required">Summary</th> + <td> + Please provide a brief summary of what documentation you're requesting, or + what problem you're reporting in existing documentation:<br> + <input type="text" name="short_desc" id="short_desc" size="60"> + </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>Page to Update</th> + <td> + <input type="text" name="bug_file_loc" id="short_desc" size="60" + value="[% bug_file_loc FILTER html %]"> + </td> +</tr> + +<tr> + <th>Technical Contact</th> + <td> + [% INCLUDE global/userselect.html.tmpl + id => "cc" + name => "cc" + value => "" + size => 60 + classes => ["bz_userfield"] + multiple => 5 + %] + <br> + <a href="https://developer.mozilla.org/en-US/docs/Project:Subject-matter_experts" + target="_blank" id="common_topic_experts"> + List of common topic experts</a> + </td> +</tr> + +<tr> + <th class="required">Gecko Version</th> + <td> + <select name="gecko" id="gecko"> + [% FOREACH version = versions %] + <option value="[% version.name FILTER html %]" + [% " selected" IF version.name == "unspecified" %]> + [% version.name FILTER html %] + </option> + [% END %] + </select> + </td> +</tr> + +<tr> + <th class="required">Details</th> + <td> + <textarea id="details" name="details" cols="50" rows="10"></textarea> + </td> +</tr> + +<tr> + <th>Development [% terms.Bug %]</th> + <td> + <input type="text" id="blocked" name="blocked" size="10"> + <i>Corresponding development [% terms.bug %].</i> + </td> +</tr> + +<tr> + <th class="required">Urgency</th> + <td> + <select name="priority" id="priority"> + <option value="P1">Immediately</option> + <option value="P2">Before Release</option> + <option value="P3">Before Aurora</option> + <option value="P4">Before Beta</option> + <option value="P5" selected>No Rush</option> + </select> + <br> + Due to the volume of requests, the documentation team can't commit to + meeting specific deadlines for given documentation requests, but we will do + our best. + </td> +</tr> + +<tr> + <td> </td> +</tr> + +<tr> + <td> </td> + <td><input type="submit" id="commit" value="Submit Request"></td> +</tr> + +</table> +</form> + +[% 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..2bbacdb12 --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/create-employee-incident.html.tmpl @@ -0,0 +1,288 @@ +[%# 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('device')) { + alert_text += "Please provide the type of device.\n"; + } + 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'; + document.getElementById('display_action').value = 'ldap'; + } + 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'; + document.getElementById('display_action').value = ''; + } + } + + 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> 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="display_action" name="display_action" 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="device"> + <strong><span style="color: red;">*</span></strong> + Type of device lost: + </label> + </td> + <td> + <select name="device" id="device"> + <option value="">---</option> + <option value="Mobile Phone">Mobile Phone</option> + <option value="Tablet">Tablet</option> + <option value="Laptop">Laptop</option> + <option value="WorkStation">WorkStation</option> + <option value="Portable Storage Device">Portable Storage Device</option> + <option value="Other">Other (describe in 'Extra Notes')</option> + </select> + </td> + </tr> + <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> </td> + <td>If yes, what sensitive data was stored on your device?</td> + </tr> + <tr> + <td> </td> + <td> + <textarea name="sensitivedata" id="sensitivedata" rows="10" cols="80"></textarea> + </td> + </tr> + <tr> + <td> </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> </td> + <td>If yes, which critical sites were included?</td> + </tr> + <tr> + <td> </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> </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-finance.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-finance.html.tmpl new file mode 100644 index 000000000..fa8dc5f5b --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/create-finance.html.tmpl @@ -0,0 +1,257 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS global/variables.none.tmpl %] + +[% inline_style = BLOCK %] + #bug_form input[type=text], #bug_form input[type=file], #cc_autocomplete, #bug_form textarea { + width: 100%; + } +[% END %] + +[% inline_js = BLOCK %] + var compdesc = new Array(); + [% FOREACH comp = product.components %] + compdesc['[% comp.name FILTER js %]'] = '[% comp.description FILTER js %]'; + [% END %] + function showCompDesc(component) { + var value = component.value; + document.getElementById('comp_description').innerHTML = compdesc[value]; + } + + function onSubmit() { + var alert_text = ''; + if (!isFilledOut('component')) + alert_text += "Please select a value for request type.\n"; + if (!isFilledOut('short_desc')) + alert_text += "Please enter a value for the summary.\n"; + if (!isFilledOut('team_priority')) + alert_text += "Please select a value for team priority.\n"; + if (!isFilledOut('signature_time')) + alert_text += "Please enter a value for signture timeframe.\n"; + if (!isFilledOut('other_party')) + alert_text += "Please enter a value for the name of other party.\n"; + if (!isFilledOut('business_obj')) + alert_text += "Please enter a value for business objective.\n"; + if (!isFilledOut('what_purchase')) + alert_text += "Please enter a value for what you are purchasing.\n"; + if (!isFilledOut('why_purchase')) + alert_text += "Please enter a value for why the purchase is needed.\n"; + if (!isFilledOut('risk_purchase')) + alert_text += "Please enter a value for the risk if not purchased.\n"; + if (!isFilledOut('alternative_purchase')) + alert_text += "Please enter a value for the purchase alternative.\n"; + if (!isFilledOut('total_cost')) + alert_text += "Please enter a value for total cost.\n"; + if (!isFilledOut('attachment')) + alert_text += "Please enter an attachment.\n"; + + if (alert_text != '') { + alert(alert_text); + return false; + } + + return true; + } +[% END %] + +[% PROCESS global/header.html.tmpl + title = "Finance" + style = inline_style + style_urls = [ 'skins/standard/enter_bug.css' ] + javascript = inline_js + javascript_urls = [ 'extensions/BMO/web/js/form_validate.js', + 'js/attachment.js', 'js/field.js', 'js/util.js' ] + onload = "showCompDesc(document.getElementById('component'));" +%] + +<h2>Finance</h2> + +<p>All fields are mandatory</p> + +<form method="post" action="post_bug.cgi" id="bug_form" class="enter_bug_form" + enctype="multipart/form-data" onsubmit="return onSubmit();"> +<input type="hidden" name="format" value="finance"> +<input type="hidden" name="product" value="Finance"> +<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="groups" id="groups" value="finance"> +<input type="hidden" name="token" value="[% token FILTER html %]"> + +<table> + +<tr> + <th> + <label for="component">Request Type:</label> + </th> + <td> + <select name="component" id="component" onchange="showCompDesc(this);"> + [%- FOREACH c = product.components %] + [% NEXT IF NOT c.is_active %] + <option value="[% c.name FILTER html %]" + id="v[% c.id FILTER html %]_component" + [% IF c.name == default.component_ %] + selected="selected" + [% END %]> + [% c.name FILTER html -%] + </option> + [%- END %] + </select + </td> +</tr> + +<tr> + <td></td> + <td id="comp_description" align="left" style="color: green; padding-left: 1em"></td> +</tr> + +<tr> + <th> + <label for="short_desc">Description:</label> + </th> + <td> + <i>Short description of what is being asked to sign</i><br> + <input name="short_desc" id="short_desc" size="60" + value="[% short_desc FILTER html %]"> + </td> +</tr> + +<tr> + <th> + <label for="team_priority">Priority to your Team:</label> + </th> + <td> + <select id="team_priority" name="team_priority"> + <option value="Low">Low</option> + <option value="Medium">Medium</option> + <option value="High">High</option> + </select> + </td> +</tr> + +<tr> + <th> + <label for="signature_time">Timeframe for Signature:</label> + </th> + <td> + <select id="signature_time" name="signature_time"> + <option value="24 hours">Within 24 hours</option> + <option value="2 days">2 days</option> + <option value="A week">A week</option> + <option value="2 - 4 weeks" selected>2 -4 weeks</option> + </select> + </td> +</tr> + +<tr> + <th> + <label for="other_party">Name of Other Party:</label> + </th> + <td> + <i>Include full legal entity name and any other relevant contact information</i><br> + <textarea id="other_party" name="other_party" + rows="5" cols="40"></textarea> + </td> +<tr> + +<tr> + <th> + <label for="business_obj">Business Objective:</label> + </th> + <td> + <i> + Which Initiative or Overall goal this purchase is for. i.e. B2G, Data Center, Network, etc.</i><br> + <textarea id="business_obj" name="business_obj" rows="5" cols="40"></textarea> + </td> +<tr> + +<tr> + <th> + <label for="what_purchase">If this is a purchase order,<br>what are we purchasing?</label> + </th> + <td> + <i> + Describe your request, what items are we purchasing, including number of + units if available.<br>Also provide context and background. Enter No if not + a purchase order.</i><br> + <textarea name="what_purchase" id="what_purchase" rows="5" cols="40"></textarea> + </td> +</tr> + +<tr> + <th> + <label for="why_purchase">Why is this purchase needed?</label> + </th> + <td> + <i> + Why do we need this? What is the work around if this is not approved?</i><br> + <textarea name="why_purchase" id="why_purchase" rows="5" cols="40"></textarea> + </td> +</tr> + +<tr> + <th> + <label for="risk_purchase">What is the risk if<br>this is not purchased?</label> + </th> + <td> + <i> + What will happen if this is not purchased?</i><br> + <textarea name="risk_purchase" id="risk_purchase" rows="5" cols="40"></textarea> + </td> +</tr> + +<tr> + <th> + <label for="alternative_purchase">What is the alternative?</label> + </th> + <td> + <i> + How did the team come to this recommendation? Did we get other bids, if so, how many?</i><br> + <textarea name="alternative_purchase" id="alternative_purchase" rows="5" cols="40"></textarea> + </td> +</tr> + +<tr> + <th> + <label for="total_cost">Total Cost</label> + </th> + <td> + <input type="text" name="total_cost" id="total_cost" value="" size="60"> + </td> +</tr> + +<tr> + <th> + <label for="attachment">Attachment:</label> + </th> + <td> + <i>Upload document that needs to be signed. If this is a Purchase Request form,<br> + also upload any supporting document such as draft SOW, quote, order form, etc.</i> + <div> + <input type="file" id="attachment" name="data" size="50"> + <input type="hidden" name="contenttypemethod" value="autodetect"> + <input type="hidden" name="description" value="Finance Document"> + </div> + </td> +</tr> + +<tr> + <td> </td> + <td> + <input type="submit" id="commit" value="Submit Request"> + </td> +</tr> +</table> + +</form> + +[% PROCESS global/footer.html.tmpl %] diff --git a/extensions/BMO/template/en/default/bug/create/create-fxos-dogfood.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-fxos-dogfood.html.tmpl new file mode 100644 index 000000000..ef84bc872 --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/create-fxos-dogfood.html.tmpl @@ -0,0 +1,180 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS global/variables.none.tmpl %] + +[% phones = [ + 'ZTE Open', + 'Alcatel One Touch', + 'LG', +] %] + +[% inline_css = BLOCK %] + #dogfood { + margin: 0 5em 0 2em; + } + #dogfood th { + text-align: left; + padding-top: 1em; + } +[% END %] + +[% inline_js = BLOCK %] + function onSubmit() { + var alert_text = ''; + + var phone = false; + [% FOREACH phone = phones %] + if (document.getElementById('phone-cb-[% phone FILTER js %]').checked) + phone = true; + [% END %] + if (document.getElementById('phone-cb-other').checked && isFilledOut('phone-other')) + phone = true; + if (!phone) + alert_text += "Please select the type of phone you have.\n"; + + if (!isFilledOut('fxos-version')) + alert_text += "Please provide the version of Firefox OS you are running.\n"; + + if (!isFilledOut('short_desc')) + alert_text += "Please enter a value for the summary.\n"; + + if (!isFilledOut('details')) + alert_text += "Please describe your issue in more detail.\n"; + + if (alert_text != '') { + alert(alert_text); + return false; + } + return true; + } +[% END %] + +[% PROCESS global/header.html.tmpl + title = "Firefox OS Dogfooding $terms.Bug Submission" + style = inline_css + style_urls = [ 'skins/standard/enter_bug.css' ] + javascript = inline_js + javascript_urls = [ 'extensions/BMO/web/js/form_validate.js', 'js/field.js', 'js/util.js' ] +%] + +<h2>Firefox OS Dogfooding [% terms.Bug %] Submission</h2> + +<div id="public_place"> + As [% terms.Bugzilla %] is a public place, don't include any private or + personally identifying content. +</div> + +<form method="post" action="post_bug.cgi" id="bug_form" class="enter_bug_form" + enctype="multipart/form-data" onsubmit="return onSubmit();"> +<input type="hidden" name="format" value="fxos-dogfood"> +<input type="hidden" name="created-format" value="fxos-dogfood"> +<input type="hidden" name="product" value="Boot2Gecko"> +<input type="hidden" name="component" value="DogfoodTriage"> +<input type="hidden" name="rep_platform" value="ARM"> +<input type="hidden" name="op_sys" value="Gonk (Firefox OS)"> +<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="status_whiteboard" id="status_whiteboard" value="[dogfood]"> +<input type="hidden" name="token" value="[% token FILTER html %]"> + +<table id="dogfood"> + +<tr> + <th> + What phone do you have? + </th> +</tr> +<tr> + <td> + [% FOREACH phone = phones %] + <input type="radio" name="phone" id="phone-cb-[% phone FILTER html %]" + value="[% phone FILTER html %]"> + <label for="phone-cb-[% phone FILTER html %]">[% phone FILTER html %]</label><br> + [% END %] + <input type="radio" name="phone" id="phone-cb-other" value="Other"> + <input type="text" name="phone_other" id="phone-other" placeholder="Other" size="20" + onfocus="document.getElementById('phone-cb-other').checked = true"> + </td> +</tr> + +<tr> + <th> + What version of Firefox OS are you running? + </th> +</tr> +<tr> + <td> + <i> + Please check settings > device information > more information > OS version<br> + </i> + <input type="text" name="fxos_version" id="fxos-version" size="20"> + </td> +</tr> + +<tr> + <th> + Please summarize your issue in one sentence: + </th> +</tr> +<tr> + <td> + <input type="text" name="short_desc" id="short_desc" size="60"> + </td> +</tr> + +<tr> + <th> + Please describe your issue in more detail. If you have steps to + reproduce the problem, please include them here: + </th> +</tr> +<tr> + <td> + <textarea id="details" name="details" rows="5" cols="60"></textarea> + </td> +</tr> + +<tr> + <th> + If your issue is associated with a specific app, which one + </th> +</tr> +<tr> + <td> + <input type="text" name="app" id="app" size="60"> + </td> +</tr> + +<tr> + <th>Security:</th> +</tr> +<tr> + <td> + <input type="checkbox" name="groups" id="default_security_group" + value="[% product.default_security_group FILTER html %]"> + <label for="default_security_group"> + Many users could be harmed by this security problem: + it should be kept hidden from the public until it is resolved. + </label> + </td> +</tr> + +<tr> + <td> + <input type="submit" id="commit" value="Submit Request"> + </td> +</tr> + +</table> + +</form> + +[% PROCESS global/footer.html.tmpl %] diff --git a/extensions/BMO/template/en/default/bug/create/create-ipp.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-ipp.html.tmpl new file mode 100644 index 000000000..fb59cfeb3 --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/create-ipp.html.tmpl @@ -0,0 +1,183 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS global/variables.none.tmpl %] + +[% inline_style = BLOCK %] +#ipp_form th { + text-align: right; +} + +#ipp_form input[type="text"], #ipp_form textarea { + width: 100%; +} + +#ipp_form textarea { + font-family: inherit; + font-size: inherit; +} + +#standard_link { + margin-top: 2em; +} + +#standard_link img { + vertical-align: middle; +} + +#standard_link a { + cursor: pointer; +} + +[% END %] + +[% inline_javascript = BLOCK %] +function validateAndSubmit() { + var alert_text = ''; + if (!isFilledOut('component')) alert_text += 'Please select the "Area".\n'; + if (!isFilledOut('short_desc')) alert_text += 'Please enter a "Summary".\n'; + if (!isFilledOut('region')) alert_text += 'Please enter the "Region/Country".\n'; + if (!isFilledOut('desc')) alert_text += 'Please provide a "Description".\n'; + if (!isFilledOut('relevance')) alert_text += 'Please provide some "Relevance".\n'; + if (!isFilledOut('goal')) alert_text += 'Please enter the "Goal".\n'; + if (!isFilledOut('when')) alert_text += 'Please enter data for the "When" field.\n'; + if (alert_text != '') { + alert(alert_text); + return false; + } + return true; +} +[% END %] + +[% PROCESS global/header.html.tmpl + title = "Internet Public Policy Issue" + style = inline_style + javascript = inline_javascript + javascript_urls = [ 'extensions/BMO/web/js/form_validate.js', + 'js/field.js', 'js/util.js', 'js/bug.js' ] +%] + +[% USE Bugzilla %] +[% cgi = Bugzilla.cgi %] + +<h1>Internet Public Policy Issue</h1> + +<form method="post" action="post_bug.cgi" enctype="multipart/form-data" + onSubmit="return validateAndSubmit();"> + <input type="hidden" name="format" value="ipp"> + <input type="hidden" name="product" value="Internet Public Policy"> + <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="bug_severity" id="bug_severity" value="normal"> + <input type="hidden" name="token" value="[% token FILTER html %]"> + +<table id="ipp_form"> + +<tr> + <th class="required">Area</th> + <td> + <select name="component" id="component"> + <option value="">Please select..</option> + [% FOREACH component = product.components %] + <option value="[% component.name FILTER html %]"> + [% component.name FILTER html %] + </option> + [% END %] + </select> + </td> +</tr> + +<tr> + <th class="required">Summary</th> + <td> + <input type="text" name="short_desc" id="short_desc" size="60" + placeholder="(Describe issue in one sentence)"> + </td> +</tr> + +<tr> + <th class="required">Region/Country</th> + <td> + <input type="text" name="region" id="region" size="60"> + </td> +</tr> + +<tr> + <th class="required">Description</th> + <td> + <textarea id="desc" name="desc" cols="50" rows="5" + placeholder="(Explain the legislative or policy activity which is happening)"></textarea> + </td> +</tr> + +<tr> + <th class="required">Relevance</th> + <td> + <textarea id="relevance" name="relevance" cols="50" rows="5" + placeholder="(Why should Mozilla care? What’s the impact on the open internet?)"></textarea> + </td> +</tr> + +<tr> + <th class="required">Goal</th> + <td> + <input type="text" name="goal" id="goal" size="60" + placeholder="(What would success look like for Mozilla?)"> + </td> +</tr> + +<tr> + <th class="required">When</th> + <td> + <input type="text" name="when" id="when" size="60" + placeholder="(Describe the timeline or due date)"> + </td> +</tr> + +<tr> + <th class="required">Urgency</th> + <td> + <select name="priority" id="priority"> + <option value="P1">Urgent</option> + <option value="P3">Needs Attention Soon</option> + <option value="P5" selected>When You Get To It</option> + </select> + </td> +</tr> + +<tr> + <th>Additional Information</th> + <td> + <textarea id="additional" name="additional" cols="50" rows="5" + placeholder="(Please supply links to relevant articles/websites/organizations)"></textarea> + </td> +</tr> + +<tr> + <td> </td> +</tr> + +<tr> + <td> </td> + <td><input type="submit" id="commit" value="Submit Issue"></td> +</tr> + +</table> +</form> + +[ <span class="required_star">*</span> <span class="required_explanation">Required Field</span> ] + +<div id="standard_link"> + <a href="enter_bug.cgi?format=__standard__&product=[% product.name FILTER uri %]"> + <img src="extensions/BMO/web/images/advanced.png" width="16" height="16" border="0"></a> + <a href="enter_bug.cgi?format=__standard__&product=[% product.name FILTER uri %]"> + Switch to the standard [% terms.bug %] entry form</a> +</div> + +[% 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..5fd0b0473 --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/create-itrequest.html.tmpl @@ -0,0 +1,230 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS global/variables.none.tmpl %] + +[% inline_javascript = BLOCK %] + 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'] = ''; + + var serviceNowText = 'Use <a href="https://mozilla.service-now.com/">Service Now</a> to:<br>' + + 'Request an LDAP/E-mail/etc. account<br>' + + 'Desktop/Laptop/Printer/Phone/Tablet/License problem/order/request'; + + function setcompdesc(theRadio) { + if (theRadio.id == 'componentmvd') { + [%# helpdesk issue/request %] + document.getElementById('main_form').style.display = 'none'; + document.getElementById('service_now_form').style.display = ''; + document.getElementById('compdescription').innerHTML = serviceNowText; + } else { + document.getElementById('main_form').style.display = ''; + document.getElementById('service_now_form').style.display = 'none'; + var theValue = theRadio.value; + var compDescText = compdesc[theValue]; + if (theRadio.id == 'componentso') { + compDescText = compDescText + '<br><br>' + serviceNowText; + } + document.getElementById('compdescription').innerHTML = compDescText; + } + } + + function on_submit() { + if (document.getElementById('componentmvd').checked) { + [%# redirect desktop issues to service-now #%] + document.location.href = 'https://mozilla.service-now.com/'; + return false; + } + return true; + } + + YAHOO.util.Event.onDOMReady(function() { + var comps = document.getElementsByName('component'); + for (var i = 0, l = comps.length; i < l; i++) { + if (comps[i].checked) { + setcompdesc(comps[i]); + break; + } + } + }); +[% END %] + +[% PROCESS global/header.html.tmpl + title = "Mozilla Corporation/Foundation IT Requests" + javascript = inline_javascript + 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" + onsubmit="return on_submit()"> + <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 %]"> + <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="componentmvd" onclick="setcompdesc(this)" value="Server Operations: Desktop Issues"> + <label for="componentmvd">Service Desk issue/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> + + <tbody id="main_form"> + + <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 (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 (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"> </td></tr> + + <tr> + <td colspan="4"> + <strong>Attachment (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> + + <tr> + <td> </td> + <td> + <br> + <!-- infra --> + <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"><br> + <br> + Thanks for contacting us. You will be notified by email of any progress made in resolving your request. + </td> + </tr> + + </tbody> + + <tbody id="service_now_form" style="display:none"> + <tr> + <td> </td> + <td> + <br> + <input type="submit" value="Go to Service Now"> + </td> + </tr> + </tbody> + </table> +</form> + + +[% 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..fdb92c11b --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/create-legal.html.tmpl @@ -0,0 +1,226 @@ +[%# 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> + +<p>If you are requesting legal review of a new product or service, a new feature of an existing product + or service, or any type of contract, please go + <a href="[% urlbase FILTER none %]enter_bug.cgi?product=mozilla.org&format=moz-project-review">here</a> + to kick-off review of your project. If you are requesting another type of legal action, e.g patent analysis, + trademark misuse investigation, HR issue, or standards work, please use this form.</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 (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 (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-mdn.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-mdn.html.tmpl new file mode 100644 index 000000000..f79363c99 --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/create-mdn.html.tmpl @@ -0,0 +1,279 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS global/variables.none.tmpl %] + +[% inline_style = BLOCK %] +strong.required:before { + content: "* "; + color: red; +} +#yui-history-iframe { + position: absolute; + top: 0; + left: 0; + width: 1px; + height: 1px; + visibility: hidden; +} +#standard { + margin-top: 2em; +} +#standard img { + vertical-align: middle; +} +#standard a { + cursor: pointer; +} +[% END %] +[% inline_javascript = BLOCK %] + var Dom = YAHOO.util.Dom; + var Event = YAHOO.util.Event; + var History = YAHOO.util.History; + var mdn = { + _initial_state: 'initial', + _current_state: 'initial', + _current_type: 'Bug', + _required_fields: { + 'Bug': { + 'bug_actions': 'Please enter some text for "What did you do?"', + 'bug_actual_results': 'Please enter some text for "What happened?"', + 'bug_expected_results': 'Please enter some text for "What should have happened?"', + }, + 'Feature': { + 'feature_problem_solving': 'Please enter some text for "What problems would this solve?"', + 'feature_audience': 'Please enter some text for "Who would use this?"', + 'feature_interface': 'Please enter some text for "What would users see?"', + 'feature_process': 'Please enter some text for "What would users do? What would happen as a result?"', + }, + 'Change': { + 'change_feature': 'Please enter some text for "What feature should be changed? Please provide the URL of the feature if possible"', + 'change_problem_solving': 'Please enter some text for "What problems would this solve?"', + 'change_audience': 'Please enter some text for "Who would use this?"', + 'change_interface': 'Please enter some text for "What would users see?"', + 'change_process': 'Please enter some text for "What would users do? What would happen as a result?"', + } + }, + setState: function(state, request_type, no_set_history) { + if (state == 'detail') { + request_type = request_type || this._getRadioValueByClass('request_type'); + request_type = request_type.toLowerCase(); + if (request_type == 'bug') { + Dom.get('detail_header').innerHTML = '<h2>[% terms.Bug %] Report</h2>'; + Dom.get('secure_type').innerHTML = 'report'; + } + if (request_type == 'feature') { + Dom.get('detail_header').innerHTML = '<h2>Feature Request</h2>'; + Dom.get('secure_type').innerHTML = 'request'; + } + if (request_type == 'change') { + Dom.get('detail_header').innerHTML = '<h2>Change Request</h2>'; + Dom.get('secure_type').innerHTML = 'request'; + } + Dom.addClass('detail_' + this._current_type, 'bz_default_hidden'); + Dom.removeClass('detail_' + request_type, 'bz_default_hidden'); + this._current_type = request_type; + } + Dom.addClass(this._current_state + '_form', 'bz_default_hidden'); + Dom.removeClass(state + '_form', 'bz_default_hidden'); + this._current_state = state; + if (History && !no_set_history) { + History.navigate('h', state + + (request_type ? '|' + request_type : '')); + } + return true; + }, + validateAndSubmit: function() { + var request_type = this._getRadioValueByClass('request_type'); + var alert_text = ''; + if (!isFilledOut('short_desc')) alert_text += 'Please enter a "Summary".\n'; + for (require_type in this._required_fields) { + if (require_type == request_type) { + for (field in this._required_fields[require_type]) { + if (!isFilledOut(field)) + alert_text += this._required_fields[require_type][field] + "\n"; + } + } + } + if (alert_text != '') { + alert(alert_text); + return false; + } + var whiteboard = Dom.get('status_whiteboard'); + whiteboard.value = "[specification][type:" + request_type.toLowerCase() + "]"; + return true; + }, + _getRadioValueByClass: function(class_name) { + var elements = Dom.getElementsByClassName(class_name); + for (var i = 0, l = elements.length; i < l; i++) { + if (elements[i].checked) return elements[i].value; + } + }, + init: function() { + var bookmarked_state = History.getBookmarkedState('h'); + this._initial_state = bookmarked_state || 'initial'; + try { + History.register('h', this._initial_state, mdn.onStateChange); + History.initialize('yui-history-field', 'yui-history-iframe'); + History.onReady(function () { + mdn.onStateChange(History.getCurrentState('h'), true); + }); + } + catch(e) { + console.log('error initializing history: ' + e); + History = false; + } + }, + onStateChange: function(state, no_set_history) { + var state_data = state.split('|'); + mdn.setState(state_data[0], state_data[1], no_set_history); + } + }; + Event.on('show_detail', 'click', function() { mdn.setState('detail'); }); +[% END %] + +[% PROCESS global/header.html.tmpl + title = "Mozilla Developer Network Feedback" + style = inline_style + javascript = inline_javascript + yui = [ 'history' ] + javascript_urls = [ 'extensions/BMO/web/js/form_validate.js' ] +%] + +<iframe id="yui-history-iframe" src="extensions/BMO/web/yui-history-iframe.txt"></iframe> +<input id="yui-history-field" type="hidden"> + +<h1>Mozilla Developer Network Feedback</h1> + +<form method="post" action="post_bug.cgi" enctype="multipart/form-data" + onSubmit="return mdn.validateAndSubmit();"> + <input type="hidden" name="format" value="mdn"> + <input type="hidden" name="product" value="Mozilla Developer Network"> + <input type="hidden" name="component" value="General"> + <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="bug_severity" id="bug_severity" value="normal"> + <input type="hidden" name="token" value="[% token FILTER html %]"> + <input type="hidden" name="status_whiteboard" id="status_whiteboard" value=""> + + <div id="initial_form"> + <p> + <input type="radio" name="request_type" class="request_type" + id="request_type_bug" value="Bug" checked="checked"> + <label for="request_type_bug">Report a [% terms.bug %]</label><br> + <input type="radio" name="request_type" class="request_type" + id="request_type_feature" value="Feature"> + <label for="request_type_feature">Request a new feature</label><br> + <input type="radio" name="request_type" class="request_type" + id="request_type_change" value="Change"> + <label for="request_type_change">Request a change to an existing feature</label><br> + <br> + <input id="show_detail" type="button" value="Next"> + </p> + </div> + + <div id="detail_form" class="bz_default_hidden"> + <p id="detail_header"></p> + + <p id="detail_summary"> + <strong class="required">Summary</strong><br> + <input type="text" name="short_desc" id="short_desc" size="60"> + </p> + + <div id="detail_bug" class="bz_default_hidden"> + <p> + <strong class="required">What did you do?</strong><br> + <textarea name="bug_actions" id="bug_actions" rows="5" cols="60"> +1. +2. +3. </textarea> + </p> + <p> + <strong class="required">What happened?</strong><br> + <textarea name="bug_actual_results" id="bug_actual_results" rows="5" cols="60"></textarea> + </p> + <p> + <strong class="required">What should have happened?</strong><br> + <textarea name="bug_expected_results" id="bug_expected_results" rows="5" cols="60"></textarea> + </p> + </div> + + <div id="detail_feature" class="bz_default_hidden"> + <p> + <strong class="required">What problems would this solve?</strong><br> + <textarea name="feature_problem_solving" id="feature_problem_solving" rows="5" cols="60"></textarea> + </p> + <p> + <strong class="required">Who would use this?</strong><br> + <textarea name="feature_audience" id="feature_audience" rows="5" cols="60"></textarea> + </p> + <p> + <strong class="required">What would users see?</strong><br> + <textarea name="feature_interface" id="feature_interface" rows="5" cols="60"></textarea> + </p> + <p> + <strong class="required">What would users do? What would happen as a result?</strong><br> + <textarea name="feature_process" id="feature_process" rows="5" cols="60"></textarea> + </p> + </div> + + <div id="detail_change" class="bz_default_hidden"> + <p> + <strong class="required">What feature should be changed? Please provide the URL of the feature if possible.</strong><br> + <textarea name="change_feature" id="change_feature" rows="5" cols="60"></textarea> + </p> + <p> + <strong class="required">What problems would this solve?</strong><br> + <textarea name="change_problem_solving" id="change_problem_solving" rows="5" cols="60"></textarea> + </p> + <p> + <strong class="required">Who would use this?</strong><br> + <textarea name="change_audience" id="change_audience" rows="5" cols="60"></textarea> + </p> + <p> + <strong class="required">What would users see?</strong><br> + <textarea name="change_interface" id="change_interface" rows="5" cols="60"></textarea> + </p> + <p> + <strong class="required">What would users do? What would happen as a result?</strong><br> + <textarea name="change_process" id="change_process" rows="5" cols="60"></textarea> + </p> + </div> + + <p id="detail_description"> + <strong>Is there anything else we should know?</strong><br> + <textarea name="description" id="description" rows="5" cols="60"></textarea> + </p> + + <p id="detail_secure"> + <input type="checkbox" name="groups" id="groups" + value="[% product.default_security_group FILTER html %]"> + <label for="groups"> + <strong>This <span id="secure_type">report</span> is about a problem + that is putting users at risk. It should be kept hidden from the public + until it is resolved.</strong> + </label> + </p> + + <input type="submit" id="commit" value="Submit"></td> + </div> +</form> + +<div id="standard"> + <a href="enter_bug.cgi?format=__standard__&product=[% product.name FILTER uri %]"> + <img src="extensions/BMO/web/images/advanced.png" width="16" height="16" border="0"></a> + <a href="enter_bug.cgi?format=__standard__&product=[% product.name FILTER uri %]"> + Switch to the standard [% terms.bug %] entry form</a> +</div> + +<script> + mdn.init(); +</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..38c08c72f --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/create-mozlist.html.tmpl @@ -0,0 +1,177 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS global/variables.none.tmpl %] + +[% PROCESS global/header.html.tmpl + title = "Mozilla Discussion Forum" + javascript_urls = [ 'extensions/BMO/web/js/form_validate.js', + 'js/field.js' ] + yui = [ 'autocomplete' ] + style = ".mandatory{color:red;font-size:80%;}" +%] + +<script type="text/javascript"> +<!-- + function trySubmit() { + var alert_text = ""; + + if (!isFilledOut('listName')) { + alert_text += "Please enter the list name\n"; + } + + if (!isValidEmail(document.getElementById('listAdmin').value)) { + alert_text += "Please enter a valid email address for the list administrator\n"; + } + + if (alert_text) { + alert(alert_text); + return false; + } + + var listName = document.getElementById('listName').value; + document.getElementById('short_desc').value = "Discussion Forum: " + listName; + + return true; + } +// --> +</script> + +<p> + <b>Create a Mozilla Discussion Forum</b><br> + 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 on + <b>lists.mozilla.org</b>, a newsgroup on <b>news.mozilla.org</b> and + a <b>Google Group</b> (which maintains the list archives), all linked + together. Users can add and remove themselves. +</p> + +<div id="message"> + <b>Note:</b> + You must use <a href="https://mozilla.service-now.com/"><b>Service Now</b></a> + to request a distribution list or a standard mailing list. +</div> +<br> + +<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="Discussion Forums"> + <input type="hidden" id="bug_severity" name="bug_severity" value="normal"> + <input type="hidden" id="token" name="token" value="[% token FILTER html %]"> + + <table> + <tr> + <th class="field_label"> + <span class="mandatory" title="Required">*</span> List Name: + </th> + <td> + 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>.<br> + <input name="listName" id="listName" size="60" value="[% listName FILTER html %]"> + </td> + </tr> + <tr> + <th class="field_label"> + <span class="mandatory" title="Required">*</span> List Administrator: + </th> + <td> + <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 but it does not have + to be a [% terms.Bugzilla %] account.<br> + [% INCLUDE global/userselect.html.tmpl + id => "listAdmin" + name => "listAdmin" + value => "" + size => 60 + multiple => 5 + %] + </td> + </tr> + <tr> + <td class="field_label">Short Description:</th> + <td> + This will be shown to users on the index of lists on the server.<br> + <input name="listShortDesc" id="listShortDesc" size="60" value="[% listShortDesc FILTER html %]"> + </td> + </tr> + <tr> + <td class="field_label">Long Description:</th> + <td> + This will be shown at the top of the list's listinfo page.<br> + [% INCLUDE global/textarea.html.tmpl + name = 'listLongDesc' + id = 'listLongDesc' + minrows = 10 + maxrows = 25 + cols = constants.COMMENT_COLS + defaultcontent = listLongDesc + %] + </td> + </tr> + <tr> + <th class="field_label">Additional Comments:</th> + <td> + 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 + %] + </td> + </tr> + <tr> + <th class="field_label">CC:</th> + <td> + [% INCLUDE global/userselect.html.tmpl + id => "cc" + name => "cc" + value => cc + size => 60 + multiple => 5 + %] + </td> + </tr> + <tr> + <th class="field_label">URL:</th> + <td colspan="3"> + <input name="bug_file_loc" size="60" + value="[% bug_file_loc FILTER html %]"> + </td> + </tr> + <tr> + <td align="right"> + <input type="checkbox" name="groups" id="group_35" value="infra"> + </td> + <td> + <label for="group_35"><b>This is an internal issue which should not be publicly visible.</b></label> + </td> + </tr> + </table> + + <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> +</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..06336d63f --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/create-mozpr.html.tmpl @@ -0,0 +1,655 @@ +[%# 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 %] + +<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"> </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> </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"> </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"> </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> </th> + <td colspan="3"> + + <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"> + [%# exclude the default security from from the groups_available %] + [%# list, as it will be added by the BMO extension %] + [% groups_available = [] %] + [% FOREACH group = product.groups_available %] + [% NEXT IF group.name == product.default_security_group %] + [% groups_available.push(group) %] + [% END %] + [% IF groups_available.size %] + <tr> + <th> </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 = 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> </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;"> + + <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 (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 (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 (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-privacy-data.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-privacy-data.html.tmpl new file mode 100644 index 000000000..fbf3bed55 --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/create-privacy-data.html.tmpl @@ -0,0 +1,219 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS global/variables.none.tmpl %] + +[% inline_style = BLOCK %] + #bug_form input[type=text], #bug_form input[type=file], #cc_autocomplete, #bug_form textarea { + width: 100%; + } +[% END %] + +[% inline_js = BLOCK %] + function onSubmit() { + var error = ''; + if (!isFilledOut('short_desc')) error += 'Please enter a summary.\n'; + if (!isFilledOut('attachment')) error += 'Please attach the data set/representative sample.\n'; + if (!isFilledOut('source')) error += 'Please enter the data source.\n'; + if (!isFilledOut('data_desc')) error += 'Please enter the data description.\n'; + if (!isFilledOut('release')) error += 'Please enter the parts of data you want released.\n'; + if (!isFilledOut('why')) error += 'Please enter why you want to release this data.\n'; + if (!isFilledOut('when')) error += 'Please enter when you would like to release this data.\n'; + + if (error) { + alert(error); + return false; + } + + return true; + } +[% END %] + +[% PROCESS global/header.html.tmpl + title = "Privacy - Data Release Proposal" + style = inline_style + style_urls = [ 'skins/standard/enter_bug.css' ] + javascript = inline_js + javascript_urls = [ 'extensions/BMO/web/js/form_validate.js', + 'js/attachment.js', 'js/field.js', 'js/util.js' ] + yui = [ 'autocomplete' ] +%] + +<h2>Privacy - Data Release Proposal</h2> + +<p> + Before filling out this form, please look at the + <a href="https://wiki.mozilla.org/Privacy/How_To/Deidentify" target="_blank">guide</a> + for releasing info about people. +</p> + +<p> + All fields except for CC are required. +</p> + +<form method="post" action="post_bug.cgi" id="bug_form" class="enter_bug_form" + enctype="multipart/form-data" onSubmit="return onSubmit()"> +<input type="hidden" name="format" value="privacy-data"> +<input type="hidden" name="product" value="Privacy"> +<input type="hidden" name="component" value="Data Release Proposal"> +<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="groups" id="groups" value="privacy"> +<input type="hidden" name="token" value="[% token FILTER html %]"> + +<table> + +<tr> + <th> + <label for="short_desc">Summary:</label> + </th> + <td> + <input type="text" name="short_desc" id="short_desc" value="" size="60"> + </td> +</tr> + +<tr> + <th> + <label for="cc">CC:</label> + </th> + <td> + [% INCLUDE global/userselect.html.tmpl + id => "cc" + name => "cc" + value => cc + size => 60 + multiple => 5 + %] + </td> + <td> + <i> Optional</i> + </td> +</tr> + +<tr> + <th> + <label for="attachment">Data Set:</label> + </th> + <td> + <i>Please attach the data set, or a representative sample.</i> + <div> + <input type="file" id="attachment" name="data" size="50"> + <input type="hidden" name="contenttypemethod" value="autodetect"> + <input type="hidden" name="description" value="Data Set"> + </div> + </td> +</tr> + +<tr> + <th> + <label for="source">Source:</label> + </th> + <td> + <i>Where does this data come from?</i> + <div> + <textarea name="source" id="source" rows="5" cols="40"></textarea> + </div> + </td> +</tr> + +<tr> + <th> + <label for="data_desc">Data Description:</label> + </th> + <td> + <i>What people and things does this data describe, and what fields does it contain?</i> + <div> + <textarea name="data_desc" id="data_desc" rows="5" cols="40"></textarea> + </div> + </td> +</tr> + +<tr> + <th> + <label for="release">Release:</label> + </th> + <td> + <i>What parts of this data do you want to release?</i> + <div> + <textarea name="release" id="release" rows="5" cols="40"></textarea> + </div> + </td> +</tr> + +<tr> + <th> + <label for="why">Why:</label> + </th> + <td> + <i>Why are we releasing this data, and what do we hope people will do with it?</i> + <div> + <textarea name="why" id="why" rows="5" cols="40"></textarea> + </div> + </td> +</tr> + +<tr> + <th> + <label for="when">Release Time:</label> + </th> + <td> + <i>Is there a particular time by which you would like to release this data?</i> + <div> + <input type="text" name="when" id="when" value="" size="60"> + </div> + </td> +</tr> + +<tr> + <td colspan="2"> + Expect to discover that you've missed a few of things, so plan for a couple weeks to get them corrected. + </td> +</tr> + +<tr> + <td> </td> + <td> + <input type="submit" id="commit" value="Submit Request"> + </td> +</tr> +</table> + +</form> + +<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> + +[% 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..a3bf854ea --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/create-swag.html.tmpl @@ -0,0 +1,824 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS global/variables.none.tmpl %] + +[% +items = [ + { id => '', name => 'splendidest gear', }, + { id => '#157454S', name => 'very splendid package, men, s' }, + { id => '#157454M', name => 'very splendid package, men, m' }, + { id => '#157454L', name => 'very splendid package, men, l' }, + { id => '#157454X', name => 'very splendid package, men, xl' }, + { id => '#157452S', name => 'very splendid package, women, s' }, + { id => '#157452M', name => 'very splendid package, women, m' }, + { id => '#157452L', name => 'very splendid package, women, l' }, + { id => '#157452X', name => 'very splendid package, women, xl' }, + { id => '#157451S', name => 'most splendid package, s' }, + { id => '#157451M', name => 'most splendid package, m ' }, + { id => '#157451L', name => 'most splendid package, l' }, + { id => '#157451X', name => 'most splendid package, xl' }, + { id => '#155415S', name => 'sweatshirt, s' }, + { id => '#155415M', name => 'sweatshirt, m' }, + { id => '#155415L', name => 'sweatshirt, l' }, + { id => '#155415X', name => 'sweatshirt, xl' }, + { id => '#1554152', name => 'sweatshirt, 2x' }, + { id => '#155749', name => 'rickshaw messenger bag' }, + { id => '#155752', name => 'moleskine notebook (black)' }, + { id => '', name => 'splendider gear', }, + { id => '#155341S', name => 'unisex t, poppy, s' }, + { id => '#155341M', name => 'unisex t, poppy, m' }, + { id => '#155341L', name => 'unisex t, poppy, l' }, + { id => '#155341X', name => 'unisex t, poppy, xl' }, + { id => '#1553412', name => 'unisex t, poppy, 2x' }, + { id => '#155344S', name => 'ladies t, poppy, s' }, + { id => '#155344M', name => 'ladies t, poppy, m' }, + { id => '#155344L', name => 'ladies t, poppy, l' }, + { id => '#155342S', name => 'unisex t, navy, s' }, + { id => '#155342M', name => 'unisex t, navy, m' }, + { id => '#155342L', name => 'unisex t, navy, l' }, + { id => '#155342X', name => 'unisex t, navy, xl' }, + { id => '#1553422', name => 'unisex t, navy, 2x' }, + { id => '#1553423', name => 'unisex t, navy, 3x' }, + { id => '#155413S', name => 'ladies t, navy, s' }, + { id => '#155413M', name => 'ladies t, navy, m' }, + { id => '#155413L', name => 'ladies t, navy, l' }, + { id => '#155413X', name => 'ladies t, navy, xl' }, + { id => '#155343M', name => 'unisex t, lapis, m' }, + { id => '#155343L', name => 'unisex t, lapis, l' }, + { id => '#155343X', name => 'unisex t, lapis, xl' }, + { id => '#155414S', name => 'ladies t, lapis, s' }, + { id => '#155414M', name => 'ladies t, lapis, m' }, + { id => '#155414L', name => 'ladies t, lapis, l' }, + { id => '#155339', name => 'black cap w/tote' }, + { id => '#155340', name => 'beanie' }, + { id => '#155751', name => 'drawstring tote' }, + { id => '#155758', name => 'glossy finish ceramic mug' }, + { id => '', name => 'splendid gear', }, + { id => '#155755', name => 'vertical laminated badge' }, + { id => '#155754', name => 'lanyard w/bulldog clip' }, + { id => '#155756', name => 'silicone wristband' }, + { id => '#155753', name => '3" round stickers (single)' }, + { id => '#155757', name => 'mozilla tattoos (pkg 50)' }, +] +%] + +[% +mozspaces = [ + { + name => 'Berlin', + address1 => 'MZ Denmark ApS - Germany', + address2 => 'Rungestrasse 22 - 24', + city => 'Berlin', + state => 'Germany', + country => 'Germany', + postcode => '10179', + }, + { + name => 'London', + address1 => 'Mozilla London', + address2 => '101 St. Martin\'s Lane, 3rd Floor', + city => 'London', + state => 'Greater London', + country => 'UK', + postcode => 'WC2N 4AZ', + }, + { + name => 'Mountain View', + address1 => 'Mozilla', + address2 => '650 Castro St., Suite 300', + city => 'Mountain View', + state => 'CA', + country => 'USA', + postcode => '94041-2072', + }, + { + name => 'Paris', + address1 => 'Mozilla', + address2 => '16 bis Boulevard Montmartre', + city => 'Paris', + state => 'Paris', + country => 'France', + postcode => '75009', + }, + { + name => 'Portland', + address1 => 'Mozilla Portland', + address2 => 'Brewery Block 2, 1120 NW Couch St. Suite 320', + city => 'Portland', + state => 'OR', + country => 'USA', + postcode => '97209', + }, + { + name => 'San Francisco', + address1 => 'Mozilla', + address2 => '2 Harrison Street, Suite 175', + city => 'San Francisco', + state => 'CA', + country => 'USA', + postcode => '94105', + }, + { + name => 'Toronto', + address1 => 'Mozilla Canada', + address2 => '366 Adelaide Street W, Suite 500', + city => 'Toronto', + state => 'Ontario', + country => 'Canada', + postcode => 'M5V 1R9', + }, + { + name => 'Vancouver', + address1 => 'Mozilla Canada', + address2 => '163 West Hastings Street, Suite 209', + city => 'Vancouver', + state => 'BC', + country => 'Canada', + postcode => 'V6B 1H5', + }, +] +%] + +[% inline_style = BLOCK %] +#gear_form th { + text-align: right; + font-weight: normal; +} + +#gear_form .heading { + text-align: left; + font-weight: bold; + border-top: 2px dotted #969696; +} + +.mandatory { + color: red; +} +[% END %] + +[% inline_javascript = BLOCK %] +var Dom = YAHOO.util.Dom; +var needed = { +[% FOREACH item = items %] + [% NEXT UNLESS item.id %] + '[% item.id FILTER js %]': 0[% ',' UNLESS loop.last %] +[% END %] +}; +var needed_freeform = []; + +var gear = [ +[% FOREACH item = items %] + { id: '[% item.id FILTER js %]', name: '[% item.name FILTER js %]' } + [% ',' UNLESS loop.last %] +[% END %] +]; + +var mozspaces = { +[% FOREACH space = mozspaces %] + '[% space.name FILTER js %]': { + [% FOREACH key = space.keys.sort %] + '[% key FILTER js %]': '[% space.$key FILTER js %]'[% ',' UNLESS loop.last %] + [% END %] + }[% ',' UNLESS loop.last %] +[% END %] +}; + +[%# implemented this way to allow for dynamic updating of mandatory fields #%] +var fields = [ + { id: 'firstname', mandatory: true }, + { id: 'lastname', mandatory: true }, + { id: 'email', mandatory: true }, + { id: 'mozspace', mandatory: false }, + { id: 'teamcode', mandatory: true }, + { id: 'purpose', mandatory: true }, + { id: 'purpose_other', mandatory: false }, + { id: 'date_required', mandatory: false }, + { id: 'items', mandatory: true }, + { id: 'shiptofirstname', mandatory: true }, + { id: 'shiptolastname', mandatory: true }, + { id: 'shiptoemail', mandatory: true }, + { id: 'shiptoaddress1', mandatory: true }, + { id: 'shiptoaddress2', mandatory: false }, + { id: 'shiptocity', mandatory: true }, + { id: 'shiptostate', mandatory: true }, + { id: 'shiptocountry', mandatory: true }, + { id: 'shiptopostcode', mandatory: true }, + { id: 'shiptophone', mandatory: true }, + { id: 'shiptoidrut', mandatory: false }, + { id: 'comment', mandatory: false } +]; + +function initFields() { + [%# find fields in the form, and update the fields array #%] + var rows = Dom.get('gear_form').getElementsByTagName('TR'); + for (var i = 0, l = rows.length; i < l; i++) { + var row = rows[i]; + var field = firstChild(row, 'INPUT') || firstChild(row, 'SELECT') || firstChild(row, 'TEXTAREA'); + if (!field || field.type == 'submit') continue; + var id = field.id; + var label = firstChild(row, 'TH'); + for (var j = 0, m = fields.length; j < m; j++) { + if (fields[j].id == id) { + fields[j].field = field; + fields[j].label = label; + fields[j].caption = label.textContent; + break; + } + } + } + createCalendar('date_required'); +} + +function tagMandatoryFields() { + [%# add or remove the "* mandatory" marker from fields #%] + for (var i = 0, l = fields.length; i < l; i++) { + var f = fields[i]; + if (!f.label) continue; + var caption = f.caption; + if (f.mandatory) + caption = caption + ' <span class="mandatory">*</span>'; + f.label.innerHTML = caption; + } +} + +function validateAndSubmit() { + var alert_text = ''; + for(var i = 0, l = fields.length; i < l; i++) { + var f = fields[i]; + if (f.mandatory && !isFilledOut(f.id)) + if (f.field.nodeName == 'SELECT') { + alert_text += 'Please select the ' + f.caption + ".\n"; + } else { + alert_text += 'Please enter the ' + f.caption + ".\n"; + } + } + if (isFilledOut('email') && !isValidEmail(Dom.get('email').value)) + alert_text += "Please enter a valid Email Address.\n"; + if (isFilledOut('shiptoemail') && !isValidEmail(Dom.get('shiptoemail').value)) + alert_text += "Please enter a valid Shipping Email Address.\n"; + + if (alert_text != '') { + alert(alert_text); + return false; + } + + Dom.get('short_desc').value = 'Mozilla Gear - ' + Dom.get('firstname').value + ' ' + Dom.get('lastname').value; + return true; +} + +function onPurposeChange() { + var value = Dom.get('purpose').value; + var other = Dom.get('purpose_other'); + + if (value == 'Event') { + getField('purpose_other').mandatory = true; + other.placeholder = 'link to wiki' + Dom.removeClass('purpose_other_row', 'bz_default_hidden'); + Dom.addClass('recognition_row', 'bz_default_hidden'); + + } else if (value == 'Gear Space Stock') { + getField('purpose_other').mandatory = true; + other.placeholder = 'indicate space' + Dom.removeClass('purpose_other_row', 'bz_default_hidden'); + Dom.addClass('recognition_row', 'bz_default_hidden'); + + } else if (value == 'Other') { + getField('purpose_other').mandatory = true; + other.placeholder = 'more information'; + Dom.removeClass('purpose_other_row', 'bz_default_hidden'); + Dom.addClass('recognition_row', 'bz_default_hidden'); + + } else if (value == 'Mozillian Recognition') { + getField('purpose_other').mandatory = false; + Dom.addClass('purpose_other_row', 'bz_default_hidden'); + Dom.removeClass('recognition_row', 'bz_default_hidden'); + onRecognitionChange(); + + } else { + getField('purpose_other').mandatory = false; + Dom.addClass('purpose_other_row', 'bz_default_hidden'); + Dom.addClass('recognition_row', 'bz_default_hidden'); + } + + onRecognitionChange(); +} + +function onRecognitionChange() { + var mandatory = Dom.get('purpose').value != 'Mozillian Recognition' + || !Dom.get('recognition_shipping').checked; + getField('shiptoaddress1').mandatory = mandatory; + getField('shiptocity').mandatory = mandatory; + getField('shiptostate').mandatory = mandatory; + getField('shiptocountry').mandatory = mandatory; + getField('shiptopostcode').mandatory = mandatory; + getField('shiptophone').mandatory = mandatory; + tagMandatoryFields(); +} + +function onMozSpaceChange() { + if (Dom.get('mozspace').value) { + Dom.removeClass('shipto_mozspace_container', 'bz_default_hidden'); + } else { + Dom.addClass('shipto_mozspace_container', 'bz_default_hidden'); + } + onShipToMozSpaceClick(); +} + +function onShipToMozSpaceClick() { + var address1 = address2 = city = state = country = postcode = ''; + if (Dom.get('shipto_mozspace').checked) { + var space = Dom.get('mozspace').value; + address1 = mozspaces[space].address1; + address2 = mozspaces[space].address2; + city = mozspaces[space].city; + state = mozspaces[space].state; + country = mozspaces[space].country; + postcode = mozspaces[space].postcode; + } + Dom.get('shiptoaddress1').value = address1; + Dom.get('shiptoaddress2').value = address2; + Dom.get('shiptocity').value = city; + Dom.get('shiptostate').value = state; + Dom.get('shiptocountry').value = country; + Dom.get('shiptopostcode').value = postcode; + Dom.get('shiptophone').value = ''; + Dom.get('shiptoidrut').value = ''; + onRecognitionChange(); +} + +function onAddGearChange(focusInput) { + var add_gear = Dom.get('add_gear').value; + var isFreeform = add_gear == 'custom' || add_gear == 'other'; + if (isFreeform) { + Dom.addClass('quantity', 'bz_default_hidden'); + resetFreeform(); + Dom.get('freeform_quantity').value = Dom.get('quantity').value; + Dom.removeClass('freeform_quantity', 'bz_default_hidden'); + Dom.removeClass('add_freeform', 'bz_default_hidden'); + if (focusInput) + Dom.get('freeform_add').focus(); + } else { + Dom.get('quantity').value = Dom.get('freeform_quantity').value; + Dom.removeClass('quantity', 'bz_default_hidden'); + Dom.addClass('freeform_quantity', 'bz_default_hidden'); + Dom.addClass('add_freeform', 'bz_default_hidden'); + } +} + +function firstChild(parent, name) { + var a = parent.getElementsByTagName(name); + return a.length == 0 ? false : a[0]; +} + +function getField(id) { + for(var i = 0, l = fields.length; i < l; i++) { + if (fields[i].id == id) + return fields[i]; + } + return false; +} + +function addGear() { + var id = Dom.get('add_gear').value; + if (id == 'custom' || id == 'other') { + var quantity = parseInt(Dom.get('freeform_quantity').value, 10); + var name = Dom.get('freeform_add').value; + if (!quantity || !name) return; + needed_freeform.push({ 'type': id, 'quantity': quantity, 'name': name }); + Dom.get('add_gear').value = ''; + resetFreeform(); + onAddGearChange(); + } else { + var quantity = parseInt(Dom.get('quantity').value, 10); + if (!quantity || !id) return; + needed[id] += quantity; + } + showGear(); +} + +function resetFreeform() { + Dom.get('freeform_quantity').value = '1'; + Dom.get('freeform_add').value = ''; +} + +function removeGear(id) { + if (!id) return; + needed[id] = 0; + showGear(); +} + +function removeFreeform(index) { + needed_freeform.splice(index, 1); + showGear(); +} + +function showGear() { + var html = '<table border="0" cellpadding="2" cellspacing="0">'; + var text = ''; + var count = 0; + for (var i = 0, l = gear.length; i < l; i++) { + var item = gear[i]; + var id = item.id; + if (!id) continue; + if (!needed[id]) continue; + count += needed[id]; + html += '<tr>' + + '<td>' + needed[id] + ' x </td>' + + '<td>' + YAHOO.lang.escapeHTML(item.name) + '</td>' + + '<td><button onclick="removeGear(\'' + id + '\');return false">Remove</button></td>' + + '</tr>'; + text += needed[id] + ' x ' + id + ' ' + item.name + "\n"; + } + for (var i = 0, l = needed_freeform.length; i < l; i++) { + var item = needed_freeform[i]; + count += item.quantity; + html += '<tr>' + + '<td>' + item.quantity + ' x </td>' + + '<td>(' + item.type + ') ' + YAHOO.lang.escapeHTML(item.name) + '</td>' + + '<td><button onclick="removeFreeform(\'' + i + '\');return false">Remove</button></td>' + + '</tr>'; + text += item.quantity + ' x (' + item.type + ') ' + item.name + "\n"; + } + if (!count) + html += '<tr><td><i>No gear selected.</i></td></tr>'; + html += '</table>'; + Dom.get('gear_container').innerHTML = html; + Dom.get('items').value = text; +} + +[% END %] + +[% PROCESS global/header.html.tmpl + title = "Mozilla Gear" + style = inline_style + javascript = inline_javascript + javascript_urls = [ 'extensions/BMO/web/js/form_validate.js', + 'js/field.js', 'js/util.js' ] + yui = [ 'autocomplete', 'calendar' ] +%] + +<h1>Mozilla Gear</h1> + +<p> + Want gear? Here's what to do: +</p> +<ul> + <li> + Follow the steps below and click Submit Request. + </li> + <li> + Requests are reviewed every Monday. If approved, we'll let you know. Then + your order will either be filled from your Mozilla space for pick-up or + sent to our gear partner, Staples, for processing and shipment. If it can't + be approved, we'll email you with details (or possibly ask for more + information). + </li> +</ul> + +<p> + Check <a href="https://wiki.mozilla.org/GearStore" target="_blank">the gear + wiki</a> for more information about gear, including approved uses and the + list of available gear. +</p> + +<p> + Gear requests for Rep-driven events and campaigns should continue to be + submitted through <a href="https://wiki.mozilla.org/ReMo/Tools_and_Resources" + target="_blank">their existing process</a>. +</p> + +<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-engagement"> + <input type="hidden" name="token" value="[% token FILTER html %]"> + +<table id="gear_form"> + +<tr> + <td> </td> +</tr> +<tr> + <th class="heading" colspan="2">Tell Us What You Want</th> +</tr> + +<tr> + <th>Purpose of Gear</th> + <td> + <select name="purpose" id="purpose" onchange="onPurposeChange()"> + <option value="">Please select..</option> + <option value="Campaign">Campaign</option> + <option value="Event">Event</option> + <option value="Gear Space Stock">Gear Space Stock</option> + <option value="Mozillian Recognition">Mozillian Recognition</option> + <option value="Onboarding">Onboarding</option> + <option value="Press">Press</option> + <option value="Recruiting">Recruiting</option> + <option value="VIP">VIP</option> + <option value="Other">Other</option> + </select> + </td> +</tr> + +<tr id="purpose_other_row" class="bz_default_hidden"> + <th>Purpose Text</th> + <td> + <input name="purpose_other" id="purpose_other" size="50"> + </td> +</tr> + +<tr id="recognition_row" class="bz_default_hidden"> + <th> </th> + <td> + <input type="checkbox" name="recognition_shipping" id="recognition_shipping" value="Yes" + onclick="onRecognitionChange()"> + <label for="recognition_shipping"> + This [% terms.bug %] needs recipient shipping information + </label><br> + <input type="checkbox" name="recognition_sizing" id="recognition_sizing" value="Yes"> + <label for="recognition_sizing"> + This [% terms.bug %] needs recipient size information + </label><br> + </td> +</tr> + +<tr> + <th>Date Required</th> + <td> + <input name="date_required" id="date_required" size="25" + onchange="updateCalendarFromField(this)"> + <button type="button" class="calendar_button" id="button_calendar_date_required" + onclick="showCalendar('date_required')"><span>cal</span></button> + <div id="con_calendar_date_required"></div> + </td> +</tr> + +<tr> + <th>Gear Needed</th> + <td> + <input type="hidden" name="items" id="items" value=""> + <a href="https://wiki.mozilla.org/GearStore/Gearavailable" target="_blank"> + View the current inventory</a>, then add your selection(s):<br> + + <input type="text" size="2" id="quantity" value="1" + onblur="this.value = parseInt(this.value, 10) ? Math.floor(parseInt(this.value, 10)) : 1"> + <select id="add_gear" onChange="onAddGearChange(true)"> + <option value="">Please select..</option> + [% first_group = 1 %] + [% FOREACH item = items %] + [% IF item.id == "" %] + [% "</optgroup>" UNLESS first_group %] + [% first_group = 0 %] + <optgroup label="[% item.name FILTER html %]"> + [% ELSE %] + <option value="[% item.id FILTER html %]">[% item.name FILTER html %]</option> + [% END %] + [% END %] + [% "</optgroup>" UNLESS first_group %] + <optgroup label="otherwise"> + <option value="custom">custom</option> + <option value="other">other</option> + </optgroup> + </select> + <span id="add_freeform" class="bz_default_hidden"> + <br> + Tell us how many and what you are looking for here. Add details in the + comments field below. + <br> + <input type="text" size="2" id="freeform_quantity" value="1" + onblur="this.value = parseInt(this.value, 10) ? Math.floor(parseInt(this.value, 10)) : 1"> + <input type="text" id="freeform_add" size="40"> + </span> + <button onclick="addGear();return false">Add</button> + <br> + + <div id="gear_container"></div> + </td> +</tr> + +<tr> + <td> </td> +</tr> +<tr> + <th class="heading" colspan="2">Tell Us About You</th> +</tr> + +<tr> + <th>First Name</th> + <td><input name="firsrname" id="firstname" size="50" maxlength="30"></td> +</tr> + +<tr> + <th>Last Name</th> + <td><input name="lastname" id="lastname" size="50" maxlength="30"></td> +</tr> + +<tr> + <th>Email Address</th> + <td><input name="email" id="email" size="50" maxlength="50"></td> +</tr> + +<tr> + <th>My Mozilla Space</th> + <td> + <select name="mozspace" id="mozspace" onchange="onMozSpaceChange()"> + <option value="">Please select..</option> + [% FOREACH space = mozspaces %] + <option value="[% space.name FILTER html %]">[% space.name FILTER html %]</option> + [% END %] + </select> + <i>(if applicable)</i> + <div id="shipto_mozspace_container" class="bz_default_hidden"> + <input type="checkbox" id="shipto_mozspace" onclick="onShipToMozSpaceClick()"> + <label for="shipto_mozspace">Ship to this address</label> + </div> +</tr> + +<tr> + <th>Team + Department Code</th> + <td> + <select name="teamcode" id="teamcode"> + <option value="">Please select..</option> + <option value="Applications (350)">Applications (350)</option> + <option value="Business Affairs (110)">Business Affairs (110)</option> + <option value="Engagement Brand Management (240)">Engagement Brand Management (240)</option> + <option value="Engagement Contributor (230)">Engagement Contributor (230)</option> + <option value="Engagement General (200)">Engagement General (200)</option> + <option value="Engagement PR (220)">Engagement PR (220)</option> + <option value="Engagement Product Mktg (210)">Engagement Product Mktg (210)</option> + <option value="Engagement Product Strategy (250)">Engagement Product Strategy (250)</option> + <option value="Engagement User (232)">Engagement User (232)</option> + <option value="Engagement Websites & Developer (235)">Engagement Websites & Developer (235)</option> + <option value="Engr B2G (720)">Engr B2G (720)</option> + <option value="Engr Development Tools & Auto (769)">Engr Development Tools & Auto (769)</option> + <option value="Engr Firefox (770)">Engr Firefox (770)</option> + <option value="Engr Firefox Dev Tools (775)">Engr Firefox Dev Tools (775)</option> + <option value="Engr General Admin (700)">Engr General Admin (700)</option> + <option value="Engr Jetpack (780)">Engr Jetpack (780)</option> + <option value="Engr Localization - L10N (740)">Engr Localization - L10N (740)</option> + <option value="Engr Ops Build & Release (440)">Engr Ops Build & Release (440)</option> + <option value="Engr Ops Network & IT (410)">Engr Ops Network & IT (410)</option> + <option value="Engr Ops Stats & Metrics (420)">Engr Ops Stats & Metrics (420)</option> + <option value="Engr Ops Support/SUMO (450)">Engr Ops Support/SUMO (450)</option> + <option value="Engr Ops Weave & Services (460)">Engr Ops Weave & Services (460)</option> + <option value="Engr Ops Web Dev (430)">Engr Ops Web Dev (430)</option> + <option value="Engr Platform Content (810)">Engr Platform Content (810)</option> + <option value="Engr Platform General (800)">Engr Platform General (800)</option> + <option value="Engr Platform Graphics (820)">Engr Platform Graphics (820)</option> + <option value="Engr Platform Integration (880)">Engr Platform Integration (880)</option> + <option value="Engr Platform JS (830)">Engr Platform JS (830)</option> + <option value="Engr Platform Layout (840)">Engr Platform Layout (840)</option> + <option value="Engr Platform Network (855)">Engr Platform Network (855)</option> + <option value="Engr Platform Performance (870)">Engr Platform Performance (870)</option> + <option value="Engr Platform Stability Plugins (850)">Engr Platform Stability Plugins (850)</option> + <option value="Engr Project Mgmt (710)">Engr Project Mgmt (710)</option> + <option value="Engr QA Automation (760)">Engr QA Automation (760)</option> + <option value="Engr QA Browser Technologies (767)">Engr QA Browser Technologies (767)</option> + <option value="Engr QA Firefox Desktop (755)">Engr QA Firefox Desktop (755)</option> + <option value="Engr QA Services (750)">Engr QA Services (750)</option> + <option value="Engr QA Web (765)">Engr QA Web (765)</option> + <option value="Engr Research (860)">Engr Research (860)</option> + <option value="Engr Security (730)">Engr Security (730)</option> + <option value="Facility (150)">Facility (150)</option> + <option value="Finance (120)">Finance (120)</option> + <option value="G&A (100)">G&A (100)</option> + <option value="Innovations (300)">Innovations (300)</option> + <option value="Mobile (600)">Mobile (600)</option> + <option value="Mobile UI (610)">Mobile UI (610)</option> + <option value="Pancake (530)">Pancake (530)</option> + <option value="People (140)">People (140)</option> + <option value="People Ops (130)">People Ops (130)</option> + <option value="Product Add-Ons (550)">Product Add-Ons (550)</option> + <option value="Product UX (510)">Product UX (510)</option> + <option value="Products General (500)">Products General (500)</option> + <option value="Products User Research (520)">Products User Research (520)</option> + <option value="Security Assurance (470)">Security Assurance (470)</option> + <option value="Thunderbird (320)">Thunderbird (320)</option> + </select> + </td> +</tr> + +<tr> + <td> </td> +</tr> +<tr> + <th class="heading" colspan="2">Tell Us Where To Send It</th> +</tr> + +<tr> + <td colspan="2"> + Please be aware that shipping can cost as much as, if not more than, your + item. And, items shipped internationally incur customs fees that can be + 100%+ the cost of the package. When possible, requests will be filled from + gear at your Mozilla space. + </td> +</tr> + +<tr> + <th>First Name</th> + <td><input name="shiptofirstname" id="shiptofirstname" size="50" maxlength="50"></td> +</tr> +<tr> + <th>Last Name</th> + <td><input name="shiptolastname" id="shiptolastname" size="50" maxlength="50"></td> +</tr> +<tr> + <th>Email Address</th> + <td><input name="shiptoemail" id="shiptoemail" size="50" maxlength="50"></td> +</tr> +<tr> + <th>Address</th> + <td><input name="shiptoaddress1" id="shiptoaddress1" size="50" maxlength="50"></td> +</tr> +<tr> + <th>Address 2</th> + <td><input name="shiptoaddress2" id="shiptoaddress2" size="50" maxlength="50"></td> +</tr> +<tr> + <th>City</th> + <td><input name="shiptocity" id="shiptocity" size="50" maxlength="50"></td> +</tr> +<tr> + <th>State</th> + <td><input name="shiptostate" id="shiptostate" size="50" maxlength="50"></td> +</tr> +<tr> + <th>Country</th> + <td><input name="shiptocountry" id="shiptocountry" size="50" maxlength="50"></td> +</tr> +<tr> + <th>Postal Code</th> + <td><input name="shiptopostcode" id="shiptopostcode" size="50" maxlength="50"></td> +</tr> +<tr> + <th>Recipient Telephone</th> + <td> + <input name="shiptophone" id="shiptophone" size="50" maxlength="50"> + <i>(include country code if outside of the US)</i> + </td> +</tr> +<tr> + <th>Personal ID/RUT</th> + <td> + <input name="shiptoidrut" id="shiptoidrut" size="50" maxlength="50"> + <i>(if your country requires this)</i> + </td> +</tr> + +<tr> + <td> </td> +</tr> +<tr> + <th class="heading" colspan="2">Tell Us Anything Else</th> +</tr> + +<tr> + <th>Additional Comments</th> + <td><textarea id="comment" name="comment" rows="5" cols="50"></textarea></td> +</tr> + +<tr> + <td> </td> +</tr> + +<tr> + <td> </td> + <td><input type="submit" id="commit" value="Submit Request"></td> +</tr> + +</table> +</form> + +<p> + <span class="mandatory">*</span> Required Field +</p> + +<p> + Requests will only be visible to the person who submitted it, authorized + members of the Mozilla Engagement team, and our Staples Customer Service rep. + We do this to help protect the personal identifying information in this [% terms.bugs %]. +</p> + +<script> + initFields(); + onPurposeChange(); + onAddGearChange(); + tagMandatoryFields(); + showGear(); +</script> + +[% 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 (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..fd21ed4ed --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/create-winqual.html.tmpl @@ -0,0 +1,831 @@ +[%# 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"> </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"> </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"> </td> + [% END %] + </tr> +</tbody> + +<tbody class="expert_fields"> + <tr> + <td colspan="4"> </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"> + (<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"> </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(product=>product,type=>1) %] + [% NEXT IF field.type == constants.FIELD_TYPE_EXTENSION %] + [% NEXT UNLESS field.enter_bug %] + [%# crash-signature gets custom handling %] + [% IF field.name == 'cf_crash_signature' %] + [% show_crash_signature = 1 %] + [% NEXT %] + [% END %] + [% 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 %] +[% IF show_crash_signature %] +<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 %] + +[% old_tracking_flags = [] %] +[% old_project_flags = [] %] +[% FOREACH field = Bugzilla.active_custom_fields(product=>product,type=>2) %] + [% NEXT IF field.type == constants.FIELD_TYPE_EXTENSION %] + [% NEXT UNLESS field.enter_bug %] + [% IF cf_is_project_flag(field.name) %] + [% old_project_flags.push(field) %] + [% ELSE %] + [% old_tracking_flags.push(field) %] + [% END %] +[% END %] + +[% display_flags = 0 %] +[% any_flags_requesteeble = 0 %] +[% FOREACH flag_type = product.flag_types.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 old_project_flags.size || old_tracking_flags.size || 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 old_tracking_flags.size %] + <td [% IF project_flags.size %]rowspan="2"[% END %]> + <table class="tracking_flags"> + <tr> + <th colspan="2" style="text-align:left">Tracking Flags:</th> + </tr> + [% FOREACH field = old_tracking_flags %] + [% 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 %] + [% Hook.process('tracking_flags_end') %] + </table> + </td> + [% END %] + [% IF old_project_flags.size %] + <td> + <table class="tracking_flags"> + <tr> + <th colspan="2" style="text-align:left">Project Flags:</th> + </tr> + [% FOREACH field = old_project_flags %] + [% 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 %] + [% Hook.process('project_flags_end') %] + </table> + </td> + </tr> + <tr> + [% END %] + [% IF display_flags %] + <td> + [% PROCESS "flag/list.html.tmpl" flag_types = product.flag_types.bug + any_flags_requesteeble = any_flags_requesteeble + flag_table_id = "bug_flags" + %] + </td> + [% END %] + </tr> + [% Hook.process('bug_flags_end') %] + </table> + </fieldset> + </div> + </td> + </tr> + </tbody> +[% END %] + +<tbody> + [%# Form controls for entering additional data about the bug being created. %] + [% Hook.process("form") %] + + <tr> + <th> </th> + <td colspan="3"> + <input type="submit" id="commit" value="Submit [% terms.Bug %]"> + + <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> </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&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&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-fxos-dogfood.html.tmpl b/extensions/BMO/template/en/default/bug/create/created-fxos-dogfood.html.tmpl new file mode 100644 index 000000000..58eca38aa --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/created-fxos-dogfood.html.tmpl @@ -0,0 +1,30 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS global/variables.none.tmpl %] + +[% PROCESS global/header.html.tmpl + title = "Firefox OS Dogfooding Bug Submission" +%] + +<h1>Thank you!</h1> + +<p> + Thank you for submitting feedback about Firefox OS. +</p> + +<p> + We'll link any [% terms.bugs %] we file (or are already filed) as a result of + this feedback to this report so you can be notified about their progress. +</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..8e33caec5 --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/user-message.html.tmpl @@ -0,0 +1,54 @@ +<!-- 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 %]&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> + +[% IF product.name == 'Bugzilla' && + (user.in_group('mozilla-corporation') || user.in_group('mozilla-foundation')) %] + <div id="bug_create_warning"> + <div id="bug_create_warning_image"> + <img src="extensions/BMO/web/images/sign_warning.png" width="32" height="32"> + </div> + <div id="bug_create_warning_text"> + <b>Mozilla employees</b><br> + This is not the place to request configuration, permission, or + account changes to this installation of [% terms.Bugzilla %] (bugzilla.mozilla.org).<br> + File such changes under the appropriate component in the + <a href="enter_bug.cgi?product=bugzilla.mozilla.org;component=Administration"><b>bugzilla.mozilla.org</b></a> + product. + </div> + </div> +[% END %] |