[freeside-commits] branch master updated. b988005162046dcbaa3d4f167f507ba6d6bb80e4

Ivan ivan at 420.am
Wed May 28 02:32:53 PDT 2014


The branch, master has been updated
       via  b988005162046dcbaa3d4f167f507ba6d6bb80e4 (commit)
      from  e7ad2eb96136818535381e41c2483bea121084cc (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit b988005162046dcbaa3d4f167f507ba6d6bb80e4
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Wed May 28 02:32:52 2014 -0700

    rate cost fields, RT#27555

diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm
index 12064af..72147b3 100644
--- a/FS/FS/Schema.pm
+++ b/FS/FS/Schema.pm
@@ -4772,13 +4772,15 @@ sub tables_hashref {
         'dest_regionnum',  'int',     '',     '',      '', '', 
         'min_included',    'int',     '',     '',      '', '', 
         'conn_charge',     'decimal', '', '10,4', '0.0000', '',
+        'conn_cost',       'decimal', '', '10,4', '0.0000', '',
         'conn_sec',        'int',     '',     '',      '0', '',
         'min_charge',      'decimal', '', '10,5',       '', '',
+        'min_cost',        'decimal', '', '10,5','0.00000', '',
         'sec_granularity', 'int',     '',     '',       '', '', 
         'ratetimenum',     'int', 'NULL',     '',       '', '',
         'classnum',        'int', 'NULL',     '',       '', '', 
         'cdrtypenum',      'int', 'NULL',     '',       '', '',
-        'region_group', 'char', 'NULL',        1,       '', '', 
+        'region_group',   'char', 'NULL',      1,       '', '', 
       ],
       'primary_key'  => 'ratedetailnum',
       'unique'       => [ [ 'ratenum', 'orig_regionnum', 'dest_regionnum' ] ],
diff --git a/FS/FS/rate_detail.pm b/FS/FS/rate_detail.pm
index 66c5c97..d81d9db 100644
--- a/FS/FS/rate_detail.pm
+++ b/FS/FS/rate_detail.pm
@@ -129,7 +129,10 @@ sub check {
 
     #|| $self->ut_money('min_charge')
     #good enough for now...
+    || $self->ut_floatn('conn_charge')
+    || $self->ut_floatn('conn_cost')
     || $self->ut_float('min_charge')
+    || $self->ut_floatn('min_cost')
 
     || $self->ut_number('sec_granularity')
 
diff --git a/httemplate/browse/rate_region.html b/httemplate/browse/rate_region.html
index b0ce467..962841d 100644
--- a/httemplate/browse/rate_region.html
+++ b/httemplate/browse/rate_region.html
@@ -96,8 +96,9 @@ sub _rate_detail_factory {
   my( $rate, $field ) = @_;
   return sub {
     my $rate_detail = $rate->dest_detail(shift)
-                      || new FS::rate_region { 'min_included'    => 0,
+                      || new FS::rate_detail { 'min_included'    => 0,
                                                'min_charge'      => 0,
+                                               'min_cost'        => 0,
                                                'sec_granularity' => 0,
                                              };
     my $value = $rate_detail->$field();
diff --git a/httemplate/edit/elements/rate_detail.html b/httemplate/edit/elements/rate_detail.html
index 1b597fb..cd3efe1 100644
--- a/httemplate/edit/elements/rate_detail.html
+++ b/httemplate/edit/elements/rate_detail.html
@@ -52,6 +52,9 @@ with row headers showing the region name and prefixes.
       <TABLE CLASS="inv" STYLE="border:none">
       <TR><TD><% edit_link($detail) %><% $money_char.$detail->min_charge %>
               <% $detail->sec_granularity ? ' / minute':' / call' %>
+%             if ( $detail->min_cost ) {
+                (<% $money_char.$detail->min_charge %> cost)
+%             }
       <% $edit_hint %></A>
       </TD></TR>
       <% granularity_detail($detail) %>
@@ -92,7 +95,7 @@ sub edit_link {
   include( '/elements/popup_link_onclick.html',
              'action'      => "${p}edit/rate_detail.html?$ratedetailnum",
              'actionlabel' => 'Edit rate',
-             'height'      => 420,
+             'height'      => 460,
              #default# 'width'       => 540,
              #default# 'color'       => '#333399',
          ) . '">'
@@ -110,7 +113,7 @@ sub add_link {
                                  ($rate_time ? $rate_time->ratetimenum : '').
                                ";cdrtypenum=$cdrtypenum",
              'actionlabel' => 'Add rate',
-             'height'      => 420,
+             'height'      => 460,
              ).'">'.small('(add)').'</A>'
 }
 
@@ -157,7 +160,11 @@ sub conn_charge_detail {
   #return '' unless $rate_detail->conn_charge > 0 || $rate_detail->conn_sec;
     '<TR><TD>'.
     small( $money_char. $rate_detail->conn_charge.
-      ' for '.$conn_secs{$rate_detail->conn_sec}
+             ( $rate_detail->conn_cost
+                 ? ' ('. $money_char.$rate_detail->conn_cost. ' cost)'
+                 : ''
+             ).
+           ' for '. $conn_secs{$rate_detail->conn_sec}
     ).
     '</TD></TR>'
   }
diff --git a/httemplate/edit/process/rate_region.cgi b/httemplate/edit/process/rate_region.cgi
index d342e60..87d634a 100755
--- a/httemplate/edit/process/rate_region.cgi
+++ b/httemplate/edit/process/rate_region.cgi
@@ -2,7 +2,7 @@
 %  $cgi->param('error', $error);
 <% $cgi->redirect(popurl(2). "rate_region.cgi?". $cgi->query_string ) %>
 %} elsif ( $action eq 'Add' ) {
-<% $cgi->redirect(popurl(2). "rate_region.cgi?$regionnum") %>
+<% $cgi->redirect(popurl(2). "rate_region.cgi?regionnum=$regionnum") %>
 %} else { 
 <% $cgi->redirect(popurl(3). "browse/rate_region.html") %>
 %}
diff --git a/httemplate/edit/rate_detail.html b/httemplate/edit/rate_detail.html
index 0e40689..0de6ecc 100644
--- a/httemplate/edit/rate_detail.html
+++ b/httemplate/edit/rate_detail.html
@@ -8,10 +8,12 @@
                    'rate_time_name'      => 'Time period',
                    'min_included'        => 'Included minutes/calls',
                    'region_group'        => 'Region Group',
-                   'conn_charge'         => 'Connection charge',
+                   'conn_charge'         => 'Retail connection charge',
                    'conn_sec'            => 'For',
-                   'min_charge'          => 'Charge per minute/call',
+                   'min_charge'          => 'Retail charge per minute/call',
                    'sec_granularity'     => 'Granularity',
+                   'conn_cost'           => 'Wholesale connection cost',
+                   'min_cost'            => 'Wholesale cost per minute/call',
                    'classnum'            => 'Usage class',
                  },
      'fields' => [
@@ -29,6 +31,7 @@
                    },
                    { field=>'min_included',        type=>'text',  size=>5 },
                    { field=>'conn_charge',         type=>'money', size=>4 },
+                   { field=>'conn_cost',         type=>'money', size=>4 },
                    { field          =>'conn_sec',
                       type          =>'select',
                       options       => [ keys %conn_secs ],
@@ -36,6 +39,7 @@
                       disable_empty => 1,
                    },
                    { field=>'min_charge',          type=>'money', size=>4 },
+                   { field=>'min_cost',          type=>'money', size=>4 },
                    { field         =>'sec_granularity',
                      type          =>'select',
                      options       => [ keys %granularity ],
diff --git a/httemplate/misc/process/copy-rate_detail.html b/httemplate/misc/process/copy-rate_detail.html
index 60b2aeb..94acce0 100644
--- a/httemplate/misc/process/copy-rate_detail.html
+++ b/httemplate/misc/process/copy-rate_detail.html
@@ -47,7 +47,8 @@ foreach my $countrycode ( @countrycodes ) {
                           || new FS::rate_detail   \%hash;
 
     $dst_rate_detail->$_( $src_rate_detail->get($_) )
-      foreach qw( min_included conn_charge conn_sec min_charge sec_granularity classnum );
+      foreach qw( min_included conn_charge conn_sec min_charge sec_granularity
+                  conn_cost min_cost classnum );
 
     my $method = $dst_rate_detail->ratedetailnum ? 'replace' : 'insert';
 

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/Schema.pm                               |    4 +++-
 FS/FS/rate_detail.pm                          |    3 +++
 httemplate/browse/rate_region.html            |    3 ++-
 httemplate/edit/elements/rate_detail.html     |   13 ++++++++++---
 httemplate/edit/process/rate_region.cgi       |    2 +-
 httemplate/edit/rate_detail.html              |    8 ++++++--
 httemplate/misc/process/copy-rate_detail.html |    3 ++-
 7 files changed, 27 insertions(+), 9 deletions(-)




More information about the freeside-commits mailing list