MT#6195 API: rewriterule/rewriteruleset: DELETE

and remove some redundant checks (done by formhandler)
agranig/selfsignup
Gerhard Jungwirth 11 years ago
parent 31e6c5fa71
commit 6f368e820f

@ -169,6 +169,28 @@ sub PUT :Allow {
return;
}
sub DELETE :Allow {
my ($self, $c, $id) = @_;
my $guard = $c->model('DB')->txn_scope_guard;
{
my $ruleset = $self->item_by_id($c, $id, "rulesets");
last unless $self->resource_exists($c, ruleset => $ruleset);
try {
$ruleset->voip_rewrite_rules->delete;
$ruleset->delete;
} catch($e) {
$c->log->error("Failed to delete rewriteruleset with id '$id': $e");
$self->error($c, HTTP_INTERNAL_SERVER_ERROR, "Internal Server Error");
last;
}
$guard->commit;
$c->response->status(HTTP_NO_CONTENT);
$c->response->body(q());
}
return;
}
sub end : Private {
my ($self, $c) = @_;

@ -161,14 +161,6 @@ sub POST :Allow {
);
last unless $resource;
unless($resource->{direction} && ($resource->{direction} eq "in" || $resource->{direction} eq "out") ) {
$self->error($c, HTTP_UNPROCESSABLE_ENTITY, "Invalid 'direction', must be 'in' or 'out'.");
last;
}
unless($resource->{field} && ($resource->{field} eq "callee" || $resource->{field} eq "caller") ) {
$self->error($c, HTTP_UNPROCESSABLE_ENTITY, "Invalid 'field', must be 'callee' or 'caller'.");
last;
}
my $set_id = delete $resource->{set_id}; # keep this, cause formhandler doesn't know it
my $form = $self->get_form($c);

@ -169,6 +169,27 @@ sub PUT :Allow {
return;
}
sub DELETE :Allow {
my ($self, $c, $id) = @_;
my $guard = $c->model('DB')->txn_scope_guard;
{
my $rule = $self->item_by_id($c, $id, "rules");
last unless $self->resource_exists($c, rule => $rule);
try {
$rule->delete;
} catch($e) {
$c->log->error("Failed to delete rewriterule with id '$id': $e");
$self->error($c, HTTP_INTERNAL_SERVER_ERROR, "Internal Server Error");
last;
}
$guard->commit;
$c->response->status(HTTP_NO_CONTENT);
$c->response->body(q());
}
return;
}
sub end : Private {
my ($self, $c) = @_;

Loading…
Cancel
Save