MT#5255 API: prevent DELETE of used contact

agranig/rest
Andreas Granig 12 years ago
parent a6c3ecb580
commit a135c00190

@ -323,7 +323,15 @@ sub DELETE :Allow {
{
my $contact = $self->contact_by_id($c, $id);
last unless $self->resource_exists($c, contact => $contact);
$contact->delete;
my $contract_count = $c->model('DB')->resultset('contracts')->search({
contact_id => $id
});
if($contract_count > 0) {
$self->error($c, HTTP_LOCKED, "Contact is still in use.");
last;
} else {
$contact->delete;
}
$guard->commit;
$c->cache->remove($c->request->uri->canonical->as_string);

@ -244,6 +244,9 @@ my @allcontacts = ();
$res = $ua->request($req);
ok($res->code == 204, "check delete of contact");
}
$req = HTTP::Request->new('DELETE', $uri.'/api/contacts/1');
$res = $ua->request($req);
ok($res->code == 423, "check delete of used contact");
}
done_testing;

Loading…
Cancel
Save