X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Frate_region.cgi;h=f77c0dbe770b403d385627fa025f866657be140f;hb=7b125e587a4d1ee0aca692e23ea7897f671855ae;hp=cc14dd37dc0c36df9dca6618a738e3719dd01acb;hpb=f7fd2a3e34da751cbc02bbf215e99c6dc89adc15;p=freeside.git diff --git a/httemplate/edit/rate_region.cgi b/httemplate/edit/rate_region.cgi index cc14dd37d..f77c0dbe7 100644 --- a/httemplate/edit/rate_region.cgi +++ b/httemplate/edit/rate_region.cgi @@ -1,5 +1,161 @@ - -<% +<% include("/elements/header.html","$action Region", menubar( + 'View all regions' => "${p}browse/rate_region.html", + )) +%> + +<% include('/elements/error.html') %> + +
+ + + +%# region info + +<% ntable('#cccccc') %> + + + Region name + + + + + Country code + + + + + + Prefixes +
(comma-separated) + + + + + + + + +%# rate plan info + +
+ +<% include('/elements/table-grid.html') %> +% my $bgcolor1 = '#eeeeee'; +% my $bgcolor2 = '#ffffff'; +% my $bgcolor = ''; + + + + Rate plan + + + Included
minutes/calls
+ + + Connection
charge
+ + + Connection
charge for
+ + + Charge per
minute/call
+ + + Granularity + + + Usage class + + + +% foreach my $rate ( qsearch('rate', {}) ) { +% +% my $n = $rate->ratenum; +% my $rate_detail = $rate->dest_detail($rate_region) +% || new FS::rate_region { 'min_included' => 0, +% 'min_charge' => 0, +% 'sec_granularity' => '60' +% }; +% +% if ( $bgcolor eq $bgcolor1 ) { +% $bgcolor = $bgcolor2; +% } else { +% $bgcolor = $bgcolor1; +% } + + + + + <% $rate->ratename %> + + + + min_included |h %>"> + + + + <%$money_char%>conn_charge |h %>"> + + + + min_charge |h %>"> + + + + + + + + <% include( '/elements/select-table.html', + 'element_name' => "classnum$n", + 'table' => 'usage_class', + 'name_col' => 'classname', + 'empty_label' => '(default)', + 'hashref' => { disabled => '' }, + 'curr_value' => ( $cgi->param("classnum$n") || + $rate_detail->classnum ), + ) + %> + + + + +% } + + + + +

+"> + +
+ +<% include('/elements/footer.html') %> +<%once> + +tie my %conn_secs, 'Tie::IxHash', FS::rate_detail::conn_secs(); + + +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); + +my $conf = new FS::Conf; +my $money_char = $conf->config('money_char') || '$'; my $rate_region; if ( $cgi->param('error') ) { @@ -8,8 +164,9 @@ if ( $cgi->param('error') ) { } ); } elsif ( $cgi->keywords ) { my($query) = $cgi->keywords; - $query =~ /^(\d+)$/; - $rate_region = qsearchs( 'rate_region', { 'regionnum' => $1 } ); + $query =~ /^(\d+)$/ or die "unparsable regionnum"; + $rate_region = qsearchs( 'rate_region', { 'regionnum' => $1 } ) + or die "unknown regionnum $1\n"; } else { #adding $rate_region = new FS::rate_region {}; } @@ -17,98 +174,16 @@ my $action = $rate_region->regionnum ? 'Edit' : 'Add'; my $p1 = popurl(1); -my %granularity = ( - '6' => '6 second', - '60' => 'minute', -); +tie my %granularity, 'Tie::IxHash', FS::rate_detail::granularities(); my @rate_prefix = $rate_region->rate_prefix; my $countrycode = ''; if ( @rate_prefix ) { $countrycode = $rate_prefix[0]->countrycode; foreach my $rate_prefix ( @rate_prefix ) { - eidiot 'multiple country codes per region not yet supported by web UI' + errorpage('multiple country codes per region not yet supported by web UI') unless $rate_prefix->countrycode eq $countrycode; } } -%> - -<%= header("$action Region", menubar( - 'Main Menu' => $p, - #'View all regions' => "${p}browse/rate_region.cgi", - )) -%> - -<% if ( $cgi->param('error') ) { %> -Error: <%= $cgi->param('error') %>
-<% } %> - -
- - - -<%= ntable('#cccccc') %> - - Region name - - - - - Country code - - - - - - Prefixes - - - - - - - -
-<%= table() %> - - Rate plan - Included
minutes
- Charge per
minute
- Granularity - - -<% foreach my $rate ( qsearch('rate', {}) ) { - - my $n = $rate->ratenum; - my $rate_detail = $rate->dest_detail($rate_region) - || new FS::rate_region { 'min_included' => 0, - 'min_charge' => 0, - 'sec_granularity' => '60' - }; - -%> - - <%= $rate->ratename %> - min_included %>"> - $min_charge ) %>"> - - - -<% } %> - - - -

"> - - - - - - +