- # not date delimited--load all resolved tickets
- # will subtract previous charges below
- # only way to be sure we've caught everything
- # limit set to be arbitrarily large (10000)
- my $tickets = FS::TicketSystem->customer_tickets( $cust_pkg->custnum, 10000, undef, 'resolved');
+ my %queues = FS::TicketSystem->queues(undef,'SeeCustomField');
+
+ my @tickets;
+ foreach my $queueid (
+ split(', ',$self->option('queueids',1) || '')
+ ) {
+
+ die "Insufficient permission to invoice package"
+ unless exists $queues{$queueid};
+
+ # load all resolved tickets since pkg was ordered
+ # will subtract previous charges below
+ # only way to be sure we've caught everything
+ my $tickets = FS::TicketSystem->customer_tickets({
+ number => $cust_pkg->custnum,
+ limit => 10000, # arbitrarily large
+ status => 'resolved',
+ queueid => $queueid,
+ resolved => $cust_pkg->order_date, # or setup? but this is mainly for installations,
+ # and workflow might resolve tickets before first bill...
+ # for now, expect pkg to be ordered before tickets get resolved,
+ # easy enough to make a pkg option to use setup/sdate instead
+ });
+ push @tickets, @$tickets;
+ };