[freeside-commits] freeside/httemplate/edit cdr_type.cgi, NONE, 1.1 rate.cgi, 1.17, 1.18 rate_detail.html, 1.6, 1.7 rate_region.cgi, 1.14, 1.15
Mark Wells
mark at wavetail.420.am
Fri Feb 11 15:59:29 PST 2011
Update of /home/cvs/cvsroot/freeside/httemplate/edit
In directory wavetail.420.am:/tmp/cvs-serv19280/httemplate/edit
Modified Files:
rate.cgi rate_detail.html rate_region.cgi
Added Files:
cdr_type.cgi
Log Message:
rate selection by CDR type, RT#10991
Index: rate.cgi
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/edit/rate.cgi,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -w -d -r1.17 -r1.18
--- rate.cgi 22 Jul 2010 00:11:55 -0000 1.17
+++ rate.cgi 11 Feb 2011 23:59:27 -0000 1.18
@@ -26,8 +26,24 @@
% if($rate->ratenum) {
<BR><BR><FONT SIZE="+2">Rates in this plan</FONT>
+% if ( my $select_cdr_type = include('/elements/select-cdr_type.html',
+% 'curr_value' => $cdrtypenum,
+% 'onchange' => 'form.submit();',
+% 'name_col' => 'cdrtypename',
+% 'value_col' => 'cdrtypenum',
+% 'empty_label' => '(default)',
+% ) ) {
+<FORM ACTION="<%$cgi->url%>" METHOD="GET">
+<INPUT TYPE="hidden" NAME="ratenum" VALUE="<% $rate->ratenum %>">
+<INPUT TYPE="hidden" NAME="countrycode" VALUE="<% $countrycode %>">
+<FONT SIZE="+1">Usage type: <% $select_cdr_type %></FONT>
+</FORM>
+% }
+
<% include('/edit/elements/rate_detail.html',
- 'ratenum' => $rate->ratenum
+ 'ratenum' => $rate->ratenum,
+ 'countrycode' => $countrycode,
+ 'cdrtypenum' => $cdrtypenum,
) %>
% }
@@ -39,13 +55,21 @@
unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
my $rate;
-if ( $cgi->keywords ) {
- my($query) = $cgi->keywords;
- $query =~ /^(\d+)$/;
+if ( $cgi->param('ratenum') ) {
+ $cgi->param('ratenum') =~ /^(\d+)$/;
$rate = qsearchs( 'rate', { 'ratenum' => $1 } );
} else { #adding
$rate = new FS::rate {};
}
my $action = $rate->ratenum ? 'Edit' : 'Add';
+my $countrycode = '';
+if ( $cgi->param('countrycode') =~ /^(\d+)$/ ) {
+ $countrycode = $1;
+}
+
+my $cdrtypenum = '';
+if ( $cgi->param('cdrtypenum') =~ /^(\d+)$/ ) {
+ $cdrtypenum = $1;
+}
</%init>
--- NEW FILE: cdr_type.cgi ---
<% include('/elements/header.html', { title => 'CDR Types' } ) %>
<% include('/elements/menubar.html', 'Rate plans' => "${p}browse/rate.cgi" ) %>
<BR><% include('/elements/error.html') %>
<BR>
CDR types define types of phone usage for billing, such as voice
calls and SMS messages. Each CDR type must have a set of rates
configured in the rate tables.
<BR>
<FORM METHOD="POST" ACTION="<% "${p}edit/process/cdr_type.cgi" %>">
<% include('/elements/auto-table.html',
'header' => [ 'Type#', 'Name' ],
'fields' => [ qw( cdrtypenum cdrtypename ) ],
'data' => \@data,
) %>
<INPUT TYPE="submit" VALUE="Apply changes"> </FORM> <BR>
<% include('/elements/footer.html') %>
<%init>
die "access denied"
unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
my @data = (
map { [ $_->cdrtypenum, $_->cdrtypename ] }
qsearch({
'table' => 'cdr_type',
'hashref' => {},
'order_by' => 'ORDER BY cdrtypenum ASC'
})
);
</%init>
Index: rate_region.cgi
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/edit/rate_region.cgi,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -w -d -r1.14 -r1.15
--- rate_region.cgi 22 Jul 2010 00:11:55 -0000 1.14
+++ rate_region.cgi 11 Feb 2011 23:59:27 -0000 1.15
@@ -35,17 +35,28 @@
</TABLE>
-<BR><BR>
+<BR>
<INPUT TYPE="submit" VALUE="<% $rate_region->regionnum ? "Apply changes" : "Add region" %>">
</FORM>
%# rate plan info, if the region has been created yet
% if($rate_region->regionnum) {
-<BR>
-<BR>
-<FONT SIZE="+2">Rates in this region</FONT>
+<BR><BR><FONT SIZE="+2">Rates in this region</FONT>
+% if ( my $select_cdr_type = include('/elements/select-cdr_type.html',
+% 'curr_value' => $cdrtypenum,
+% 'onchange' => 'form.submit();',
+% 'name_col' => 'cdrtypename',
+% 'value_col' => 'cdrtypenum',
+% 'empty_label' => '(default)',
+% ) ) {
+<FORM ACTION="<%$cgi->url%>" METHOD="GET">
+<INPUT TYPE="hidden" NAME="regionnum" VALUE="<% $rate_region->regionnum %>">
+<FONT SIZE="+1">Usage type: <% $select_cdr_type %></FONT>
+</FORM>
+% }
<% include('/edit/elements/rate_detail.html',
'regionnum' => $rate_region->regionnum,
+ 'cdrtypenum' => $cdrtypenum,
) %>
% }
@@ -68,9 +79,8 @@
$rate_region = new FS::rate_region ( {
map { $_, scalar($cgi->param($_)) } fields('rate_region')
} );
-} elsif ( $cgi->keywords ) {
- my($query) = $cgi->keywords;
- $query =~ /^(\d+)$/ or die "unparsable regionnum";
+} elsif ( $cgi->param('regionnum') ) {
+ $cgi->param('regionnum') =~ /^(\d+)$/ or die "unparseable regionnum";
$rate_region = qsearchs( 'rate_region', { 'regionnum' => $1 } )
or die "unknown regionnum $1\n";
} else { #adding
@@ -91,5 +101,8 @@
unless $rate_prefix->countrycode eq $countrycode;
}
}
-
+my $cdrtypenum = '';
+if ( $cgi->param('cdrtypenum') =~ /^(\d+)$/ ) {
+ $cdrtypenum = $1;
+}
</%init>
Index: rate_detail.html
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/edit/rate_detail.html,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -w -d -r1.6 -r1.7
--- rate_detail.html 1 Jul 2010 01:53:50 -0000 1.6
+++ rate_detail.html 11 Feb 2011 23:59:27 -0000 1.7
@@ -18,6 +18,7 @@
{ field=>'orig_regionnum', type=>'hidden', },
{ field=>'dest_regionnum', type=>'hidden', },
{ field=>'ratetimenum', type=>'hidden', },
+ { field=>'cdrtypenum', type=>'hidden', },
{ field=>'dest_regionname', type=>'fixed', },
{ field=>'dest_prefixes_short', type=>'fixed', },
{ field=>'rate_time_name', type=>'fixed', },
@@ -49,6 +50,9 @@
{ ratenum => $cgi->param('ratenum'),
dest_regionnum => $cgi->param('dest_regionnum'),
ratetimenum => $cgi->param('ratetimenum'),
+ cdrtypenum => $cgi->param('cdrtypenum'),
+ min_included => 0,
+ conn_charge => 0,
}
},
)
More information about the freeside-commits
mailing list