summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xenter_bug.cgi24
-rw-r--r--globals.pl3
-rw-r--r--template/en/default/bug/create/create.html.tmpl5
-rw-r--r--template/en/default/global/choose-product.html.tmpl5
-rw-r--r--template/en/default/list/list-simple.html.tmpl6
5 files changed, 34 insertions, 9 deletions
diff --git a/enter_bug.cgi b/enter_bug.cgi
index f2836a5fa..4b46b36d4 100755
--- a/enter_bug.cgi
+++ b/enter_bug.cgi
@@ -86,6 +86,7 @@ if (!defined $::FORM{'product'}) {
$vars->{'proddesc'} = \%products;
$vars->{'target'} = "enter_bug.cgi";
+ $vars->{'format'} = $::FORM{'format'};
$vars->{'title'} = "Enter Bug";
$vars->{'h2'} =
"First, you must pick a product on which to enter a bug.";
@@ -258,9 +259,23 @@ elsif (1 == @{$::components{$product}}) {
$::FORM{'component'} = $::components{$product}->[0];
}
+my @components;
+SendSQL("SELECT value, description FROM components " .
+ "WHERE program = " . SqlQuote($product) . " ORDER BY value");
+while (MoreSQLData()) {
+ my ($name, $description) = FetchSQLData();
+
+ my %component;
+
+ $component{'name'} = $name;
+ $component{'description'} = $description;
+
+ push @components, \%component;
+}
+
my %default;
-$vars->{'component_'} = $::components{$product};
+$vars->{'component_'} = \@components;
$default{'component_'} = formvalue('component');
$vars->{'assigned_to'} = formvalue('assigned_to');
@@ -359,7 +374,8 @@ if ($::usergroupset ne '0') {
$vars->{'default'} = \%default;
-print "Content-type: text/html\n\n";
-$template->process("bug/create/create.html.tmpl", $vars)
+my $format = ValidateOutputFormat($::FORM{'format'}, "create");
+
+print "Content-type: $format->{'contenttype'}\n\n";
+$template->process("bug/create/$format->{'template'}", $vars)
|| ThrowTemplateError($template->error());
-exit;
diff --git a/globals.pl b/globals.pl
index 4c93e800a..2fd047dd4 100644
--- a/globals.pl
+++ b/globals.pl
@@ -1750,6 +1750,9 @@ $::vars =
# SyncAnyPendingShadowChanges - called in the footer to sync the shadowdb
'SyncAnyPendingShadowChanges' => \&SyncAnyPendingShadowChanges ,
+
+ # User Agent - useful for detecting in templates
+ 'user_agent' => $ENV{'HTTP_USER_AGENT'} ,
};
1;
diff --git a/template/en/default/bug/create/create.html.tmpl b/template/en/default/bug/create/create.html.tmpl
index 5047a2131..ee60fdff3 100644
--- a/template/en/default/bug/create/create.html.tmpl
+++ b/template/en/default/bug/create/create.html.tmpl
@@ -78,8 +78,9 @@
<td>
<select name="component" size="5">
[%- FOREACH c = component_ %]
- <option value="[% c FILTER html %]"
- [% " selected=\"selected\"" IF c == default.component_ %]>[% c FILTER html -%]
+ <option value="[% c.name FILTER html %]"
+ [% " selected=\"selected\"" IF c.name == default.component_ %]>
+ [% c.name FILTER html -%]
</option>
[%- END %]
</select>
diff --git a/template/en/default/global/choose-product.html.tmpl b/template/en/default/global/choose-product.html.tmpl
index df7e0fb48..7bd27ffc8 100644
--- a/template/en/default/global/choose-product.html.tmpl
+++ b/template/en/default/global/choose-product.html.tmpl
@@ -27,8 +27,9 @@
[% FOREACH p = proddesc.keys.sort %]
<tr>
<th align="right" valign="top">
- <a href="[% target %]?product=[% p FILTER url_quote %]">
- [% p FILTER html %]</a>:
+ <a href="[% target %]?product=[% p FILTER url_quote %]
+ [%- "&amp;format=$format" IF format %]">
+ [% p FILTER html %]</a>:
</th>
[% IF proddesc.$p %]
diff --git a/template/en/default/list/list-simple.html.tmpl b/template/en/default/list/list-simple.html.tmpl
index 3dd6656d2..b8d8241a3 100644
--- a/template/en/default/list/list-simple.html.tmpl
+++ b/template/en/default/list/list-simple.html.tmpl
@@ -39,7 +39,11 @@
</head>
<body>
- [% PROCESS list/table.html.tmpl %]
+ [% IF bugs.size == 0 %]
+ <h3>Zarro Boogs found.</h3>
+ [% ELSE %]
+ [% PROCESS list/table.html.tmpl %]
+ [% END %]
</body>
</html>