[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