improve performance of package add/edit (don't pull up pricing info in add-on/supplem...
[freeside.git] / httemplate / elements / select-part_pkg.html
index 6b697ab..bf58191 100644 (file)
@@ -15,17 +15,16 @@ Example:
 
 </%doc>
 
-<% include( '/elements/select-table.html',
-              'table'          => 'part_pkg',
-              'agent_virt'     => 1,
-              'agent_null'     => 1,
-              'name_col'       => 'pkg',
-              'empty_label'    => 'Select package', #should this be the default?
-              'label_callback' => sub { shift->pkg_comment },
-              'hashref'        => \%hash,
-              %opt,
-          )
-%>
+<& /elements/select-table.html,
+     'table'          => 'part_pkg',
+     'agent_virt'     => 1,
+     'agent_null'     => 1,
+     'name_col'       => 'pkg',
+     'empty_label'    => 'Select package', #should this be the default?
+     'label_callback' => $opt{'label_callback'} || sub { shift->pkg_comment },
+     'hashref'        => \%hash,
+     %opt,
+&>
 <%init>
  
 my( %opt ) = @_;
@@ -33,7 +32,8 @@ my( %opt ) = @_;
 $opt{'records'} = delete $opt{'part_pkg'}
   if $opt{'part_pkg'};
 
-my %hash = ( 'disabled' => '' );
+my %hash = ();
+$hash{'disabled'} = '' unless $opt{'showdisabled'};
 
 if ( exists($opt{'classnum'}) && defined($opt{'classnum'}) ) {
   if ( $opt{'classnum'} > 0 ) {
@@ -43,6 +43,7 @@ if ( exists($opt{'classnum'}) && defined($opt{'classnum'}) ) {
   } #else -1 or not specified, all classes, so don't set classnum
 }
 
-$opt{'extra_sql'} .= ' AND '. FS::part_pkg->curuser_pkgs_sql;
+$opt{'extra_sql'} .= ( keys(%hash) ? ' AND ' : ' WHERE ' ).
+                     FS::part_pkg->curuser_pkgs_sql;
 
 </%init>