From: Ivan Kohler Date: Mon, 27 Apr 2015 09:59:21 +0000 (-0700) Subject: Merge branch 'master' of git.freeside.biz:/home/git/freeside X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=ad3bcb39580173f0ac1b6357cb49515d48af7ddf;hp=911b5f2429377b0b989e8a10e9971b2463e554a7 Merge branch 'master' of git.freeside.biz:/home/git/freeside --- diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index a9d7ac7bd..f102d97ee 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -2015,6 +2015,17 @@ sub cust_payby { }); } +sub has_cust_payby_auto { + my $self = shift; + scalar( qsearch({ + 'table' => 'cust_payby', + 'hashref' => { 'custnum' => $self->custnum, }, + 'extra_sql' => " AND payby IN ( 'CARD', 'CHEK' ) ", + 'order_by' => 'LIMIT 1', + }) ); + +} + =item unsuspend Unsuspends all unflagged suspended packages (see L diff --git a/fs_selfservice/FS-SelfService/SelfService.pm b/fs_selfservice/FS-SelfService/SelfService.pm index a9da5643b..765d6111b 100644 --- a/fs_selfservice/FS-SelfService/SelfService.pm +++ b/fs_selfservice/FS-SelfService/SelfService.pm @@ -258,7 +258,30 @@ FS::SelfService - Freeside self-service API #!!! list_pkgs example - #!!! order_pkg example + #ordering a package with an svc_acct service + my $rv = order_pkg( { 'session_id' => $session_id, + 'pkgpart' => $pkgpart, + 'svcpart' => $svcpart, + 'username' => $username, + 'domsvc' => $domsvc, #svcnum of svc_domain + '_password' => $password, + } + ); + + #!!! ordering a package with an svc_domain service example + + #!!! ordering a package with an svc_phone service example + + #!!! ordering a package with an svc_external service example + + #!!! ordering a package with an svc_pbx service + + #ordering a package with no service + my $rv = order_pkg( { 'session_id' => $session_id, + 'pkgpart' => $pkgpart, + 'svcpart' => 'none', + } + ); #!!! cancel_pkg example diff --git a/httemplate/view/cust_main/packages/section.html b/httemplate/view/cust_main/packages/section.html index e888c94ac..e38c34fe8 100755 --- a/httemplate/view/cust_main/packages/section.html +++ b/httemplate/view/cust_main/packages/section.html @@ -20,6 +20,8 @@ cust_pkg-group_by_location no_services )), + #for status.html + 'has_cust_payby_auto' => $cust_main->has_cust_payby_auto, &> % } % } else { # there are no packages diff --git a/httemplate/view/cust_main/packages/status.html b/httemplate/view/cust_main/packages/status.html index 2bb4befb8..3515b38e1 100644 --- a/httemplate/view/cust_main/packages/status.html +++ b/httemplate/view/cust_main/packages/status.html @@ -494,16 +494,11 @@ sub pkg_status_row_detached { sub pkg_status_row_noauto { my( $cust_pkg, %opt ) = @_; - my $part_pkg = $opt{'part_pkg'}; - return '' unless $cust_pkg->no_auto || $part_pkg->no_auto; - #inefficient, should be passed in - my $cust_main = $cust_pkg->cust_main; + return '' unless ( $cust_pkg->no_auto || $opt{'part_pkg'}->no_auto ); + && $opt{'has_cust_payby_auto'}; - return '' unless $cust_main->payby =~ /^(CARD|CHEK)$/; - my $what = lc(FS::payby->shortname($cust_main->payby)); - - pkg_status_row_colspan( $cust_pkg, emt("No automatic $what charge"), ''); + pkg_status_row_colspan( $cust_pkg, emt("No automatic charge"), ''); } sub pkg_status_row_separate_bill {