diff options
Diffstat (limited to 'process_bug.cgi')
-rwxr-xr-x | process_bug.cgi | 60 |
1 files changed, 31 insertions, 29 deletions
diff --git a/process_bug.cgi b/process_bug.cgi index 336ddafe9..072adef4f 100755 --- a/process_bug.cgi +++ b/process_bug.cgi @@ -127,6 +127,33 @@ if ( Param("strictvaluechecks") ) { ConnectToDatabase(); +# +# This function checks if there is a comment required for a specific +# function and tests, if the comment was given. +# If comments are required for functions is defined by params. +# +sub CheckonComment( $ ) { + my ($function) = (@_); + + # Param is 1 if comment should be added ! + my $ret = Param( "commenton" . $function ); + + # Allow without comment in case of undefined Params. + $ret = 0 unless ( defined( $ret )); + + if( $ret ) { + if (!defined $::FORM{'comment'} || $::FORM{'comment'} =~ /^\s*$/) { + # No comment - sorry, action not allowed ! + PuntTryAgain("You have to specify a <b>comment</b> on this " . + "change. Please give some words " . + "on the reason for your change."); + } else { + $ret = 0; + } + } + return( ! $ret ); # Return val has to be inverted +} + # Figure out whether or not the user is trying to change the product # (either the "product" variable is not set to "don't change" or the # user is changing a single bug and has changed the bug's product), @@ -136,8 +163,10 @@ if ( $::FORM{'id'} ) { SendSQL("SELECT product FROM bugs WHERE bug_id = $::FORM{'id'}"); $::oldproduct = FetchSQLData(); } -if ( ($::FORM{'id'} && $::FORM{'product'} ne $::oldproduct) - || (!$::FORM{'id'} && $::FORM{'product'} ne $::dontchange) ) { +if ((($::FORM{'id'} && $::FORM{'product'} ne $::oldproduct) + || (!$::FORM{'id'} && $::FORM{'product'} ne $::dontchange)) + && CheckonComment( "reassignbycomponent" )) +{ if ( Param("strictvaluechecks") ) { CheckFormField(\%::FORM, 'product', \@::legal_product); } @@ -513,33 +542,6 @@ sub ChangeResolution { } } -# -# This function checks if there is a comment required for a specific -# function and tests, if the comment was given. -# If comments are required for functions is defined by params. -# -sub CheckonComment( $ ) { - my ($function) = (@_); - - # Param is 1 if comment should be added ! - my $ret = Param( "commenton" . $function ); - - # Allow without comment in case of undefined Params. - $ret = 0 unless ( defined( $ret )); - - if( $ret ) { - if (!defined $::FORM{'comment'} || $::FORM{'comment'} =~ /^\s*$/) { - # No comment - sorry, action not allowed ! - PuntTryAgain("You have to specify a <b>comment</b> on this " . - "change. Please give some words " . - "on the reason for your change."); - } else { - $ret = 0; - } - } - return( ! $ret ); # Return val has to be inverted -} - # Changing this so that it will process groups from checkboxes instead of # select lists. This means that instead of looking for the bit-X values in # the form, we need to loop through all the bug groups this user has access |