diff --git a/mozilla/webtools/testopia/template/en/default/testopia/case/form.html.tmpl b/mozilla/webtools/testopia/template/en/default/testopia/case/form.html.tmpl index da5a689e081..430d549ff34 100644 --- a/mozilla/webtools/testopia/template/en/default/testopia/case/form.html.tmpl +++ b/mozilla/webtools/testopia/template/en/default/testopia/case/form.html.tmpl @@ -97,7 +97,9 @@ Arguments: - + + Add to Runs + [% IF action == "Add" %] diff --git a/mozilla/webtools/testopia/tr_new_case.cgi b/mozilla/webtools/testopia/tr_new_case.cgi index b64e8f92bec..0c464421c38 100755 --- a/mozilla/webtools/testopia/tr_new_case.cgi +++ b/mozilla/webtools/testopia/tr_new_case.cgi @@ -125,6 +125,11 @@ if ($action eq 'Add'){ validate_selection($id, 'id', 'components'); push @components, $id; } + my @runs; + foreach my $runid (split(/[\s,]+/, $cgi->param('addruns'))){ + validate_test_id($runid, 'run'); + push @runs, Bugzilla::Testopia::TestRun->new($runid); + } my $case = Bugzilla::Testopia::TestCase->new({ 'alias' => $alias || undef, @@ -179,6 +184,9 @@ if ($action eq 'Add'){ $case->add_tag($tag_id); } } + foreach my $run (@runs){ + $run->add_case_run($case->id); + } $vars->{'action'} = "Commit"; $vars->{'form_action'} = "tr_show_case.cgi"; diff --git a/mozilla/webtools/testopia/tr_show_case.cgi b/mozilla/webtools/testopia/tr_show_case.cgi index 655038c74bd..eed54effd63 100755 --- a/mozilla/webtools/testopia/tr_show_case.cgi +++ b/mozilla/webtools/testopia/tr_show_case.cgi @@ -349,6 +349,11 @@ sub do_update{ ValidateBugID($bug); push @buglist, $bug; } + my @runs; + foreach my $runid (split(/[\s,]+/, $cgi->param('addruns'))){ + validate_test_id($runid, 'run'); + push @runs, Bugzilla::Testopia::TestRun->new($runid); + } ThrowUserError('testiopia-alias-exists', {'alias' => $alias}) if $case->check_alias($alias); @@ -385,6 +390,10 @@ sub do_update{ foreach my $bug (@buglist){ $case->attach_bug($bug); } + # Add to runs + foreach my $run (@runs){ + $run->add_case_run($case->id); + } $cgi->delete_all; $cgi->param('case_id', $case->id); }