summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjeff <jeff>2008-03-26 15:43:08 +0000
committerjeff <jeff>2008-03-26 15:43:08 +0000
commitd9a8f186ad87e9b19da7383f88ab5eb0b614a138 (patch)
treeb09471a4504b91e2c6eb1d661d203de3293a4f18
parent6f3d99ddb0889c3f75197b88a4cc1c785c483fe9 (diff)
fixup per call billing
-rw-r--r--FS/FS/rate_detail.pm26
-rw-r--r--httemplate/browse/rate_detail.html7
-rw-r--r--httemplate/edit/rate_detail.html12
-rw-r--r--httemplate/edit/rate_region.cgi8
4 files changed, 32 insertions, 21 deletions
diff --git a/FS/FS/rate_detail.pm b/FS/FS/rate_detail.pm
index ad41b40..533fb1e 100644
--- a/FS/FS/rate_detail.pm
+++ b/FS/FS/rate_detail.pm
@@ -5,6 +5,7 @@ use vars qw( @ISA );
use FS::Record qw( qsearch qsearchs );
use FS::rate;
use FS::rate_region;
+use Tie::IxHash;
@ISA = qw(FS::Record);
@@ -189,6 +190,31 @@ sub dest_prefixes_short {
=back
+=head1 SUBROUTINES
+
+=over 4
+
+=item granularities
+
+ Returns an (ordered) hash of granularity => name pairs
+
+=cut
+
+tie my %granularities, 'Tie::IxHash',
+ '1', => '1 second',
+ '6' => '6 second',
+ '30' => '30 second', # '1/2 minute',
+ '60' => 'minute',
+ '0' => 'call',
+;
+
+sub granularities {
+ %granularities;
+}
+
+
+=back
+
=head1 BUGS
=head1 SEE ALSO
diff --git a/httemplate/browse/rate_detail.html b/httemplate/browse/rate_detail.html
index 5dde85f..044d5c6 100644
--- a/httemplate/browse/rate_detail.html
+++ b/httemplate/browse/rate_detail.html
@@ -36,12 +36,7 @@
%>
<%once>
-my %granularity = (
- '1', => '1 second',
- '6' => '6 second',
- '30' => '30 second', # '1/2 minute',
- '60' => 'minute',
-);
+tie my %granularity, 'Tie::IxHash', FS::rate_detail::granularities();
my $conf = new FS::Conf;
my $money_char = $conf->config('money_char') || '$';
diff --git a/httemplate/edit/rate_detail.html b/httemplate/edit/rate_detail.html
index b9eaf65..73d2d9b 100644
--- a/httemplate/edit/rate_detail.html
+++ b/httemplate/edit/rate_detail.html
@@ -19,7 +19,7 @@
{ field=>'min_charge', type=>'money', size=>4 },
{ field =>'sec_granularity',
type =>'select',
- options => [qw( 1 6 30 60 )],
+ options => [ keys %granularity ],
labels => \%granularity,
disable_empty => 1,
},
@@ -29,12 +29,7 @@
%>
<%once>
-tie my %granularity, 'Tie::IxHash',
- '1', => '1 second',
- '6' => '6 second',
- '30' => '30 second', # '1/2 minute',
- '60' => 'minute',
-;
+tie my %granularity, 'Tie::IxHash', FS::rate_detail::granularities();
</%once>
@@ -46,7 +41,8 @@ die "access denied"
#slightly inefficient, i suppose an edit+error callback would be better
my $name = 'rate';
-if ( $cgi->keywords =~ /^(\d+)$/
+my ($keywords) = $cgi->keywords;
+if ( $keywords =~ /^(\d+)$/
|| $cgi->param('ratedetailnum') =~ /^(\d+)$/ ) {
my $rate_detail = qsearchs('rate_detail', { 'ratedetailnum' => $1 } )
or die "unknown ratedetailnum $1";
diff --git a/httemplate/edit/rate_region.cgi b/httemplate/edit/rate_region.cgi
index 04f285f..c58fc80 100644
--- a/httemplate/edit/rate_region.cgi
+++ b/httemplate/edit/rate_region.cgi
@@ -132,13 +132,7 @@ my $action = $rate_region->regionnum ? 'Edit' : 'Add';
my $p1 = popurl(1);
-tie my %granularity, 'Tie::IxHash',
- '1', => '1 second',
- '6' => '6 second',
- '30' => '30 second', # '1/2 minute',
- '60' => 'minute',
- '0' => 'call',
-;
+tie my %granularity, 'Tie::IxHash', FS::rate_detail::granularities();
my @rate_prefix = $rate_region->rate_prefix;
my $countrycode = '';