[BACK]Return to rt_invoices.pl CVS log [TXT][DIR] Up to [local] / RT / Invoicing

Diff for /RT/Invoicing/rt_invoices.pl between version 1.20 and 1.21

version 1.20, 2011/03/24 00:05:47 version 1.21, 2011/03/24 21:03:49
Line 1 
Line 1 
 #!/usr/bin/perl  #!/usr/bin/perl
 # $AFresh1: rt_invoices.pl,v 1.19 2011/03/22 05:27:12 andrew Exp $  # $AFresh1: rt_invoices.pl,v 1.20 2011/03/23 23:05:47 andrew Exp $
 ########################################################################  ########################################################################
 # Copyright (c) 2011 Andrew Fresh <andrew@afresh1.com>  # Copyright (c) 2011 Andrew Fresh <andrew@afresh1.com>
 #  #
Line 176 
Line 176 
     $from = get_user($from) if !ref $from;      $from = get_user($from) if !ref $from;
   
     $invoice->{organization} = $from->{organization} || $from->{name};      $invoice->{organization} = $from->{organization} || $from->{name};
     $invoice->{from} = make_address( $from );      $invoice->{from}         = make_address($from);
     $invoice->{to}   = make_address( $cust->{address} || $custid );      $invoice->{to}           = make_address( $cust->{address} || $custid );
   
     $state->{lastinvoice}++;      $state->{lastinvoice}++;
     $invoice->{id} = $state->{lastinvoice};      $invoice->{id} = $state->{lastinvoice};
Line 210 
Line 210 
     File::Path::make_path($invoice_dir);      File::Path::make_path($invoice_dir);
     my $file = join '/', $invoice_dir, $invoice->{file};      my $file = join '/', $invoice_dir, $invoice->{file};
   
     my $tt = Template->new(      my $tt = Template->new( INCLUDE_PATH => $config->get('template_dir'), )
         INCLUDE_PATH => $config->get('template_dir'),          || die $Template::ERROR, "\n";
     )|| die $Template::ERROR, "\n";  
   
     $tt->process( $config->get('invoice_template'), $invoice, $file )      $tt->process( $config->get('invoice_template'), $invoice, $file )
         or die $tt->error . "\n";          or die $tt->error . "\n";
Line 316 
Line 315 
 sub make_invoice {  sub make_invoice {
     my ($cust) = @_;      my ($cust) = @_;
   
     my $day  = $cust->{day}       ||= 1;      my $day  = $cust->{day}       ||= 0;
     my $per  = $cust->{per}       ||= 'week';      my $per  = $cust->{per}       ||= 'week';
     my $freq = $cust->{frequency} ||= 1;      my $freq = $cust->{frequency} ||= 1;
   
Line 330 
Line 329 
     my $billends = DateTime->now->set( hour => 0, minute => 0, second => 0 );      my $billends = DateTime->now->set( hour => 0, minute => 0, second => 0 );
   
     # XXX This is helpful, but monthly and billday > 28 == !!!      # XXX This is helpful, but monthly and billday > 28 == !!!
     $billends->subtract( days => 1 ) while $billends->$day_method != $day;      $billends->subtract( days => 1 )
           while $day && $billends->$day_method != $day;
   
     my $date = $billends->clone->subtract( $per => $freq );      my $date = $billends->clone->subtract( $per => $freq );
   
Line 406 
Line 406 
         $date = $enddate->clone if $date > $enddate;          $date = $enddate->clone if $date > $enddate;
   
         # XXX This is helpful, but monthly and billday > 28 == !!!          # XXX This is helpful, but monthly and billday > 28 == !!!
         $date->subtract( days => 1 ) while $date->$day_method != $day;          $date->subtract( days => 1 ) while $day && $date->$day_method != $day;
   
         my $end = $date->clone->subtract( seconds => 1 );          my $end = $date->clone->subtract( seconds => 1 );
   

Legend:
Removed from v.1.20  
changed lines
  Added in v.1.21

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>