show package pricing details on customer view, RT11372
authorlevinse <levinse>
Sat, 12 Feb 2011 04:56:28 +0000 (04:56 +0000)
committerlevinse <levinse>
Sat, 12 Feb 2011 04:56:28 +0000 (04:56 +0000)
14 files changed:
FS/FS/part_pkg.pm
FS/FS/part_pkg/base_rate.pm
FS/FS/part_pkg/bulk.pm
FS/FS/part_pkg/flat.pm
FS/FS/part_pkg/flat_comission.pm
FS/FS/part_pkg/rt_time.pm
FS/FS/part_pkg/sesmon_hour.pm
FS/FS/part_pkg/sesmon_minute.pm
FS/FS/part_pkg/sql_external.pm
FS/FS/part_pkg/sql_generic.pm
FS/FS/part_pkg/sqlradacct_hour.pm
FS/FS/part_pkg/voip_cdr.pm
FS/FS/part_pkg/voip_inbound.pm
FS/FS/part_pkg/voip_sqlradacct.pm

index 7cccab0..140bd9b 100644 (file)
@@ -539,7 +539,7 @@ sub pkg_comment {
 
 sub custom_comment {
   my $self = shift;
-  ( $self->custom ? '(CUSTOM) ' : '' ). $self->comment;
+  ( $self->custom ? '(CUSTOM) ' : '' ). $self->comment . ' ' . $self->price_info;
 }
 
 =item pkg_class
index 6781977..43a0506 100644 (file)
@@ -22,6 +22,20 @@ use FS::part_pkg;
   'weight' => 52,
 );
 
+sub price_info {
+    my $self = shift;
+    my $conf = new FS::Conf;
+    my $money_char = $conf->config('money_char') || '$';
+    my $setup = $self->option('setup_fee') || 0;
+    my $recur = $self->option('recur_fee', 1) || 0;
+    my $str = '';
+    $str = $money_char . $setup . ' one-time' if $setup;
+    $str .= ', ' if ($setup && $recur);
+    $str .= $money_char . $recur . ' recurring per unit ' if $recur;
+    $str;
+}
+
+
 sub calc_setup {
   my($self, $cust_pkg, $sdate, $details ) = @_;
 
index beee069..4ac7389 100644 (file)
@@ -4,6 +4,7 @@ use strict;
 use vars qw(@ISA $DEBUG $me %info);
 use Date::Format;
 use FS::part_pkg::flat;
+use FS::Conf;
 
 @ISA = qw(FS::part_pkg::flat);
 
@@ -34,6 +35,22 @@ $me = '[FS::part_pkg::bulk]';
   'weight' => 50,
 );
 
