From: bbaetz%student.usyd.edu.au <> Date: Tue, 27 Aug 2002 16:35:05 +0000 (+0000) Subject: Bug 161203 - Bug changes with intermediate pages munges fields with X-Git-Tag: bugzilla-2.17.1~164 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=26f9cef39015907b9347bbdbd07c0bb35edb988e;p=thirdparty%2Fbugzilla.git Bug 161203 - Bug changes with intermediate pages munges fields with multiple values (e.g., CC) patch by "Randall M! Gee", r=bbaetz, myk --- diff --git a/CGI.pl b/CGI.pl index 69819263a1..836788c172 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 a346160587..45d8ba1dde 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 b1f2377e5e..29b5b1aee2 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 ff87216536..22ae57b757 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 24766aa043..6305c11e40 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 21c5664b88..77a2ab7629 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 e622e7b900..f968fab200 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 %]