rate cost fields, RT#27555
[freeside.git] / httemplate / edit / elements / rate_detail.html
index faf11f8..14b5211 100644 (file)
@@ -35,14 +35,14 @@ with row headers showing the region name and prefixes.
 %     $region = $r;
 %     foreach ($r->regionname, $r->prefixes_short) {
   <TD>
-    <A HREF="<% $p.'edit/rate_region.cgi?'.$r->regionnum %>"><% $_ %></A>
+    <A HREF="<% $p.'edit/rate_region.cgi?regionnum='.$r->regionnum %>"><% $_ %></A>
   </TD>
 %     }
 %   }
 %   elsif ( !$opt{'ratenum'} ) {
 %     $rate = $r;
   <TD>
-    <A HREF="<% $p.'edit/rate.cgi?'.$r->ratenum %>"><% $r->ratename %></A>
+    <A HREF="<% $p.'edit/rate.cgi?ratenum='.$r->ratenum %>"><% $r->ratename %></A>
   </TD>
 %   }
 %   foreach my $rate_time (@rate_time, '') {
@@ -52,16 +52,20 @@ 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_cost %> cost)
+%             }
       <% $edit_hint %></A>
       </TD></TR>
       <% granularity_detail($detail) %>
       <% min_included_detail($detail) %>
       <% conn_charge_detail($detail) %>
-      <TR><TD><% $rate_time ? delete_link($detail) : '' %></TD></TR>
+      <TR><TD><% ( $rate_time || $cdrtypenum ) ? delete_link($detail) : '' %>
+      </TD></TR>
     </TABLE>
 %     }
 %     else { #!$detail
-    <% add_link($rate, $region, $rate_time) %>
+    <% add_link($rate, $region, $rate_time, $cdrtypenum) %>
 %     }
 %     $col++;
   </TD>
@@ -91,25 +95,25 @@ 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',
          ) . '">'
 }
 
 sub add_link {
-  my ($rate, $region, $rate_time) = @_;
+  my ($rate, $region, $rate_time, $cdrtypenum) = @_;
   '<A HREF="javascript:void(0);" onclick="'.
   include( '/elements/popup_link_onclick.html',
              'action'      => "${p}edit/rate_detail.html?ratenum=".
                                   $rate->ratenum.
                                ';dest_regionnum='.
                                   $region->regionnum.
-                               ($rate_time ? 
-                                 ';ratetimenum='.$rate_time->ratetimenum :
-                                 ''),
+                               ';ratetimenum='.
+                                 ($rate_time ? $rate_time->ratetimenum : '').
+                               ";cdrtypenum=$cdrtypenum",
              'actionlabel' => 'Add rate',
-             'height'      => 420,
+             'height'      => 460,
              ).'">'.small('(add)').'</A>'
 }
 
@@ -156,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>'
   }
@@ -172,6 +180,7 @@ die "access denied"
 my %opt = @_;
 my $ratenum = $opt{'ratenum'} || '';
 my $regionnum = $opt{'regionnum'} || '';
+my $cdrtypenum = $opt{'cdrtypenum'} || '';
 
 # either of these, if the $opt isn't passed, will be set to the 
 # correct object when generating each row.
@@ -202,10 +211,10 @@ if ( $ratenum ) {
                 )";
     }
     @rows = qsearch({ table     => 'rate_region',
-                      hashref   => { },
+                      hashref   => {},
                       extra_sql => $where,
                     });
-    die "no region found" if !@rows;
+    #die "no region found" if !@rows;
 
     unshift @header, 'Region', 'Prefix(es)';
     unshift @hlinks, '', '';
@@ -214,6 +223,7 @@ if ( $ratenum ) {
      push @details, [ map { qsearchs('rate_detail', 
                                       { 'ratenum'        => $ratenum,
                                         'dest_regionnum' => $region->regionnum,
+                                        'cdrtypenum'     => $cdrtypenum,
                                         'ratetimenum'    => $_ } ) or ''
                           } @rtns
                     ];
@@ -227,6 +237,7 @@ elsif ( $regionnum ) {
     push @details, [ map { qsearchs('rate_detail',
                                      { 'ratenum'        => $rate->ratenum,
                                        'dest_regionnum' => $regionnum,
+                                       'cdrtypenum'     => $cdrtypenum,
                                        'ratetimenum'    => $_ } ) or ''
                          } @rtns
                    ];