diff options
author | Ivan Kohler <ivan@freeside.biz> | 2013-01-25 02:05:47 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2013-01-25 02:05:47 -0800 |
commit | e94760d804c5638ecbd1487e8c3a2797f0034846 (patch) | |
tree | 3b717c3f7e51c2419c76f68dd439108f5851bc1e /FS/FS/ClientAPI | |
parent | 658a793422919736368e1f0a29b0f448ef362908 (diff) |
add vacation msg retrieval and addition/deletion to self-service API, RT#20896
Diffstat (limited to 'FS/FS/ClientAPI')
-rw-r--r-- | FS/FS/ClientAPI/MyAccount.pm | 53 |
1 files changed, 10 insertions, 43 deletions
diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm index 6ce6586a9..789e370d7 100644 --- a/FS/FS/ClientAPI/MyAccount.pm +++ b/FS/FS/ClientAPI/MyAccount.pm @@ -45,7 +45,7 @@ use FS::payby; use FS::acct_rt_transaction; use FS::msg_template; -$DEBUG = 0; +$DEBUG = 1; $me = '[FS::ClientAPI::MyAccount]'; use vars qw( @cust_main_editable_fields @location_editable_fields ); @@ -1787,27 +1787,14 @@ sub svc_status_hash { } -sub set_svc_status_hash { - my $p = shift; +sub set_svc_status_hash { _svc_method_X(shift, 'export_setstatus') } +sub set_svc_status_listadd { _svc_method_X(shift, 'export_setstatus_listadd') } +sub set_svc_status_listdel { _svc_method_X(shift, 'export_setstatus_listdel') } +sub set_svc_status_vacationadd { _svc_method_X(shift, 'export_setstatus_vacationadd') } +sub set_svc_status_vacationdel { _svc_method_X(shift, 'export_setstatus_vacationdel') } - my($context, $session, $custnum) = _custoragent_session_custnum($p); - return { 'error' => $session } if $context eq 'error'; - - #XXX only svc_acct for now - my $svc_x = _customer_svc_x( $custnum, $p->{'svcnum'}, 'svc_acct') - or return { 'error' => "Service not found" }; - - warn "set_svc_status_hash ". join(' / ', map "$_=>".$p->{$_}, keys %$p ) - if $DEBUG; - my $error = $svc_x->export_setstatus($p); #$p? returns error? - return { 'error' => $error } if $error; - - return {}; #? { 'error' => '' } - -} - -sub set_svc_status_listadd { - my $p = shift; +sub _svc_method_X { + my( $p, $method ) = @_; my($context, $session, $custnum) = _custoragent_session_custnum($p); return { 'error' => $session } if $context eq 'error'; @@ -1816,35 +1803,15 @@ sub set_svc_status_listadd { my $svc_x = _customer_svc_x( $custnum, $p->{'svcnum'}, 'svc_acct') or return { 'error' => "Service not found" }; - warn "set_svc_status_listadd ". join(' / ', map "$_=>".$p->{$_}, keys %$p ) + warn "$method ". join(' / ', map "$_=>".$p->{$_}, keys %$p ) if $DEBUG; - my $error = $svc_x->export_setstatus_listadd($p); #$p? returns error? + my $error = $svc_x->$method($p); #$p? returns error? return { 'error' => $error } if $error; return {}; #? { 'error' => '' } } -sub set_svc_status_listdel { - my $p = shift; - - my($context, $session, $custnum) = _custoragent_session_custnum($p); - return { 'error' => $session } if $context eq 'error'; - - #XXX only svc_acct for now - my $svc_x = _customer_svc_x( $custnum, $p->{'svcnum'}, 'svc_acct') - or return { 'error' => "Service not found" }; - - warn "set_svc_status_listdel ". join(' / ', map "$_=>".$p->{$_}, keys %$p ) - if $DEBUG; - my $error = $svc_x->export_setstatus_listdel($p); #$p? returns error? - return { 'error' => $error } if $error; - - return {}; #? { 'error' => '' } - -} - - sub acct_forward_info { my $p = shift; |