From 6d154983302359ba9d38e1ff659c580853f68c2d Mon Sep 17 00:00:00 2001 From: "mkanat%bugzilla.org" <> Date: Wed, 23 Aug 2006 05:52:10 +0000 Subject: Bug 349555: Move dependency validation from post_bug into Bugzilla::Bug Patch By Max Kanat-Alexander r=bkor, a=justdave --- post_bug.cgi | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) (limited to 'post_bug.cgi') diff --git a/post_bug.cgi b/post_bug.cgi index dab0ba507..f90585020 100755 --- a/post_bug.cgi +++ b/post_bug.cgi @@ -227,26 +227,8 @@ my @keyword_ids = @{Bugzilla::Bug::_check_keywords($cgi->param('keywords'))}; Bugzilla::Bug::_check_strict_isolation($product, $cc_ids, $cgi->param('assigned_to'), $cgi->param('qa_contact')); -# Check for valid dependency info. -foreach my $field ("dependson", "blocked") { - if (UserInGroup("editbugs") && $cgi->param($field)) { - my @validvalues; - foreach my $id (split(/[\s,]+/, $cgi->param($field))) { - next unless $id; - # $field is not passed to ValidateBugID to prevent adding new - # dependencies on inaccessible bugs. - ValidateBugID($id); - push(@validvalues, $id); - } - $cgi->param(-name => $field, -value => join(",", @validvalues)); - } -} -# Gather the dependency list, and make sure there are no circular refs -my %deps; -if (UserInGroup("editbugs")) { - %deps = Bugzilla::Bug::ValidateDependencies(scalar($cgi->param('dependson')), - scalar($cgi->param('blocked'))); -} +my ($depends_on_ids, $blocks_ids) = Bugzilla::Bug::_check_dependencies( + scalar $cgi->param('dependson'), scalar $cgi->param('blocked')); # get current time my $timestamp = $dbh->selectrow_array(q{SELECT NOW()}); @@ -415,6 +397,7 @@ if (UserInGroup("editbugs")) { WHERE bug_id = ?}, undef, ($timestamp, $kw_list, $id)); } if ($cgi->param('dependson') || $cgi->param('blocked')) { + my %deps = (dependson => $depends_on_ids, blocked => $blocks_ids); foreach my $pair (["blocked", "dependson"], ["dependson", "blocked"]) { my ($me, $target) = @{$pair}; my $sth_dep = $dbh->prepare(qq{ -- cgit v1.2.3-24-g4f1b