<% include( 'elements/browse.html',
'title' => 'Package Definitions',
+ 'menubar' => \@menubar,
'html_init' => $html_init,
'html_form' => $html_form,
'html_posttotal' => $html_posttotal,
],
[
{ data =>$money_char.
- sprintf('%.2f', $part_pkg->option('setup_fee') ),
+ sprintf('%.2f ', $part_pkg->option('setup_fee') ),
align=>'right'
},
- { data => ( ( $is_recur ? ' setup' : ' one-time' ).
+ { data => ( ( $is_recur ? ' setup' : ' one-time' ).
( $part_pkg->option('recur_fee') == 0
&& $part_pkg->setup_show_zero
? ' (printed on invoices)'
[
{ data=>(
$is_recur
- ? $money_char. sprintf('%.2f ', $part_pkg->option('recur_fee'))
+ ? $money_char. sprintf('%.2f', $part_pkg->option('recur_fee'))
: $part_pkg->freq_pretty
),
align=> ( $is_recur ? 'right' : 'center' ),
},
( $is_recur
? { data => ( $is_recur
- ? $part_pkg->freq_pretty.
+ ? ' '. $part_pkg->freq_pretty.
( $part_pkg->option('recur_fee') == 0
&& $part_pkg->recur_show_zero
? ' (printed on invoices)'
sub {
my $part_pkg = shift;
+ my @part_pkg_usage = sort { $a->priority <=> $b->priority }
+ $part_pkg->part_pkg_usage;
[
(map {
]
}
$part_pkg->svc_part_pkg_link
- )
+ ),
+ ( scalar(@part_pkg_usage) ?
+ [ { data => 'Usage minutes',
+ align => 'center',
+ colspan => 2,
+ data_style => 'b',
+ link => $p.'browse/part_pkg_usage.html#pkgpart'.
+ $part_pkg->pkgpart
+ } ]
+ : ()
+ ),
+ ( map {
+ [ { data => $_->minutes,
+ align => 'right'
+ },
+ { data => $_->description,
+ align => 'left'
+ },
+ ]
+ } @part_pkg_usage
+ ),
];
};
) . '</FORM>';
}
+my @menubar;
+# show this if there are any voip_cdr packages defined
+if ( FS::part_pkg->count("plan = 'voip_cdr'") ) {
+ push @menubar, 'Per-package usage minutes' => $p.'browse/part_pkg_usage.html';
+}
</%init>