optimize CDR rating after timed rate perf regression, RT#15739
[freeside.git] / httemplate / browse / part_pkg.cgi
index 26e0170..7668060 100755 (executable)
@@ -73,7 +73,7 @@ if ( $cgi->param('missing_recur_fee') ) {
   push @where, "0 = ( SELECT COUNT(*) FROM part_pkg_option
                         WHERE optionname = 'recur_fee'
                           AND part_pkg_option.pkgpart = part_pkg.pkgpart
-                          AND CAST ( optionvalue AS NUMERIC ) > 0
+                          AND CAST( optionvalue AS NUMERIC ) > 0
                     )";
 }
 
@@ -148,6 +148,7 @@ my $filter_change =
 #restore this so pagination works
 $cgi->param('classnum', $classnum) if length($classnum);
 
+#should hide this if there aren't any classes
 my $html_posttotal =
   "$filter_change\n<BR>( show class: ".
   include('/elements/select-pkg_class.html',
@@ -219,20 +220,34 @@ push @fields, sub {
                sprintf('%.2f', $part_pkg->option('setup_fee') ),
         align=>'right'
       },
-      { data => ( $is_recur ? ' setup' : ' one-time' ),
+      { data => ( ( $is_recur ? ' setup' : ' one-time' ).
+                  ( $part_pkg->option('recur_fee') == 0
+                      && $part_pkg->setup_show_zero
+                    ? ' (printed on invoices)'
+                    : ''
+                  )
+                ),
         align=>'left',
       },
     ],
     [
-      { data=>( $is_recur
-                  ? $money_char.sprintf('%.2f ', $part_pkg->option('recur_fee') )
-                  : $part_pkg->freq_pretty
-              ),
+      { data=>(
+          $is_recur
+            ? $money_char. sprintf('%.2f ', $part_pkg->option('recur_fee'))
+            : $part_pkg->freq_pretty
+        ),
         align=> ( $is_recur ? 'right' : 'center' ),
         colspan=> ( $is_recur ? 1 : 2 ),
       },
       ( $is_recur
-        ?  { data => ( $is_recur ? $part_pkg->freq_pretty : '' ),
+        ?  { data => ( $is_recur
+               ? $part_pkg->freq_pretty.
+                 ( $part_pkg->option('recur_fee') == 0
+                     && $part_pkg->recur_show_zero
+                   ? ' (printed on invoices)'
+                   : ''
+                 )
+               : '' ),
              align=>'left',
            }
         : ()