TT#40453 Remove callrecording files from WEB UI

Change-Id: I89e1ce786385c43c0f884bc856c494600faacdb2
(cherry picked from commit b6ea54b12d)
changes/92/24192/1
Irina Peshinskaya 7 years ago
parent 239d4a3859
commit 87d01d9d16

@ -27,6 +27,7 @@ sub dispatch_path{
sub relation{
return 'http://purl.org/sipwise/ngcp-api/#rel-callrecordings';
}
use NGCP::Panel::Utils::Subscriber;
__PACKAGE__->config(
action => {
@ -103,12 +104,7 @@ sub DELETE :Allow {
last unless $self->resource_exists($c, callrecording => $item);
try {
foreach my $stream($item->recording_streams->all) {
unlink($stream->full_filename);
}
$item->recording_streams->delete;
$item->recording_metakeys->delete;
$item->delete;
NGCP::Panel::Utils::Subscriber::delete_callrecording( c => $c, recording => $item );
} catch($e) {
$c->log->error("Failed to delete recording: $e");
$self->error($c, HTTP_INTERNAL_SERVER_ERROR, "Failed to delete recording.");
@ -116,7 +112,6 @@ sub DELETE :Allow {
}
$item->delete;
$guard->commit;
$c->response->status(HTTP_NO_CONTENT);

@ -3830,10 +3830,14 @@ sub delete_recording :Chained('recording') :PathPart('delete') :Args(0) {
if(($c->user->roles eq "admin" || $c->user->roles eq "reseller") && $c->user->read_only);
try {
$c->stash->{recording}->delete;
my $recording = $c->stash->{recording};
my $data = { $recording->get_inflated_columns };
$c->model('DB')->schema->txn_do( sub {
NGCP::Panel::Utils::Subscriber::delete_callrecording( c => $c, recording => $recording );
});
NGCP::Panel::Utils::Message::info(
c => $c,
data => { $c->stash->{recording}->get_inflated_columns },
data => $data,
desc => $c->loc('Successfully deleted recording'),
);
} catch($e) {

@ -1829,6 +1829,19 @@ sub get_subscriber_pbx_status{
}
return 0;
}
sub delete_callrecording {
my %params = @_;
my($recording) = @params{qw/recording/};
foreach my $stream($recording->recording_streams->all) {
#if we met some error deleting file - we will fail and transaction will be rollbacked
unlink($stream->full_filename);
}
$recording->recording_streams->delete;
$recording->recording_metakeys->delete;
$recording->delete;
}
1;
=head1 NAME

Loading…
Cancel
Save