communigate (phase 2): rules: show conditions/actions on rule browse, fix rule edit...
[freeside.git] / httemplate / browse / part_pkg.cgi
index 886c6c8..e226ce1 100755 (executable)
@@ -4,11 +4,11 @@
                  'html_posttotal'        => $html_posttotal,
                  'name'                  => 'package definitions',
                  'disableable'           => 1,
-                 'disabled_statuspos'    => 3,
+                 'disabled_statuspos'    => 4,
                  'agent_virt'            => 1,
                  'agent_null_right'      => [ $edit, $edit_global ],
                  'agent_null_right_link' => $edit_global,
-                 'agent_pos'             => 5,
+                 'agent_pos'             => 6,
                  'query'                 => { 'select'    => $select,
                                               'table'     => 'part_pkg',
                                               'hashref'   => \%hash,
@@ -57,7 +57,7 @@ my @where = ();
 
 if ( $cgi->param('recurring') ) {
   $hash{'freq'} = { op=>'!=', value=>'0' };
-  $extra_count = ' freq != 0 ';
+  $extra_count = " freq != '0' ";
 }
 
 my $classnum = '';
@@ -152,14 +152,24 @@ my $html_posttotal =
          ).
   ' )';
 
+my $recur_toggle = $cgi->param('recurring') ? 'show' : 'hide';
+$cgi->param('recurring', $cgi->param('recurring') ^ 1 );
+
+$html_posttotal .=
+  '( <A HREF="'. $cgi->self_url.'">'. "$recur_toggle one-time charges</A> )";
+
+$cgi->param('recurring', $cgi->param('recurring') ^ 1 ); #put it back
+
 # ------
 
 my $link = [ $p.'edit/part_pkg.cgi?', 'pkgpart' ];
 
-my @header = ( '#', 'Package', 'Comment' );
-my @fields = ( 'pkgpart', 'pkg', 'comment' );
-my $align = 'rll';
-my @links = ( $link, $link, '' );
+my @header = ( '#', 'Package', 'Comment', 'Custom' );
+my @fields = ( 'pkgpart', 'pkg', 'comment',
+               sub{ '<B><FONT COLOR="#0000CC">'.$_[0]->custom.'</FONT></B>' }
+             );
+my $align = 'rllc';
+my @links = ( $link, $link, '', '' );
 
 unless ( 0 ) { #already showing only one class or something?
   push @header, 'Class';
@@ -167,6 +177,12 @@ unless ( 0 ) { #already showing only one class or something?
   $align .= 'l';
 }
 
+if ( $conf->exists('pkg-addon_classnum') ) {
+  push @header, "Add'l order class";
+  push @fields, sub { shift->addon_classname || '(none)'; };
+  $align .= 'l';
+}
+
 tie my %plans, 'Tie::IxHash', %{ FS::part_pkg::plan_info() };
 
 tie my %plan_labels, 'Tie::IxHash',