]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 349558: Move validations of global enum fields from post_bug into Bugzilla::Bug
authormkanat%bugzilla.org <>
Wed, 23 Aug 2006 05:30:27 +0000 (05:30 +0000)
committermkanat%bugzilla.org <>
Wed, 23 Aug 2006 05:30:27 +0000 (05:30 +0000)
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=bkor, a=justdave

Bugzilla/Bug.pm
post_bug.cgi

index 9c9e2828d9040954242015c7002188fc4d2d1002..406e70aca4c755553094b35a0926960985ee1486 100755 (executable)
@@ -262,6 +262,13 @@ sub _check_bug_file_loc {
     return $url;
 }
 
+sub _check_bug_severity {
+    my ($severity) = @_;
+    $severity = trim($severity);
+    check_field('bug_severity', $severity);
+    return $severity;
+}
+
 sub _check_bug_status {
     my ($status, $product) = @_;
     my $user = Bugzilla->user;
@@ -363,6 +370,31 @@ sub _check_product {
     return $obj;
 }
 
+sub _check_op_sys {
+    my ($op_sys) = @_;
+    $op_sys = trim($op_sys);
+    check_field('op_sys', $op_sys);
+    return $op_sys;
+}
+
+sub _check_priority {
+    my ($priority) = @_;
+    if (!Bugzilla->params->{'letsubmitterchoosepriority'}) {
+        $priority = Bugzilla->params->{'defaultpriority'};
+    }
+    $priority = trim($priority);
+    check_field('priority', $priority);
+
+    return $priority;
+}
+
+sub _check_rep_platform {
+    my ($platform) = @_;
+    $platform = trim($platform);
+    check_field('rep_platform', $platform);
+    return $platform;
+}
+
 sub _check_short_desc {
     my ($short_desc) = @_;
     # Set the parameter to itself, but cleaned up
index 33e58f182506421a653ff8e54c51ae426c07e52b..ec44f6c48cc1e0c3a9244416966adb50d8d86279 100755 (executable)
@@ -191,15 +191,16 @@ if (!defined $cgi->param('target_milestone')) {
     $cgi->param(-name => 'target_milestone', -value => $product->default_milestone);
 }
 
-if (!Bugzilla->params->{'letsubmitterchoosepriority'}) {
-    $cgi->param(-name => 'priority', -value => Bugzilla->params->{'defaultpriority'});
-}
-
 # Some more sanity checking
-check_field('rep_platform', scalar $cgi->param('rep_platform'));
-check_field('bug_severity', scalar $cgi->param('bug_severity'));
-check_field('priority',     scalar $cgi->param('priority'));
-check_field('op_sys',       scalar $cgi->param('op_sys'));
+$cgi->param(-name => 'priority', -value => Bugzilla::Bug::_check_priority(
+    $cgi->param('priority')));
+$cgi->param(-name  => 'rep_platform', 
+    -value => Bugzilla::Bug::_check_rep_platform($cgi->param('rep_platform')));
+$cgi->param(-name => 'bug_severity', 
+    -value => Bugzilla::Bug::_check_bug_severity($cgi->param('bug_severity')));
+$cgi->param(-name => 'op_sys', -value => Bugzilla::Bug::_check_op_sys(
+    $cgi->param('op_sys')));
 check_field('version',      scalar $cgi->param('version'),
             [map($_->name, @{$product->versions})]);
 check_field('target_milestone', scalar $cgi->param('target_milestone'),