diff options
Diffstat (limited to 'httemplate/browse/rate_detail.html')
-rw-r--r-- | httemplate/browse/rate_detail.html | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/httemplate/browse/rate_detail.html b/httemplate/browse/rate_detail.html new file mode 100644 index 000000000..23bc23ff8 --- /dev/null +++ b/httemplate/browse/rate_detail.html @@ -0,0 +1,92 @@ +<% 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<BR>minutes', + 'Charge per<BR>minute', + 'Granularity', + 'Usage class', + ], + 'fields' => [ + 'regionname', + sub { shift->dest_region->prefixes_short }, + sub { shift->min_included. + ' <FONT SIZE="-1">(edit)</FONT>'; + }, + sub { $money_char. shift->min_charge. + ' <FONT SIZE="-1">(edit)</FONT>'; + }, + 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> |