-<% include( 'elements/search.html',
- 'title' => 'Discounts',
- 'name' => 'discounts',
- 'query' => $query,
- 'count_query' => $count_query,
- 'count_addl' => [ $money_char. '%.2f total', ],
- 'header' => [
- #'#',
- 'Discount',
- 'Amount',
- 'Months',
- 'Package',
- 'Invoice',
- 'Date',
- FS::UI::Web::cust_header(),
- ],
- 'fields' => [
- #'billpkgdiscountnum',
- sub { $_[0]->cust_pkg_discount->discount->description },
- sub { sprintf($money_char.'%.2f', shift->amount ) },
- sub { my $m = shift->months;
- $m =~ /\./ ? sprintf('%.2f', $m) : $m;
- },
- 'pkg',#sub { $_[0]->cust_bill_pkg->cust_pkg->part_pkg->pkg },
- 'invnum',
- sub { time2str('%b %d %Y', shift->_date ) },
- \&FS::UI::Web::cust_fields,
- ],
- 'sort_fields' => [
- '',
- 'amount',
- 'months',
- 'pkg',
- 'invnum',
- '_date',
- ],
- 'links' => [
- #'',
- '', #link to customer discount???
- '',
- '',
- '',
- $ilink,
- $ilink,
- ( map { $_ ne 'Cust. Status' ? $clink : '' }
- FS::UI::Web::cust_header()
- ),
- ],
- #'align' => 'rlrrrc'.FS::UI::Web::cust_aligns(),
- 'align' => 'lrrlrr'.FS::UI::Web::cust_aligns(),
- 'color' => [
- #'',
- '',
- '',
- '',
- '',
- '',
- '',
- FS::UI::Web::cust_colors(),
- ],
- 'style' => [
- #'',
- '',
- '',
- '',
- '',
- '',
- '',
- FS::UI::Web::cust_styles(),
- ],
- )
-%>
-<%init>
+<%doc>
+
+Display the Discount Detail Report:
+
+Parameters:
+
+ - discount_classnum
+ - usernum
+ - agentnum
+ - beginning
+ - ending
+ - include_waived_setup
+
+</%doc>
+<& elements/search.html,
+ title => 'Discounts',
+ name => 'discounts',
+ query => $query,
+ count_query => $count_query,
+ count_addl => [ $money_char . '%.2f total' ],
+
+ header => [
+ qw(
+ Discount
+ Class
+ Amount
+ Months
+ Package
+ Invoice
+ Date
+ ),
+ FS::UI::Web::cust_header(),
+ ],
+
+ fields => [
+ # Discount
+ sub {
+ if ( $_[0]->pkgdiscountnum ) {
+ # Standard discount, not a waived setup fee
+ my $discount = qsearchs('discount',{
+ discountnum => $_[0]->discountnum
+ });
+ return $discount->description;
+ } else {
+ return 'Waive setup fee';
+ }
+ },
+
+ # Class
+ sub {
+ if ( $_[0]->discountnum ) {
+ # Standard discount, not a waived setup fee
+ my $discount = qsearchs('discount',{
+ discountnum => $_[0]->discountnum
+ });
+ return $discount->classname;
+ } else {
+ return 'n/a';
+ }
+ },
+
+ # Amount
+ sub {
+ sprintf(
+ $money_char.'%.2f',
+ $_[0]->amount ? $_[0]->amount : $_[0]->setup_fee
+ )
+ },
+
+ # Months
+ sub {
+ my $row = shift;
+ if ($row->pkgdiscountnum) {
+ $row->setuprecur eq 'setup'
+ ? 'Setup'
+ : sprintf( '%.2f', $row->months ),
+ } else {
+ return 'Setup';
+ }
+ },
+
+ # Package
+ 'pkg',
+
+ # Invoice
+ 'invnum',
+
+ # Date
+ sub { time2str('%b %d %Y', $_[0]->_date) },
+
+ # Customer
+ \&FS::UI::Web::cust_fields,
+ ],