[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.54 and 1.55

version 1.54, 2015/12/08 02:10:43 version 1.55, 2020/08/02 18:52:40
Line 1 
Line 1 
 #!/usr/bin/perl  #!/usr/bin/perl
 # $AFresh1: rt_invoices.pl,v 1.53 2015/05/07 05:26:08 andrew Exp $  # $AFresh1: rt_invoices.pl,v 1.54 2015/12/08 02:10:43 andrew Exp $
 ########################################################################  ########################################################################
 # Copyright (c) 2011 Andrew Fresh <andrew@afresh1.com>  # Copyright (c) 2011 Andrew Fresh <andrew@afresh1.com>
 #  #
Line 19 
Line 19 
 use warnings;  use warnings;
   
 use 5.010;  use 5.010;
 use experimental qw( switch smartmatch );  
   
 # Because we don't have a real cert  # Because we don't have a real cert
 $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;  $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
Line 309 
Line 308 
         next unless $cust->{match};          next unless $cust->{match};
         foreach my $m ( @{ $cust->{match} } ) {          foreach my $m ( @{ $cust->{match} } ) {
             my $type = $m->{type};              my $type = $m->{type};
             my $match              my @things = map {lc} $ticket->$type;
                 = exists $m->{$type}              if ( exists $m->{$type} ) {
                 ? lc( $m->{$type} )                  if ( !$m->{$type} ) {
                 : qr/\Q$m->{regex}\E/;                      warn "Invalid match!";
             my $thing = [ map {lc} $ticket->$type ];                      next;
                   }
             if ( !$match ) {                  my $match = lc $m->{$type};
                 warn "Invalid match!";                  for my $thing (@things) {
                 next;                       return $cust if $thing eq $match;
                   }
             }              }
             return $cust if ( $match ~~ $thing );              else {
                   my $match = qr/\Q$m->{regex}\E/;
                   for my $thing (@things) {
                        return $cust if $thing =~ $match;
                   }
               }
         }          }
     }      }
   
Line 610 
Line 615 
     my $per  = $cust->{per}       || 'week';      my $per  = $cust->{per}       || 'week';
     my $freq = $cust->{frequency} || 1;      my $freq = $cust->{frequency} || 1;
   
     my $day_method;      my $day_method
     given ($per) {          = $per eq 'week'  ? $day_method  = 'dow'
         when ('week')  { $per = 'weeks';  $day_method = 'dow' }          : $per eq 'month' ?  $day_method = 'day'
         when ('month') { $per = 'months'; $day_method = 'day' }          : die "Unknown per [$per]\n";
         default { die "Unknown per [$per]\n" }  
     }  
   
     return DateTime::Duration->new( $per => $freq ), $day_method;      return DateTime::Duration->new( "${per}s" => $freq ), $day_method;
 }  }
   
 sub set_dates {  sub set_dates {

Legend:
Removed from v.1.54  
changed lines
  Added in v.1.55

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