X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fcust_bill.pm;h=47f71c45890751c7eca158fa28dba437623d322c;hp=bd1b8bbec8deb466a74672211c60192778154c7c;hb=a5bfed744069d69a1fe07eca1a64a2b22692cc22;hpb=908b5627cc5899b00d3b9e83602403eb956dd038 diff --git a/FS/FS/cust_bill.pm b/FS/FS/cust_bill.pm index bd1b8bbec..47f71c458 100644 --- a/FS/FS/cust_bill.pm +++ b/FS/FS/cust_bill.pm @@ -148,15 +148,6 @@ Invoices are normally created by calling the bill method of a customer object sub table { 'cust_bill'; } sub template_conf { 'invoice_'; } -sub has_sections { - my $self = shift; - my $agentnum = $self->cust_main->agentnum; - my $tc = $self->template_conf; - - $self->conf->exists($tc.'sections', $agentnum) || - $self->conf->exists($tc.'sections_by_location', $agentnum); -} - # should be the ONLY occurrence of "Invoice" in invoice rendering code. # (except email_subject and invnum_date_pretty) sub notice_name { @@ -530,7 +521,13 @@ Returns the line items (see L) for this invoice. sub cust_bill_pkg { my $self = shift; qsearch( - { 'table' => 'cust_bill_pkg', + { + 'select' => 'cust_bill_pkg.*, pkg_category.categoryname', + 'table' => 'cust_bill_pkg', + 'addl_from' => ' LEFT JOIN cust_pkg USING ( pkgnum ) '. + ' LEFT JOIN part_pkg USING ( pkgpart ) '. + ' LEFT JOIN pkg_class USING ( classnum ) '. + ' LEFT JOIN pkg_category USING ( categorynum ) ', 'hashref' => { 'invnum' => $self->invnum }, 'order_by' => 'ORDER BY billpkgnum', #important? otherwise we could use # the AUTLOADED FK search. or should @@ -1408,6 +1405,11 @@ See L for a description of the output format. sub send_csv { my($self, %opt) = @_; + if ( $FS::Misc::DISABLE_ALL_NOTICES ) { + warn 'send_csv() disabled by $FS::Misc::DISABLE_ALL_NOTICES' if $DEBUG; + return; + } + #create file(s) my $spooldir = "/usr/local/etc/freeside/export.". datasrc. "/cust_bill"; @@ -1484,6 +1486,11 @@ in the ICS format. sub spool_csv { my($self, %opt) = @_; + if ( $FS::Misc::DISABLE_ALL_NOTICES ) { + warn 'spool_csv() disabled by $FS::Misc::DISABLE_ALL_NOTICES' if $DEBUG; + return; + } + my $time = $opt{'time'} || time; my $cust_main = $self->cust_main; @@ -2719,7 +2726,7 @@ sub _items_svc_phone_sections { } -=sub _items_usage_class_summary OPTIONS +=item _items_usage_class_summary OPTIONS Returns a list of detail items summarizing the usage charges on this invoice. Each one will have 'amount', 'description' (the usage charge name), @@ -2768,7 +2775,7 @@ sub _items_usage_class_summary { return @l; } -=sub _items_previous() +=item _items_previous() Returns an array of hashrefs, each hashref representing a line-item on the current bill for previous unpaid invoices. @@ -2902,7 +2909,7 @@ sub _items_previous { } -=sub _items_previous_total +=item _items_previous_total Return sum of amounts from all items returned by _items_previous Results will vary based on invoicing conf flags @@ -2952,7 +2959,7 @@ sub __items_previous_map_invoice { } } -=sub _items_credits() +=item _items_credits() Return array of hashrefs containing credits to be shown as line-items when rendering this bill. @@ -3091,7 +3098,7 @@ sub _items_credits { @return; } -=sub _items_credits_total +=item _items_credits_total Return the total of al items from _items_credits Will vary based on invoice display conf flag @@ -3107,7 +3114,7 @@ sub _items_credits_total { -=sub _items_credits_postbill() +=item _items_credits_postbill() Returns an array of hashrefs for credits where - Credit issued after this invoice @@ -3149,7 +3156,7 @@ sub _items_credits_postbill { }} @cust_credit_bill; } -=sub _items_payments_postbill() +=item _items_payments_postbill() Returns an array of hashrefs for payments where - Payment occured after this invoice @@ -3185,7 +3192,7 @@ sub _items_payments_postbill { }} @cust_bill_pay; } -=sub _items_payments() +=item _items_payments() Return array of hashrefs containing payments to be shown as line-items when rendering this bill. @@ -3246,7 +3253,6 @@ sub _items_payments { if ($self->conf->exists('previous_balance-payments_since')) { if ($template eq 'statement') { -print "\nCASE 3\n"; # Case 3 (see above) # Return payments timestamped between the previous and following bills @@ -3270,7 +3276,7 @@ print "\nCASE 3\n"; } else { # Case 2 (see above) # Return payments timestamped between this and the previous bill -print "\nCASE 2\n"; + my $date_start = 0; my $date_end = $self->_date; @@ -3304,7 +3310,7 @@ print "\nCASE 2\n"; return @{ $self->get('_items_payments') }; } -=sub _items_payments_total +=item _items_payments_total Return a total of all records returned by _items_payments Results vary based on invoicing conf flags @@ -3361,7 +3367,7 @@ sub __items_payments_make_hashref { return @return; } -=sub _items_total() +=item _items_total() Generate the line-items to be shown on the bill in the "Totals" section