summaryrefslogtreecommitdiffstats
path: root/template/en/default/bug/create/create-guided.html.tmpl
diff options
context:
space:
mode:
authorColin Guthrie <colin@mageia.org>2014-09-15 20:51:58 +0100
committerColin Guthrie <colin@mageia.org>2014-09-15 20:52:36 +0100
commitb7e46e595d65aaf31efc8c866c09364a410e239d (patch)
tree60e35f89a2227fa3975da2344f75fbb879b21735 /template/en/default/bug/create/create-guided.html.tmpl
parentf6520b1a0d5ab4eb8b7b32630d0e9ffbb924643d (diff)
parent25a0fc974c6cb46ac5d7b5cf23741ec3696c6582 (diff)
downloadbugzilla-b7e46e595d65aaf31efc8c866c09364a410e239d.tar
bugzilla-b7e46e595d65aaf31efc8c866c09364a410e239d.tar.gz
bugzilla-b7e46e595d65aaf31efc8c866c09364a410e239d.tar.bz2
bugzilla-b7e46e595d65aaf31efc8c866c09364a410e239d.tar.xz
bugzilla-b7e46e595d65aaf31efc8c866c09364a410e239d.zip
Merge branch 'custom'
This is a slightly strange merge commit. This merges two separate branches which were used on our live bugzilla in two different ways. The first ('master' here) was web/templates/bugzilla/extensions/Mageia/ in SVN. This was an 'Extension' for Bugzilla which applied our basic theme (i.e. the look and feel). The second ('custom' here) was web/templates/bugzilla/trunk/ in SVN and actually made changes such as using the Guided form by default and changing the email template and such like. When converting to git, only the Extension was initially migrated, but upon deployment it was realised that the 'custom' folder was also still needed and it was checked out directly from subversion. Back then I didn't have the time to consolidate this into one single repo, so this merge commit is my attempt at doing that now. The subversion was imported and a tree-filter applied to correct up the path. Hopefully everything works as expected!
Diffstat (limited to 'template/en/default/bug/create/create-guided.html.tmpl')
-rw-r--r--template/en/default/bug/create/create-guided.html.tmpl443
1 files changed, 443 insertions, 0 deletions
diff --git a/template/en/default/bug/create/create-guided.html.tmpl b/template/en/default/bug/create/create-guided.html.tmpl
new file mode 100644
index 0000000..8df0896
--- /dev/null
+++ b/template/en/default/bug/create/create-guided.html.tmpl
@@ -0,0 +1,443 @@
+[%# 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>
+ # Christine Begle <cbegle@mozilla.org>
+ #%]
+
+[%# INTERFACE:
+ # This template has the same interface as create.html.tmpl
+ #%]
+
+[% PROCESS global/variables.none.tmpl %]
+
+[% USE Bugzilla %]
+[% cgi = Bugzilla.cgi %]
+
+[% PROCESS global/header.html.tmpl
+ title = "Enter $terms.ABug"
+ onload = "PutDescription()"
+ style = "#somebugs { width: 100%; height: 500px }"
+ %]
+
+[% style = "" %]
+
+[% tablecolour = "#efefef" %]
+
+[%# This script displays the descriptions for selected components. %]
+<script type="text/javascript">
+<!--
+var descriptions = [
+[% FOREACH c = product.components %]
+ '[% c.description FILTER js %]',
+[% END %]
+];
+
+function PutDescription() {
+ if ((document.getElementById) && (document.body.innerHTML)) {
+ var componentIndex = document.getElementById('component').selectedIndex;
+ if (componentIndex != -1) {
+ var description = document.getElementById('description');
+ description.innerHTML = descriptions[componentIndex];
+ }
+ }
+}
+
+var initialowners = new Array([% product.components.size %]);
+var last_initialowner;
+var components = new Array([% product.components.size %]);
+[% count = 0 %]
+[%- FOREACH c = product.components %]
+ components[[% count %]] = "[% c.name FILTER js %]";
+ initialowners[[% count %]] = "[% c.default_assignee.login 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.
+ var form = document.Create;
+ var assigned_to = form.assigned_to.value;
+
+ 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;
+ }
+ }
+ PutDescription();
+}
+
+// this is courtesy of John Keller
+
+var http_connection = null;
+
+// init XMLHttpRequest object, based on browser type
+function initHttpConnection() {
+ http_connection = null;
+
+ try {
+ // Firefox, Opera 8.0+, Safari
+ http_connection = new XMLHttpRequest();
+ } catch (e) {
+ // Internet Explorer
+ try {
+ http_connection = new ActiveXObject("Msxml2.XMLHTTP");
+ } catch (e) {
+ try {
+ http_connection = new ActiveXObject("Microsoft.XMLHTTP");
+ } catch (e) {
+ // browser does not support AJAX
+ }
+ }
+ }
+
+ if (http_connection != null) {
+ http_connection.onreadystatechange = onLoadMaintainer;
+ }
+}
+
+// handler for data received
+// text field to set should be similar to
+// <input name="assigned_to" id="assigned_to" />
+function onLoadMaintainer() {
+ var field_obj;
+
+ if ((http_connection.readyState == 4) && (http_connection.status == 200)) {
+ if ((http_connection.responseText != null) && (http_connection.responseText != 'NOT_FOUND')) {
+ if ((field_obj = document.getElementById('assigned_to')) != null) {
+ field_obj.value = http_connection.responseText;
+ }
+ }
+ } else {
+ // by default, we'll leave form value alone and don't do anything else
+ // this is a good place to set a default or show an error, though
+ }
+}
+
+// handler for when user enters a package
+// text field to set should be similar to
+// <input name="cf_rpmpkg" onchange="onChangePackage(this)" />
+function onChangePackage(input_obj) {
+ initHttpConnection();
+
+ if ((http_connection != null) && (input_obj.value != "")) {
+ http_connection.open("GET", '/lookup.php?pkg=' + encodeURIComponent(input_obj.value));
+ http_connection.send(null);
+ }
+};
+
+
+-->
+</script>
+
+<p>&nbsp;&nbsp;&nbsp;Submit [% terms.abug %] using the
+<a href="enter_bug.cgi?product=[% product.name FILTER html %]">expert [% terms.bug %] form</a>.</p>
+
+
+<form name="Create" id="Create" method="post" action="post_bug.cgi">
+ <input type="hidden" name="format" value="guided">
+ <input type="hidden" name="priority"
+ value="[% default.priority FILTER html %]">
+ <input type="hidden" name="token" value="[% token FILTER html %]">
+ <input type="hidden" name="op_sys" value="[% Param('defaultopsys') FILTER html %]">
+
+<table valign="top" cellpadding="5" cellspacing="5" border="0">
+
+ <tr>
+ <td align="right" valign="top" bgcolor="[% tablecolour %]" width="10%">
+ <b>Product:</b>
+ </td>
+ <td valign="top">
+ <input type="hidden" name="product" value="[% product.name FILTER html %]">
+ <b>[% product.name FILTER html %]</b>
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right" valign="top" bgcolor="[% tablecolour %]">
+ <b>Component:</b>
+ </td>
+ <td valign="top">
+ <table border="0" cellpadding="0" cellspacing="0">
+ <tr>
+ <td valign="top">
+ <select name="component" id="component"
+ size="5" onchange="PutDescription();">
+ [% IF NOT default.component_ %]
+ [%# Various b.m.o. products have a "General" component,
+ which is a useful default. %]
+ [% default.component_ = "General" %]
+ [% END %]
+ [% FOREACH c = product.components %]
+ <option value="[% c.name FILTER html %]"
+ [% " selected=\"selected\"" IF c.name == default.component_ %]>
+ [% c.name FILTER html %]
+ </option>
+ [% END %]
+ </select>
+ </td>
+ <td valign="top" width="100%">
+ <div id="description" style="color: green; margin-left: 10px;
+ height: 5em; overflow: auto;">
+ <script type="text/javascript">
+ if ((document.getElementById) && (document.body.innerHTML)) {
+ document.write("\
+ Select a component to see its description here.");
+ }
+ </script>
+ </div>
+ </td>
+ </tr>
+ </table>
+
+ <p>
+ The area where the problem occurs.
+ To pick the right component, you could use the same one as
+ similar [% terms.bugs %] you found in your search, or read the full list of
+ <a target="_blank" href="describecomponents.cgi?product=
+ [% product.name FILTER uri %]">component
+ descriptions</a> (opens in new window) if you need more help.
+ </p>
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right" valign="top" bgcolor="[% tablecolour %]">
+ <b>Version:</b>
+ </td>
+ <td valign="top">
+ <select name="version" size="5">
+ [%- FOREACH v = version %]
+ <option value="[% v.name FILTER html %]"
+ [% " selected=\"selected\"" IF v == default.version %]>[% v.name FILTER html %]
+ </option>
+ [% END %]
+ </select>
+ </td>
+ </tr>
+
+ [%# We override rep_platform and op_sys for simplicity. The values chosen
+ are based on which are most common in the b.m.o database %]
+ [% rep_platform = [ "All", "i586", "x86_64" ] %]
+
+ <tr>
+ <td align="right" valign="top" bgcolor="[% tablecolour %]">
+ <b>Hardware Platform:</b>
+ </td>
+ <td valign="top">
+ [% PROCESS select sel = 'rep_platform' %]
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right" valign="top" bgcolor="[% tablecolour %]">
+ <b>Source RPM:</b>
+ </td>
+ <td valign="top">
+ <input type="text" size="80" name="cf_rpmpkg" value="" onchange="onChangePackage(this)">
+ <p>
+ This is where you can identify exactly which RPM package is involved in this [% terms.bug %] report. For instance,
+ if you know the problem you are having is with the program <tt>mysqld</tt>, then execute
+ <tt>rpm -qif /usr/sbin/mysqld</tt>. This will tell you the name and version of the RPM
+ package (i.e. MySQL-5.0.27-1mga1) as well as other information. In particular, you are looking for
+ the "Source RPM" field (i.e. MySQL-5.0.27-1mga1.src.rpm) -- this is the information you should
+ provide here. Alternatively, you may use <tt>rpm -qf /usr/sbin/mysqld --qf '%{SOURCERPM}\n'</tt> to
+ obtain the information. If you do not know the location of the program in question, use <tt>rpm -qf `which mysqld`</tt>
+ to obtain it. Please enter that information above.
+ </p>
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right" valign="top" bgcolor="[% tablecolour %]">
+ <b>URL:</b>
+ </td>
+ <td valign="top">
+ <input type="text" size="80" name="bug_file_loc" value="http://">
+ <p>
+ URL that demonstrates the problem you are submitting (optional).
+ </p>
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right" valign="top" bgcolor="[% tablecolour %]">
+ <b>Summary:</b>
+ </td>
+ <td valign="top">
+ <input type="text" size="80" name="short_desc" id="short_desc"
+ maxlength="255" spellcheck="true">
+ <p>
+ A sentence that summarizes the problem.
+ Please be descriptive and use lots of keywords.
+ </p>
+ <p>
+ <tt>
+ <font color="#990000">Bad example</font>: mail crashed
+ </tt>
+ <br>
+ <tt>
+ <font color="#009900">Good example</font>:
+ crash in Evolution while checking for new POP mail
+ </tt>
+ </p>
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right" valign="top" bgcolor="[% tablecolour %]">
+ <b>Details:</b>
+ </td>
+ <td valign="top">
+ [% INCLUDE global/textarea.html.tmpl
+ name = 'comment'
+ minrows = 10
+ maxrows = 25
+ cols = constants.COMMENT_COLS
+ defaultcontent = "Description of problem:\n\n\nVersion-Release number of selected component (if applicable):\n\n\nHow reproducible:\n\n\nSteps to Reproduce:\n1.\n2.\n3.\n"
+ %]
+ [% IF user.is_insider %]
+ <br>&nbsp;&nbsp;
+ <input type="checkbox" id="comment_is_private" name="comment_is_private"
+ [% ' checked="checked"' IF comment_is_private %]>
+ <label for="comment_is_private">Initial Description is Private</label>
+ [% END %]
+
+ <p>
+ Expand on the Summary. Please be
+ as specific as possible about what is wrong.
+ </p>
+ <p>
+ <tt>
+ <font color="#990000">Bad example</font>: I can't seem to login to the system. Please help!
+ </tt>
+ <br>
+ <tt>
+ <font color="#009900">Good example</font>:<br /><br />
+ Description of problem:<br /><br />
+ I'm unable to login to the system via ssh. The /var/log/messages
+ log indicates there is a problem with the pam module pam_ldap, but the /etc/pam.d/system-auth file doesn't
+ contain that module and I'm not using LDAP. I looked at /etc/pam.d/sshd and it does contain that module but I'm
+ not sure how it got there, unless it was due to the super-spiffy super-ldap-mojo package I installed yesterday. <br /><br />
+ Version-Release number of selected component (if applicable):<br /><br />
+ openldap-2.3.34-5mga1, pam-0.99.7.1-2mga1<br /><br />
+ How reproducible:<br /><br />
+ Every time I attempt to login.<br /><br />
+ Steps to Reproduce:<br />
+ 1. ssh user@host<br />
+ 2. see the rejection<br />
+ </tt>
+ </p>
+ </td>
+ </tr>
+
+ <tr>
+ <td valign="top" align="right" bgcolor="[% tablecolour %]">
+ <b>Severity:</b>
+ </td>
+ <td valign="top">
+ <select name="bug_severity">
+ <option name="critical" value="critical">
+ Critical: The software crashes, hangs, or causes you to
+ lose data.
+ </option>
+ <option name="major" value="major">
+ Major: A major feature is broken.
+ </option>
+ <option name="normal" value="normal" selected="selected">
+ Normal: It's [% terms.abug %] that should be fixed.
+ </option>
+ <option name="minor" value="minor">
+ Minor: Minor loss of function, and there's an easy workaround.
+ </option>
+ <option name="enhancement" value="enhancement">
+ Enhancement: Request for new feature or enhancement.
+ </option>
+ </select>
+ <p>
+ Indicate how serious the problem is, or if your [% terms.bug %] is a
+ request for a new feature.
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top" align="right" bgcolor="[% tablecolour %]">
+ <b>Assign To:</b>
+ </td>
+ <td valign="top">
+ [% INCLUDE global/userselect.html.tmpl
+ id => "assigned_to"
+ name => "assigned_to"
+ value => ""
+ emptyok => 1
+ size => 32
+ %]
+ <p>Leave the above blank to assign to the default component owner.</p>
+ </td>
+ </tr>
+
+ [% Hook.process('form') %]
+</table>
+
+<p>
+ <input type="submit" id="report" value=" Submit [% terms.Bug %] Report "
+ onclick="if (this.form.comment.value == 'Description of problem:\n\n\nVersion-Release number of selected component (if applicable):\n\n\nHow reproducible:\n\n\nSteps to Reproduce:\n1.\n2.\n3.\n')
+ { alert('Please enter some details about this [% terms.bug %].');
+ this.form.comment.focus();
+ return false; } return true;">
+</p>
+
+<p>
+ That's it! Thanks very much. You'll be notified by email about any
+ progress that is made on fixing your [% terms.bug %].
+ Thank you for choosing Mageia!
+</p>
+ </form>
+
+[% PROCESS global/footer.html.tmpl %]
+
+[%############################################################################%]
+[%# Block for SELECT fields #%]
+[%############################################################################%]
+
+[% BLOCK select %]
+ <select name="[% sel %]">
+ [%- IF default.$sel %]
+ <option value="[% default.$sel FILTER html %]" selected="selected">
+ [% default.$sel FILTER html -%]
+ </option>
+ [% END %]
+ [%- FOREACH x = $sel %]
+ [% NEXT IF x == default.$sel %]
+ <option value="[% x FILTER html %]">
+ [% x FILTER html -%]
+ </option>
+ [%- END %]
+ </select>
+[% END %]