summaryrefslogtreecommitdiff
path: root/FS/FS/ClientAPI/MyAccount.pm
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2013-01-25 02:05:47 -0800
committerIvan Kohler <ivan@freeside.biz>2013-01-25 02:05:47 -0800
commite94760d804c5638ecbd1487e8c3a2797f0034846 (patch)
tree3b717c3f7e51c2419c76f68dd439108f5851bc1e /FS/FS/ClientAPI/MyAccount.pm
parent658a793422919736368e1f0a29b0f448ef362908 (diff)
add vacation msg retrieval and addition/deletion to self-service API, RT#20896
Diffstat (limited to 'FS/FS/ClientAPI/MyAccount.pm')
-rw-r--r--FS/FS/ClientAPI/MyAccount.pm53
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;