@ -110,24 +110,35 @@ 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/ ] ;
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 ) ;
# TODO: abort reseller creation with error?
return ;
} ) ;
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 = $@ // '' ;
delete $ c - > session - > { created_objects } - > { contract } ;
$ c - > session - > { created_objects } - > { reseller } = { id = > $ reseller - > id } ;
NGCP::Panel::Utils::Message:: info (
c = > $ c ,
desc = > $ c - > loc ( 'Reseller successfully created' ) ,
) ;
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.' ) ,
) ;
}
} catch ( $ e ) {
NGCP::Panel::Utils::Message:: error (
c = > $ c ,
@ -279,7 +290,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 ,
@ -293,6 +304,7 @@ sub edit :Chained('base') :PathPart('edit') :Args(0) :Does(ACL) :ACLDetachTo('/d
) ;
if ( $ posted && $ form - > validated ) {
my $ rtc_err = '' ;
try {
$ c - > model ( 'DB' ) - > txn_do ( sub {
$ form - > params - > { contract_id } = delete $ form - > params - > { contract } { id } ;
@ -305,18 +317,20 @@ sub edit :Chained('base') :PathPart('edit') :Args(0) :Does(ACL) :ACLDetachTo('/d
} ) ;
my $ resource = $ form - > values ;
$ resource - > { rtc_networks } = [ qw/sip xmpp webrtc conference/ ] ;
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 ) ;
# TODO: abort reseller creation with error?
return ;
} ) ;
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 = $@ // '' ;
if ( $ reseller - > status ne $ old_status ) {
NGCP::Panel::Utils::Reseller:: _handle_reseller_status_change ( $ c , $ reseller ) ;
@ -325,10 +339,18 @@ sub edit :Chained('base') :PathPart('edit') :Args(0) :Does(ACL) :ACLDetachTo('/d
delete $ c - > session - > { created_objects } - > { contract } ;
delete $ c - > session - > { edit_contract_id } ;
NGCP::Panel::Utils::Message:: info (
c = > $ c ,
desc = > $ c - > loc ( 'Reseller successfully updated' ) ,
) ;
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' ) ,
) ;
}
} catch ( $ e ) {
NGCP::Panel::Utils::Message:: error (
c = > $ c ,
@ -363,7 +385,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 } ,
@ -374,8 +396,7 @@ sub terminate :Chained('base') :PathPart('terminate') :Args(0) :Does(ACL) :ACLDe
my ( $ msg , $ debug ) = @ _ ;
$ c - > log - > debug ( $ debug ) if $ debug ;
$ c - > log - > warn ( $ msg ) ;
# TODO: abort reseller creation with error?
return ;
die $ msg , "\n" ;
} ) ;
if ( $ reseller - > status ne $ old_status ) {