% include( 'elements/browse.html',
'title' => $title,
'name_singular' => 'rate',
'html_init' => $html_init,
'menubar' => [ 'Rate plans' => $p.'browse/rate.cgi' ],
'query' => {
'table' => 'rate_detail',
'addl_from' => $join,
'hashref' => { 'ratenum' => $ratenum },
'extra_sql' => $where,
},
'count_query' => "SELECT COUNT(*) FROM rate_detail $join".
" WHERE ratenum = $ratenum $where",
'header' => [
'Region',
'Prefix(es)',
'Included
minutes',
'Charge per
minute',
'Granularity',
'Usage class',
],
'fields' => [
'regionname',
sub { shift->dest_region->prefixes_short },
sub { shift->min_included.
' (edit)';
},
sub { $money_char. shift->min_charge.
' (edit)';
},
sub { $granularity{ shift->sec_granularity } },
'classname',
],
'links' => [ '', '', $edit_link, $edit_link, '', '' ],
'link_onclicks' => [ '', '', $edit_onclick, $edit_onclick, '', '' ],
'align' => 'llrrcc',
)
%>
<%once>
tie my %granularity, 'Tie::IxHash', FS::rate_detail::granularities();
my $conf = new FS::Conf;
my $money_char = $conf->config('money_char') || '$';
my $join =
' JOIN rate_region ON ( rate_detail.dest_regionnum = rate_region.regionnum )';
my $edit_link = [ 'javascript:void(0);', sub { ''; } ];
my $edit_onclick = sub {
my $rate_detail = shift;
my $ratedetailnum = $rate_detail->ratedetailnum;
include( '/elements/popup_link_onclick.html',
'action' => "${p}edit/rate_detail.html?$ratedetailnum",
'actionlabel' => 'Edit rate',
'height' => 420,
#default# 'width' => 540,
#default# 'color' => '#333399',
);
};
%once>
<%init>
die "access denied"
unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
my $html_init = include('/elements/init_overlib.html');
$cgi->param('ratenum') =~ /^(\d+)$/ or die "unparsable ratenum";
my $ratenum = $1;
my $rate = qsearchs('rate', { 'ratenum' => $ratenum } )
or die "unknown ratenum $ratenum";
my $ratename = $rate->ratename;
my $title = "$ratename rates";
my @where = ();
if ( $cgi->param('countrycode') =~ /^(\d+)$/ ) {
my $countrycode = $1;
push @where, "0 < ( SELECT COUNT(*) FROM rate_prefix
WHERE rate_prefix.regionnum = rate_region.regionnum
AND countrycode = '$countrycode'
)
";
$title .= " for +$countrycode";
}
my $where = scalar(@where) ? ' AND '.join(' AND ', @where ) : '';
%init>