From d040dd06eb4b4bd1d5991445038296f952a38d13 Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Tue, 13 Jun 2017 17:00:38 -0700 Subject: [PATCH] charge for printing usage --- FS/FS/part_pkg/fsinc_print.pm | 47 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 FS/FS/part_pkg/fsinc_print.pm diff --git a/FS/FS/part_pkg/fsinc_print.pm b/FS/FS/part_pkg/fsinc_print.pm new file mode 100644 index 000000000..8f4cfb18d --- /dev/null +++ b/FS/FS/part_pkg/fsinc_print.pm @@ -0,0 +1,47 @@ +package FS::part_pkg::fsinc_print; + +use strict; +use vars qw( %info ); +use FS::Record; + +%info = ( + 'name' => 'Usage from Freeside Inc. web services', + 'shortname' => 'Freeside web services', + 'weight' => '99', +); + +sub price_info { + my $self = shift; + return 'printing usage'; +} + +sub base_setup { 0; } +sub calc_setup { 0; } + +sub base_recur { 0; } +sub calc_recur { + #my $self = shift; + #my($self, $cust_pkg, $sdate, $details, $param ) = @_; + my( $self, $cust_pkg ) = @_; + + my $custnum = $cust_pkg->custnum; + + #false laziness w/ClientAPI/Freeside.pm and webservice_log.pm + my $color = 1.10; + my $page = 0.10; + + FS::Record->scalar_sql(" + UPDATE webservice_log SET status = 'done' + WHERE custnum = $custnum + AND method = 'print' + AND status IS NULL + RETURNING SUM ( $color + quantity * $page ) + "); + +} + +sub can_discount { 0; } + +sub is_free { 0; } + +1; -- 2.11.0