From f3ce4789d674b09f0539b82a9cfd144151cd7372 Mon Sep 17 00:00:00 2001 From: "ccooper%deadsquid.com" Date: Tue, 14 Nov 2006 21:32:07 +0000 Subject: [PATCH] - fix check for testcase ID --- webtools/litmus/show_test.cgi | 174 +++++++++++++++++----------------- 1 file changed, 85 insertions(+), 89 deletions(-) diff --git a/webtools/litmus/show_test.cgi b/webtools/litmus/show_test.cgi index a384863cf76d..1e91b80a90b8 100755 --- a/webtools/litmus/show_test.cgi +++ b/webtools/litmus/show_test.cgi @@ -70,104 +70,100 @@ if (! $c->param) { exit; } -if ($c->param('searchType') eq 'by_id') { - if ($c->param("id")) { - my $testcase_id = $c->param("id"); +if ($c->param("id")) { + my $testcase_id = $c->param("id"); - # Process changes to testcases: - # Only users with canedit can edit testcases. - my @changed; - my $update_status = 0; - if ($c->param("editingTestcases") && - Litmus::Auth::canEdit(Litmus::Auth::getCookie())) { + # Process changes to testcases: + # Only users with canedit can edit testcases. + my @changed; + my $update_status = 0; + if ($c->param("editingTestcases") && + Litmus::Auth::canEdit(Litmus::Auth::getCookie())) { + # the editingTestcases param contains a comma-separated list of + # testcase IDs that the user has made changes to (well, has clicked + # the edit button for). + @changed = split(',' => $c->param("editingTestcases")); + foreach my $editid (@changed) { + my $edittest = Litmus::DB::Testcase->retrieve($editid); + if (! $edittest) {invalidInputError("Testcase $editid does not exist")} - # the editingTestcases param contains a comma-separated list of - # testcase IDs that the user has made changes to (well, has clicked - # the edit button for). - @changed = split(',' => $c->param("editingTestcases")); - foreach my $editid (@changed) { - my $edittest = Litmus::DB::Testcase->retrieve($editid); - if (! $edittest) {invalidInputError("Testcase $editid does not exist")} + $edittest->summary($c->param("summary_edit_$editid")); + my $product = Litmus::DB::Product->retrieve($c->param("product_$editid")); + requireField("product", $product); + $edittest->product($product); + $edittest->steps($c->param("steps_edit_$editid")); + $edittest->expected_results($c->param("results_edit_$editid")); - $edittest->summary($c->param("summary_edit_$editid")); - my $product = Litmus::DB::Product->retrieve($c->param("product_$editid")); - requireField("product", $product); - $edittest->product($product); - - $edittest->steps($c->param("steps_edit_$editid")); - $edittest->expected_results($c->param("results_edit_$editid")); - - if ($c->param("enabled_$editid")) { - $edittest->enabled(1); - if ($c->param("communityenabled_$editid")) { - $edittest->communityenabled(1); - } else { - $edittest->communityenabled(0); - } + if ($c->param("enabled_$editid")) { + $edittest->enabled(1); + if ($c->param("communityenabled_$editid")) { + $edittest->communityenabled(1); } else { - $edittest->enabled(0); $edittest->communityenabled(0); } - my $r_bug_id = $c->param("regression_bug_id_$editid"); - if ($r_bug_id eq '' or $r_bug_id eq '0') { - undef $r_bug_id; - } - $edittest->regression_bug_id($r_bug_id); - # $edittest->sort_order($c->param("sort_order_$editid")); - $edittest->author_id(Litmus::Auth::getCurrentUser()); - $edittest->last_updated(&Date::Manip::UnixDate("now","%q")); - $edittest->version($edittest->version()+1); - - $update_status = $edittest->update(); - - my $status = ""; - my $message = ""; - if ($update_status) { - $status = "success"; - $message = "Testcase ID# $editid updated successfully."; - } else { - $status = "failure"; - $message = "Unable to update testcase ID# $editid."; - } - $vars->{'onload'} = "toggleMessage('$status','$message');"; + } else { + $edittest->enabled(0); + $edittest->communityenabled(0); } - } elsif ($c->param("editingTestcases") && - ! Litmus::Auth::canEdit(Litmus::Auth::getCookie())) { - invalidInputError("You do not have permissions to edit testcases. "); + my $r_bug_id = $c->param("regression_bug_id_$editid"); + if ($r_bug_id eq '' or $r_bug_id eq '0') { + undef $r_bug_id; + } + $edittest->regression_bug_id($r_bug_id); + # $edittest->sort_order($c->param("sort_order_$editid")); + $edittest->author_id(Litmus::Auth::getCurrentUser()); + $edittest->last_updated(&Date::Manip::UnixDate("now","%q")); + $edittest->version($edittest->version()+1); + + $update_status = $edittest->update(); + + my $status = ""; + my $message = ""; + if ($update_status) { + $status = "success"; + $message = "Testcase ID# $editid updated successfully."; + } else { + $status = "failure"; + $message = "Unable to update testcase ID# $editid."; + } + $vars->{'onload'} = "toggleMessage('$status','$message');"; } - - my $testcase = Litmus::DB::Testcase->retrieve($testcase_id); - - if (! $testcase) { - invalidInputError("\"$testcase_id\" is not a valid testcase ID."); - } - - my @testgroups = Litmus::DB::Testgroup->search_EnabledByTestcase($testcase_id); - my @subgroups = Litmus::DB::Subgroup->search_EnabledByTestcase($testcase_id); - - my @result_statuses = Litmus::DB::ResultStatus->retrieve_all(); - - my $showallresults = $c->param("showallresults") || ""; - - my @where; - push @where, { field => 'testcase_id', value => $testcase_id }; - my @order_by; - push @order_by, { field => 'created', direction => 'DESC' }; - my $test_results = Litmus::DB::Testresult->getTestResults(\@where,\@order_by); - - $vars->{'testcase'} = $testcase; - $vars->{'sysconfig'} = Litmus::SysConfig->getCookie($testcase->product()); - $vars->{'testgroups'} = \@testgroups; - $vars->{'subgroups'} = \@subgroups; - $vars->{'result_statuses'} = \@result_statuses; - $vars->{'showallresults'} = $showallresults; - $vars->{'test_results'} = $test_results; - - Litmus->template()->process("show/show.html.tmpl", $vars) || - internalError(Litmus->template()->error()); - - exit; + } elsif ($c->param("editingTestcases") && + ! Litmus::Auth::canEdit(Litmus::Auth::getCookie())) { + invalidInputError("You do not have permissions to edit testcases. "); } + + my $testcase = Litmus::DB::Testcase->retrieve($testcase_id); + + if (! $testcase) { + invalidInputError("\"$testcase_id\" is not a valid testcase ID."); + } + + my @testgroups = Litmus::DB::Testgroup->search_EnabledByTestcase($testcase_id); + my @subgroups = Litmus::DB::Subgroup->search_EnabledByTestcase($testcase_id); + + my @result_statuses = Litmus::DB::ResultStatus->retrieve_all(); + + my $showallresults = $c->param("showallresults") || ""; + + my @where; + push @where, { field => 'testcase_id', value => $testcase_id }; + my @order_by; + push @order_by, { field => 'created', direction => 'DESC' }; + my $test_results = Litmus::DB::Testresult->getTestResults(\@where,\@order_by); + + $vars->{'testcase'} = $testcase; + $vars->{'sysconfig'} = Litmus::SysConfig->getCookie($testcase->product()); + $vars->{'testgroups'} = \@testgroups; + $vars->{'subgroups'} = \@subgroups; + $vars->{'result_statuses'} = \@result_statuses; + $vars->{'showallresults'} = $showallresults; + $vars->{'test_results'} = $test_results; + + Litmus->template()->process("show/show.html.tmpl", $vars) || + internalError(Litmus->template()->error()); + + exit; } if ($c->param('searchType') eq 'fulltext') {