|
|
|
@ -109,35 +109,24 @@ sub create :Chained('list_reseller') :PathPart('create') :Args(0) :Does(ACL) :AC
|
|
|
|
|
NGCP::Panel::Utils::Reseller::create_email_templates( c => $c, reseller => $reseller );
|
|
|
|
|
my $resource = $form->values;
|
|
|
|
|
$resource->{rtc_networks} = [qw/sip xmpp webrtc conference/];
|
|
|
|
|
eval {
|
|
|
|
|
NGCP::Panel::Utils::Rtc::modify_reseller_rtc(
|
|
|
|
|
resource => $resource,
|
|
|
|
|
config => $c->config,
|
|
|
|
|
reseller_item => $reseller,
|
|
|
|
|
err_code => sub {
|
|
|
|
|
my ($msg, $debug) = @_;
|
|
|
|
|
$c->log->debug($debug) if $debug;
|
|
|
|
|
$c->log->warn($msg);
|
|
|
|
|
die $msg,"\n";
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
my $rtc_err = $@ // '';
|
|
|
|
|
NGCP::Panel::Utils::Rtc::modify_reseller_rtc(
|
|
|
|
|
resource => $resource,
|
|
|
|
|
config => $c->config,
|
|
|
|
|
reseller_item => $reseller,
|
|
|
|
|
err_code => sub {
|
|
|
|
|
my ($msg, $debug) = @_;
|
|
|
|
|
$c->log->debug($debug) if $debug;
|
|
|
|
|
$c->log->warn($msg);
|
|
|
|
|
die $msg,"\n";
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
delete $c->session->{created_objects}->{contract};
|
|
|
|
|
$c->session->{created_objects}->{reseller} = { id => $reseller->id };
|
|
|
|
|
|
|
|
|
|
if ($rtc_err) {
|
|
|
|
|
NGCP::Panel::Utils::Message::error(
|
|
|
|
|
c => $c,
|
|
|
|
|
desc => $c->loc(sprintf '%s (%s)',
|
|
|
|
|
'Reseller successfully updated', $rtc_err),
|
|
|
|
|
);
|
|
|
|
|
} else {
|
|
|
|
|
NGCP::Panel::Utils::Message::info(
|
|
|
|
|
c => $c,
|
|
|
|
|
desc => $c->loc('Reseller successfully created.'),
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
NGCP::Panel::Utils::Message::info(
|
|
|
|
|
c => $c,
|
|
|
|
|
desc => $c->loc('Reseller successfully created.'),
|
|
|
|
|
);
|
|
|
|
|
} catch($e) {
|
|
|
|
|
NGCP::Panel::Utils::Message::error(
|
|
|
|
|
c => $c,
|
|
|
|
@ -289,7 +278,7 @@ sub edit :Chained('base') :PathPart('edit') :Args(0) :Does(ACL) :ACLDetachTo('/d
|
|
|
|
|
my $params = { $reseller->get_inflated_columns };
|
|
|
|
|
$params->{contract}{id} = delete $params->{contract_id};
|
|
|
|
|
$params = merge($params, $c->session->{created_objects});
|
|
|
|
|
$params->{enable_rtc} = $reseller->rtc_user;
|
|
|
|
|
$params->{enable_rtc} = !!$reseller->rtc_user;
|
|
|
|
|
$form->process(
|
|
|
|
|
posted => $posted,
|
|
|
|
|
params => $c->request->params,
|
|
|
|
@ -316,20 +305,18 @@ sub edit :Chained('base') :PathPart('edit') :Args(0) :Does(ACL) :ACLDetachTo('/d
|
|
|
|
|
});
|
|
|
|
|
my $resource = $form->values;
|
|
|
|
|
$resource->{rtc_networks} = [qw/sip xmpp webrtc conference/];
|
|
|
|
|
eval {
|
|
|
|
|
NGCP::Panel::Utils::Rtc::modify_reseller_rtc(
|
|
|
|
|
old_resource => $params,
|
|
|
|
|
resource => $resource,
|
|
|
|
|
config => $c->config,
|
|
|
|
|
reseller_item => $reseller,
|
|
|
|
|
err_code => sub {
|
|
|
|
|
my ($msg, $debug) = @_;
|
|
|
|
|
$c->log->debug($debug) if $debug;
|
|
|
|
|
$c->log->warn($msg);
|
|
|
|
|
die $msg,"\n";
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
$rtc_err = $@ // '';
|
|
|
|
|
NGCP::Panel::Utils::Rtc::modify_reseller_rtc(
|
|
|
|
|
old_resource => $params,
|
|
|
|
|
resource => $resource,
|
|
|
|
|
config => $c->config,
|
|
|
|
|
reseller_item => $reseller,
|
|
|
|
|
err_code => sub {
|
|
|
|
|
my ($msg, $debug) = @_;
|
|
|
|
|
$c->log->debug($debug) if $debug;
|
|
|
|
|
$c->log->warn($msg);
|
|
|
|
|
die $msg,"\n";
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
if($reseller->status ne $old_status) {
|
|
|
|
|
NGCP::Panel::Utils::Reseller::_handle_reseller_status_change($c, $reseller);
|
|
|
|
@ -338,18 +325,11 @@ sub edit :Chained('base') :PathPart('edit') :Args(0) :Does(ACL) :ACLDetachTo('/d
|
|
|
|
|
|
|
|
|
|
delete $c->session->{created_objects}->{contract};
|
|
|
|
|
delete $c->session->{edit_contract_id};
|
|
|
|
|
if ($rtc_err) {
|
|
|
|
|
NGCP::Panel::Utils::Message::error(
|
|
|
|
|
c => $c,
|
|
|
|
|
desc => $c->loc(sprintf '%s (%s)',
|
|
|
|
|
'Reseller successfully updated', $rtc_err),
|
|
|
|
|
);
|
|
|
|
|
} else {
|
|
|
|
|
NGCP::Panel::Utils::Message::info(
|
|
|
|
|
c => $c,
|
|
|
|
|
desc => $c->loc('Reseller successfully updated'),
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
NGCP::Panel::Utils::Message::info(
|
|
|
|
|
c => $c,
|
|
|
|
|
desc => $c->loc('Reseller successfully updated'),
|
|
|
|
|
);
|
|
|
|
|
} catch($e) {
|
|
|
|
|
NGCP::Panel::Utils::Message::error(
|
|
|
|
|
c => $c,
|
|
|
|
@ -384,7 +364,7 @@ sub terminate :Chained('base') :PathPart('terminate') :Args(0) :Does(ACL) :ACLDe
|
|
|
|
|
try {
|
|
|
|
|
$c->model('DB')->txn_do(sub {
|
|
|
|
|
my $old_status = $reseller->status;
|
|
|
|
|
my $old_enable_rtc = $reseller->rtc_user;
|
|
|
|
|
my $old_enable_rtc = !!$reseller->rtc_user;
|
|
|
|
|
$reseller->update({ status => 'terminated' });
|
|
|
|
|
NGCP::Panel::Utils::Rtc::modify_reseller_rtc(
|
|
|
|
|
old_resource => {status => $old_status, enable_rtc => $old_enable_rtc},
|
|
|
|
@ -480,7 +460,7 @@ sub create_defaults :Path('create_defaults') :Args(0) :Does(ACL) :ACLDetachTo('/
|
|
|
|
|
call_data => 1,
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
$defaults{admins}->{login} = $defaults{resellers}->{name} =~ tr/A-Za-z0-9//cdr,
|
|
|
|
|
$defaults{admins}->{login} = $defaults{resellers}->{name} =~ tr/A-Za-z0-9//cdr;
|
|
|
|
|
|
|
|
|
|
my $billing = $c->model('DB');
|
|
|
|
|
my %r;
|
|
|
|
|