diff --git a/src/lib/Hydra/Controller/Jobset.pm b/src/lib/Hydra/Controller/Jobset.pm index 00fbf4ef..29e7418e 100644 --- a/src/lib/Hydra/Controller/Jobset.pm +++ b/src/lib/Hydra/Controller/Jobset.pm @@ -132,7 +132,11 @@ sub submit : Chained('jobset') PathPart Args(0) { requirePost($c); if (($c->request->params->{submit} // "") eq "delete") { - $c->stash->{jobset}->delete; + txn_do($c->model('DB')->schema, sub { + $c->stash->{jobset}->jobsetevals->delete_all; + $c->stash->{jobset}->builds->delete_all; + $c->stash->{jobset}->delete; + }); return $c->res->redirect($c->uri_for($c->controller('Project')->action_for("view"), [$c->stash->{project}->name])); } diff --git a/src/lib/Hydra/Controller/Project.pm b/src/lib/Hydra/Controller/Project.pm index 79de53a3..84516473 100644 --- a/src/lib/Hydra/Controller/Project.pm +++ b/src/lib/Hydra/Controller/Project.pm @@ -46,7 +46,11 @@ sub submit : Chained('project') PathPart Args(0) { requirePost($c); if (($c->request->params->{submit} // "") eq "delete") { - $c->stash->{project}->delete; + txn_do($c->model('DB')->schema, sub { + $c->stash->{project}->jobsetevals->delete_all; + $c->stash->{project}->builds->delete_all; + $c->stash->{project}->delete; + }); return $c->res->redirect($c->uri_for("/")); }