X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Felements%2Fselect-cust-part_pkg.html;h=2d4cd183da5412fe8b6cbb51df213a06dedd4743;hp=8b446b95d49e7883c1aa43ecaaebcf9b4fb7c8fa;hb=f48ffc61601d08024aeff19ecd07d7420fc4e5b3;hpb=5e05724a635a22776f1b973f5d7e77989da4e048 diff --git a/httemplate/elements/select-cust-part_pkg.html b/httemplate/elements/select-cust-part_pkg.html index 8b446b95d..2d4cd183d 100644 --- a/httemplate/elements/select-cust-part_pkg.html +++ b/httemplate/elements/select-cust-part_pkg.html @@ -18,39 +18,18 @@ Example: -<% include( '/elements/select-table.html', - 'table' => 'part_pkg', - 'name_col' => 'pkg', - 'empty_label' => 'Select package', - 'label_callback' => sub { $_[0]->pkgpart. ': '. - $_[0]->pkg. ' - '. - $_[0]->comment; - }, +<& /elements/select-part_pkg.html, + 'empty_label' => emt('Select package'), #? need here in case removed + #from select-part_pkg ?? %opt, - ) -%> +&> <%init> my( %opt ) = @_; -my $cust_main = $opt{'cust_main'} - or die "cust_main not specified"; - -$opt{'records'} = delete $opt{'part_pkg'} - if $opt{'part_pkg'}; - -my $extra_sql = $opt{'extra_sql'}. - ' AND 0 < ( SELECT COUNT(*) FROM type_pkgs '. - ' WHERE typenum = '. $cust_main->agent->typenum. - ' AND type_pkgs.pkgpart = part_pkg.pkgpart )'; - -$opt{'records'} ||= [ qsearch({ - 'table' => 'part_pkg', - 'hashref' => { 'disabled' => '', }, - 'extra_sql' => "$extra_sql ORDER BY pkg", - #'extra_sql' => $extra_sql, - #'order_by' => 'ORDER BY pkg', - }) - ]; +my $cust_or_prospect_main = $opt{'cust_main'} || $opt{'prospect_main'} + or die "neither cust_main nor prospect_main specified"; + +$opt{'extra_sql'} .= ' AND '. FS::part_pkg->agent_pkgs_sql( $cust_or_prospect_main->agent );