summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xenter_bug.cgi29
-rw-r--r--template/en/default/bug/create/create.html.tmpl40
2 files changed, 34 insertions, 35 deletions
diff --git a/enter_bug.cgi b/enter_bug.cgi
index a13515f3d..afaffd752 100755
--- a/enter_bug.cgi
+++ b/enter_bug.cgi
@@ -52,7 +52,6 @@ use Bugzilla::Token;
use Bugzilla::Field;
use Bugzilla::Status;
use Bugzilla::UserAgent;
-use JSON::XS qw(encode_json);
my $user = Bugzilla->login(LOGIN_REQUIRED);
@@ -439,33 +438,7 @@ my $format = $template->get_format("bug/create/create",
scalar $cgi->param('format'),
scalar $cgi->param('ctype'));
-my %data;
-my $count = 0;
-foreach my $c (@{ $product->components }) {
- next if not $c->is_active;
- $data{components}[$count] = $c->name;
- $data{comp_desc}[$count] = $c->description;
- $data{initialowners}[$count] = $c->default_assignee->login;
- my @flag_list;
- foreach my $f (@{ $c->flag_types->{bug} }) {
- push @flag_list, $f->id;
- }
- foreach my $f (@{ $c->flag_types->{attachment} }) {
- push @flag_list, $f->id;
- }
- $data{flags}[$count] = \@flag_list;
- $count++;
- if (Bugzilla->params->{'useqacontact'}) {
- $data{initialqacontacts}[$count] = $c->default_qa_contact->login;
- }
- my @initial_cc_list;
- foreach my $cc_user (@{ $c->initial_cc }) {
- push @initial_cc_list, $cc_user->login;
- }
- $data{initialccs}[$count] = join(', ', @initial_cc_list);
-}
-$vars->{data} = encode_json(\%data);
print $cgi->header($format->{'ctype'});
$template->process($format->{'template'}, $vars)
- || ThrowTemplateError($template->error());
+ || ThrowTemplateError($template->error());
diff --git a/template/en/default/bug/create/create.html.tmpl b/template/en/default/bug/create/create.html.tmpl
index 4103c16dc..ba5d08273 100644
--- a/template/en/default/bug/create/create.html.tmpl
+++ b/template/en/default/bug/create/create.html.tmpl
@@ -63,17 +63,43 @@ function initCrashSignatureField() {
'cf_crash_signature_action', 'cf_crash_signature');
[% END %]
}
-var data = JSON.parse('[% data FILTER js %]');
-var initialowners = data["initialowners"];
+
+var initialowners = new Array([% product.components.size %]);
var last_initialowner;
-var initialccs = data["initialccs"];
-var components = data["components"];
-var comp_desc = data["comp_desc"];
-var flags = data["flags"];
+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 = data["initialqacontacts"];
+ 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.bug %]
+ [% flag_list.push(f.id) %]
+ [% END %]
+ [% FOREACH f = c.flag_types.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