From 26f9cef39015907b9347bbdbd07c0bb35edb988e Mon Sep 17 00:00:00 2001 From: "bbaetz%student.usyd.edu.au" <> Date: Tue, 27 Aug 2002 16:35:05 +0000 Subject: Bug 161203 - Bug changes with intermediate pages munges fields with multiple values (e.g., CC) patch by "Randall M! Gee", r=bbaetz, myk --- CGI.pl | 1 + process_bug.cgi | 4 +++- template/en/default/account/login.html.tmpl | 2 ++ template/en/default/bug/process/confirm-duplicate.html.tmpl | 1 + template/en/default/bug/process/midair.html.tmpl | 1 + .../en/default/bug/process/verify-new-product.html.tmpl | 1 + template/en/default/global/hidden-fields.html.tmpl | 13 +++++++++++-- 7 files changed, 20 insertions(+), 3 deletions(-) diff --git a/CGI.pl b/CGI.pl index 69819263a..836788c17 100644 --- a/CGI.pl +++ b/CGI.pl @@ -787,6 +787,7 @@ Content-type: text/html $vars->{'target'} = $nexturl; $vars->{'form'} = \%::FORM; + $vars->{'mform'} = \%::MFORM; print "Content-type: text/html\n\n"; $template->process("account/login.html.tmpl", $vars) diff --git a/process_bug.cgi b/process_bug.cgi index a34616058..45d8ba1dd 100755 --- a/process_bug.cgi +++ b/process_bug.cgi @@ -41,7 +41,6 @@ use RelationSet; use vars qw(%versions %components %COOKIE - %MFORM %legal_opsys %legal_platform %legal_priority @@ -204,6 +203,7 @@ if ((($::FORM{'id'} && $::FORM{'product'} ne $::oldproduct) # a verification form. if (!$vok || !$cok || !$mok || (Param('usebuggroups') && !defined($::FORM{'addtonewgroup'}))) { $vars->{'form'} = \%::FORM; + $vars->{'mform'} = \%::MFORM; if (!$vok || !$cok || !$mok) { $vars->{'verify_fields'} = 1; @@ -359,6 +359,7 @@ sub DuplicateUserConfirm { # ask the duper what he/she wants to do. $vars->{'form'} = \%::FORM; + $vars->{'mform'} = \%::MFORM; $vars->{'original_bug_id'} = $original; $vars->{'duplicate_bug_id'} = $dupe; @@ -1014,6 +1015,7 @@ foreach my $id (@idlist) { $::FORM{'delta_ts'} = $delta_ts; $vars->{'form'} = \%::FORM; + $vars->{'mform'} = \%::MFORM; $vars->{'bug_id'} = $id; $vars->{'quoteUrls'} = \"eUrls; diff --git a/template/en/default/account/login.html.tmpl b/template/en/default/account/login.html.tmpl index b1f2377e5..29b5b1aee 100644 --- a/template/en/default/account/login.html.tmpl +++ b/template/en/default/account/login.html.tmpl @@ -22,6 +22,8 @@ [%# INTERFACE: # target: string. URL to go to after login. # form: hash; the form values which need to be submitted to the target script + # mform: hash; the form values with multiple values which need to be + # submitted to the target script #%] [% PROCESS global/header.html.tmpl diff --git a/template/en/default/bug/process/confirm-duplicate.html.tmpl b/template/en/default/bug/process/confirm-duplicate.html.tmpl index ff8721653..22ae57b75 100644 --- a/template/en/default/bug/process/confirm-duplicate.html.tmpl +++ b/template/en/default/bug/process/confirm-duplicate.html.tmpl @@ -21,6 +21,7 @@ [%# INTERFACE: # form: hash; the form values submitted to the script + # mform: hash; the form multi-values submitted to the script # original_bug_id: number; the bug number for the bug # against which a bug is being duped # duplicate_bug_id: number; the bug number for the bug diff --git a/template/en/default/bug/process/midair.html.tmpl b/template/en/default/bug/process/midair.html.tmpl index 24766aa04..6305c11e4 100644 --- a/template/en/default/bug/process/midair.html.tmpl +++ b/template/en/default/bug/process/midair.html.tmpl @@ -21,6 +21,7 @@ [%# INTERFACE: # form: hash; the form values submitted to the script + # mform: hash; the form multi-values submitted to the script # operations: array; bug activity since the user last displayed the bug form, # used by bug/activity/table.html.tmpl to display recent changes that will # be overwritten if the user submits these changes. See that template diff --git a/template/en/default/bug/process/verify-new-product.html.tmpl b/template/en/default/bug/process/verify-new-product.html.tmpl index 21c5664b8..77a2ab762 100644 --- a/template/en/default/bug/process/verify-new-product.html.tmpl +++ b/template/en/default/bug/process/verify-new-product.html.tmpl @@ -21,6 +21,7 @@ [%# INTERFACE: # form: hash; the form values submitted to the script + # mform: hash; the form multi-values submitted to the script # verify_fields: boolean; whether or not to verify # the version, component, and target milestone fields # versions: array; versions for the new product. diff --git a/template/en/default/global/hidden-fields.html.tmpl b/template/en/default/global/hidden-fields.html.tmpl index e622e7b90..f968fab20 100644 --- a/template/en/default/global/hidden-fields.html.tmpl +++ b/template/en/default/global/hidden-fields.html.tmpl @@ -21,6 +21,8 @@ [%# INTERFACE: # form: hash; the form fields/values for which to generate hidden fields. + # mform: hash; the form fields/values with multiple values for which to + # generate hidden fields. # exclude: string; a regular expression matching fields to exclude # from the list of hidden fields generated by this template #%] @@ -28,6 +30,13 @@ [%# Generate hidden form fields for non-excluded fields. %] [% FOREACH field = form %] [% NEXT IF exclude && field.key.search(exclude) %] - + [% IF mform.${field.key}.size > 1 %] + [% FOREACH mvalue = mform.${field.key} %] + + [% END %] + [% ELSE %] + + [% END %] [% END %] -- cgit v1.2.3-24-g4f1b