projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
agent wholesale bulk billing: respect date_format setting for details, RT#30484
[freeside.git]
/
FS
/
FS
/
part_pkg
/
agent.pm
diff --git
a/FS/FS/part_pkg/agent.pm
b/FS/FS/part_pkg/agent.pm
index
d41978c
..
bc3c374
100644
(file)
--- a/
FS/FS/part_pkg/agent.pm
+++ b/
FS/FS/part_pkg/agent.pm
@@
-1,17
+1,14
@@
package FS::part_pkg::agent;
package FS::part_pkg::agent;
+#use base qw(FS::part_pkg::recur_Common);
+use base qw(FS::part_pkg::prorate);
use strict;
use strict;
-use vars qw(
@ISA
$DEBUG $me %info);
+use vars qw($DEBUG $me %info);
use Date::Format;
use FS::Record qw( qsearch );
use FS::agent;
use FS::cust_main;
use Date::Format;
use FS::Record qw( qsearch );
use FS::agent;
use FS::cust_main;
-#use FS::part_pkg::recur_Common;;
-#@ISA = qw(FS::part_pkg::recur_Common);
-use FS::part_pkg::prorate;
-@ISA = qw(FS::part_pkg::prorate);
-
$DEBUG = 0;
$me = '[FS::part_pkg::agent]';
$DEBUG = 0;
$me = '[FS::part_pkg::agent]';
@@
-19,16
+16,8
@@
$me = '[FS::part_pkg::agent]';
%info = (
'name' => 'Wholesale bulk billing, for master customers of an agent.',
'shortname' => 'Wholesale bulk billing for 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' => {
'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,
#'recur_method' => { 'name' => 'Recurring fee method',
# #'type' => 'radio',
# #'options' => \%recur_method,
@@
-38,6
+27,10
@@
$me = '[FS::part_pkg::agent]';
'cutoff_day' => { 'name' => 'Billing Day (1 - 28)',
'default' => '1',
},
'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',
'no_pkg_prorate' => { 'name' => 'Disable prorating bulk packages (charge full price for packages active only a portion of the month)',
'type' => 'checkbox',
@@
-45,10
+38,9
@@
$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' => 5
1
,
+ 'weight' => 5
2
,
);
);
@@
-64,6
+56,7
@@
sub calc_recur {
my $conf = new FS::Conf;
my $money_char = $conf->config('money_char') || '$';
my $conf = new FS::Conf;
my $money_char = $conf->config('money_char') || '$';
+ my $date_format = $conf->config('date_format') || '%m/%d/%Y';
my $total_agent_charge = 0;
my $total_agent_charge = 0;
@@
-110,11
+103,15
@@
sub calc_recur {
if $DEBUG;
my $pkg_details = $cust_main->name_short. ': '; #name?
if $DEBUG;
my $pkg_details = $cust_main->name_short. ': '; #name?
+
+ my $part_pkg = $cust_pkg->part_pkg;
+
# + something to identify package... primary service probably
# + something to identify package... primary service probably
+ # no... package def for now
+ $pkg_details .= $part_pkg->pkg. ': ';
my $pkg_charge = 0;
my $pkg_charge = 0;
- my $part_pkg = $cust_pkg->part_pkg;
#option to not fallback? via options above
my $pkg_setup_fee =
$part_pkg->setup_cost || $part_pkg->option('setup_fee');
#option to not fallback? via options above
my $pkg_setup_fee =
$part_pkg->setup_cost || $part_pkg->option('setup_fee');
@@
-141,8
+138,8
@@
sub calc_recur {
my $recur_charge += $pkg_recur_charge;
$pkg_details .= $money_char. sprintf('%.2f', $recur_charge ).
my $recur_charge += $pkg_recur_charge;
$pkg_details .= $money_char. sprintf('%.2f', $recur_charge ).
- ' ('. time2str(
'%x'
, $pkg_start).
- ' - '. time2str(
'%x'
, $pkg_end ). ')'
+ ' ('. time2str(
$date_format
, $pkg_start).
+ ' - '. time2str(
$date_format
, $pkg_end ). ')'
if $recur_charge;
$pkg_charge += $recur_charge;
if $recur_charge;
$pkg_charge += $recur_charge;
@@
-163,13
+160,13
@@
sub calc_recur {
}
}
-sub hide_svc_detail {
- 1;
-}
+sub can_discount { 0; }
-sub is_free {
- 0;
-}
+sub hide_svc_detail { 1; }
+
+sub is_free { 0; }
+
+sub can_usageprice { 0; }
1;
1;