add skip_dcontext_suffix to skip CDRs with dcontext ending in a definable string...
[freeside.git] / FS / FS / part_pkg / bulk_simple.pm
1 package FS::part_pkg::bulk_simple;
2 use base qw( FS::part_pkg::bulk_Common );
3
4 use strict;
5 use vars qw($DEBUG $me %info);
6 use Date::Format;
7 use FS::Conf;
8 use FS::cust_svc_option;
9
10 $DEBUG = 0;
11 $me = '[FS::part_pkg::bulk]';
12
13 %info = (
14   'name' => 'Bulk billing based on number of active services (at invoice generation)',
15   'inherit_fields' => [ 'bulk_Common', 'global_Mixin' ],
16   'weight' => 50,
17 );
18
19 sub _bulk_cust_svc {
20   my( $self, $cust_pkg, $sdate ) = @_;
21   return $self->_only_svcs_filter($cust_pkg->cust_svc);
22 }
23
24 sub _bulk_setup {
25   my( $self, $cust_pkg, $cust_svc ) = @_;
26   return 0 if $cust_svc->option('bulk_setup');
27
28   my $bulk_setup = new FS::cust_svc_option {
29     'svcnum'      => $cust_svc->svcnum,
30     'optionname'  => 'bulk_setup',
31     'optionvalue' => time, #invoice date?
32   };
33   my $error = $bulk_setup->insert;
34   die $error if $error;
35
36   $self->option('svc_setup_fee');
37 }
38
39 sub _bulk_recur {
40   my( $self, $cust_pkg, $cust_svc ) = @_;
41   ( $self->option('svc_recur_fee'), '' );
42 }
43
44 1;
45