X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Felements%2Fselect-part_pkg.html;h=6b697abdf6e6a03d2b3ae3b7f47b56eb436e0291;hb=740a284c94d57bd755baa58dae36eae5bc581e44;hp=cd6d24c28695dcdbff3c94d8e31f6dd67c99fb8f;hpb=24533a22a23e211888fcc36a5177c0def5c77de3;p=freeside.git diff --git a/httemplate/elements/select-part_pkg.html b/httemplate/elements/select-part_pkg.html index cd6d24c28..6b697abdf 100644 --- a/httemplate/elements/select-part_pkg.html +++ b/httemplate/elements/select-part_pkg.html @@ -22,31 +22,27 @@ Example: 'name_col' => 'pkg', 'empty_label' => 'Select package', #should this be the default? 'label_callback' => sub { shift->pkg_comment }, - 'hashref' => { 'disabled' => '' }, + 'hashref' => \%hash, %opt, ) %> <%init> - + my( %opt ) = @_; $opt{'records'} = delete $opt{'part_pkg'} if $opt{'part_pkg'}; -#false laziness w/browse/part_pkg.cgi -my $agentnums = join(',', $FS::CurrentUser::CurrentUser->agentnums); - -$opt{'extra_sql'} .= - " AND ( agentnum IS NOT NULL - OR 0 < ( SELECT COUNT(*) - FROM type_pkgs - LEFT JOIN agent_type USING ( typenum ) - LEFT JOIN agent AS typeagent USING ( typenum ) - WHERE type_pkgs.pkgpart = part_pkg.pkgpart - AND typeagent.agentnum IN ($agentnums) - ) - ) - "; -#eofalse +my %hash = ( 'disabled' => '' ); + +if ( exists($opt{'classnum'}) && defined($opt{'classnum'}) ) { + if ( $opt{'classnum'} > 0 ) { + $hash{'classnum'} = $opt{'classnum'}; + } elsif ( $opt{'classnum'} eq '' || $opt{'classnum'} == 0 ) { + $hash{'classnum'} = ''; + } #else -1 or not specified, all classes, so don't set classnum +} + +$opt{'extra_sql'} .= ' AND '. FS::part_pkg->curuser_pkgs_sql;