+sub price_info {
+    my $self = shift;
+    my $str = $self->SUPER::price_info;
+    my $svc_setup_fee = $self->option('svc_setup_fee');
+    my $svc_recur_fee = $self->option('svc_recur_fee');
+    my $conf = new FS::Conf;
+    my $money_char = $conf->config('money_char') || '$';
+    $str .= " , bulk" if $str;
+    $str .= ": $money_char" . $svc_setup_fee . " one-time per service" 
+       if $svc_setup_fee;
+    $str .= ", " if ($svc_setup_fee && $svc_recur_fee);
+    $str .= $money_char . $svc_recur_fee . " recurring per service"
+       if $svc_recur_fee;
+    $str;
+}
+
 #some false laziness-ish w/agent.pm...  not a lot
 sub calc_recur {
   my($self, $cust_pkg, $sdate, $details ) = @_;
index ffeb8ae..0c54b35 100644 (file)
@@ -77,6 +77,19 @@ tie my %contract_years, 'Tie::IxHash', (
   'weight' => 10,
 );
 
+sub price_info {
+    my $self = shift;
+    my $conf = new FS::Conf;
+    my $money_char = $conf->config('money_char') || '$';
+    my $setup = $self->option('setup_fee') || 0;
+    my $recur = $self->option('recur_fee', 1) || 0;
+    my $str = '';
+    $str = $money_char . $setup . ' one-time' if $setup;
+    $str .= ', ' if ($setup && $recur);
+    $str .= $money_char . $recur . ' recurring ' if $recur;
+    $str;
+}
+
 sub calc_setup {
   my($self, $cust_pkg, $sdate, $details ) = @_;
 
index ec8c8eb..0bc1e7c 100644 (file)
@@ -32,6 +32,14 @@ use FS::part_pkg::flat;
   'weight' => 62,
 );
 
+sub price_info {
+    my $self = shift;
+    my $str = $self->SUPER::price_info;
+    my $com = $self->option('comission_amount');
+    $str .= ", $com commission" if $com;
+    $str;
+}
+
 sub calc_recur {
   my($self, $cust_pkg ) = @_;
 
index 03ed1cd..37891e2 100644 (file)
@@ -24,6 +24,14 @@ our %info = (
   'fieldorder' => [ 'base_rate' ],
 );
 
+sub price_info {
+    my $self = shift;
+    my $str = $self->SUPER::price_info;
+    my $rate = $self->option('base_rate');
+    $str .= " plus $rate/min" if $rate;
+    $str;
+}
+
 sub calc_setup {
   my($self, $cust_pkg ) = @_;
   $self->option('setup_fee');
index a57b159..8d019c3 100644 (file)
@@ -26,6 +26,13 @@ use FS::part_pkg::flat;
   'weight' => 80,
 );
 
+sub price_info {
+    my $self = shift;
+    my $str = $self->SUPER::price_info;
+    $str .= " plus usage" if $str;
+    $str;
+}
+
 sub calc_recur {
   my($self, $cust_pkg ) = @_;
 
index 8c9ef03..b86cffd 100644 (file)
@@ -26,6 +26,12 @@ use FS::part_pkg::flat;
   'weight' => 80,
 );
 
+sub price_info {
+    my $self = shift;
+    my $str = $self->SUPER::price_info;
+    $str .= " plus usage" if $str;
+    $str;
+}
 
 sub calc_recur {
   my( $self, $cust_pkg ) = @);
index 7185487..c0c5725 100644 (file)
@@ -45,6 +45,13 @@ use DBI;
   'weight' => '58',
 );
 
+sub price_info {
+    my $self = shift;
+    my $str = $self->SUPER::price_info;
+    $str .= " plus per-service charges" if $str;
+    $str;
+}
+
 sub calc_recur {
   my $self = shift;
   my($cust_pkg, $sdate, $details, $param ) = @_;
index cf38257..e323d8b 100644 (file)
@@ -40,6 +40,13 @@ use FS::part_pkg::flat;
   'weight' => '56',
 );
 
+sub price_info {
+    my $self = shift;
+    my $str = $self->SUPER::price_info;
+    $str .= " plus per-service charges" if $str;
+    $str;
+}
+
 sub calc_recur {
   my($self, $cust_pkg ) = @_;
 
index 3cc46ac..1c198a1 100644 (file)
@@ -73,6 +73,13 @@ use FS::part_pkg::flat;
   'weight' => 40,
 );
 
+sub price_info {
+    my $self = shift;
+    my $str = $self->SUPER::price_info;
+    $str .= " plus usage" if $str;
+    $str;
+}
+
 sub calc_recur {
   my($self, $cust_pkg, $sdate, $details ) = @_;
 
index f4741ab..658df54 100644 (file)
@@ -278,6 +278,13 @@ tie my %granularity, 'Tie::IxHash', FS::rate_detail::granularities();
   'weight' => 40,
 );
 
+sub price_info {
+    my $self = shift;
+    my $str = $self->SUPER::price_info;
+    $str .= " plus usage" if $str;
+    $str;
+}
+
 sub calc_setup {
   my($self, $cust_pkg ) = @_;
   $self->option('setup_fee');
index 1b91575..36efad1 100644 (file)
@@ -160,6 +160,13 @@ tie my %granularity, 'Tie::IxHash', FS::rate_detail::granularities();
   'weight' => 40,
 );
 
+sub price_info {
+    my $self = shift;
+    my $str = $self->SUPER::price_info;
+    $str .= " plus usage" if $str;
+    $str;
+}
+
 sub calc_setup {
   my($self, $cust_pkg ) = @_;
   $self->option('setup_fee');
index 5388767..b856b5c 100644 (file)
@@ -29,6 +29,13 @@ $DEBUG = 1;
   'weight' => 40,
 );
 
+sub price_info {
+    my $self = shift;
+    my $str = $self->SUPER::price_info;
+    $str .= " plus usage" if $str;
+    $str;
+}
+
 sub calc_setup {
   my($self, $cust_pkg ) = @_;
   $self->option('setup_fee');