X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_pkg%2Fagent.pm;h=6ab21d64f77c5330c65a172ecc2936904fa66508;hb=f2766e203e1aa144d046a26cf13e01e1f5b00f64;hp=9bcf33da17ffcf921757dc474bb790ddc2b60e03;hpb=912d709f8b836911dd3d66eb66083af1f8662953;p=freeside.git diff --git a/FS/FS/part_pkg/agent.pm b/FS/FS/part_pkg/agent.pm index 9bcf33da1..6ab21d64f 100644 --- a/FS/FS/part_pkg/agent.pm +++ b/FS/FS/part_pkg/agent.pm @@ -19,16 +19,8 @@ $me = '[FS::part_pkg::agent]'; %info = ( 'name' => 'Wholesale bulk billing, for master customers of an agent.', 'shortname' => 'Wholesale bulk billing for agent.', - + 'inherit_fields' => [qw( prorate global_Mixin)], 'fields' => { - 'setup_fee' => { 'name' => 'Setup fee for this package', - 'default' => 0, - }, - 'recur_fee' => { 'name' => 'Base recurring fee for this package', - 'default' => 0, - }, - - #'recur_method' => { 'name' => 'Recurring fee method', # #'type' => 'radio', # #'options' => \%recur_method, @@ -38,6 +30,10 @@ $me = '[FS::part_pkg::agent]'; 'cutoff_day' => { 'name' => 'Billing Day (1 - 28)', 'default' => '1', }, + 'add_full_period'=> { 'name' => 'When prorating first month, also bill '. + 'for one full period after that', + 'type' => 'checkbox', + }, 'no_pkg_prorate' => { 'name' => 'Disable prorating bulk packages (charge full price for packages active only a portion of the month)', 'type' => 'checkbox', @@ -45,8 +41,7 @@ $me = '[FS::part_pkg::agent]'; }, - #'fieldorder' => [qw( setup_fee recur_fee recur_method cutoff_day ) ], - 'fieldorder' => [qw( setup_fee recur_fee cutoff_day no_pkg_prorate ) ], + 'fieldorder' => [qw( cutoff_day add_full_period no_pkg_prorate ) ], 'weight' => 51, @@ -68,8 +63,7 @@ sub calc_recur { my $total_agent_charge = 0; warn "$me billing for agent packages from ". time2str('%x', $last_bill). - " to ". time2str('%x', $$sdate); - "\n" + " to ". time2str('%x', $$sdate). "\n" if $DEBUG; my $prorate_ratio = ( $$sdate - $last_bill ) @@ -120,7 +114,7 @@ sub calc_recur { my $pkg_setup_fee = $part_pkg->setup_cost || $part_pkg->option('setup_fee'); my $pkg_base_recur = - $part_pkg->recur_cost || $part_pkg->base_recur_permonth; + $part_pkg->recur_cost || $part_pkg->base_recur_permonth($cust_pkg); my $pkg_start = $cust_pkg->get('setup'); if ( $pkg_start < $last_bill ) { @@ -164,6 +158,8 @@ sub calc_recur { } +sub can_discount { 0; } + sub hide_svc_detail { 1; }