[freeside-commits] freeside/httemplate/elements select-cust-part_pkg.html, NONE, 1.1.2.2

Ivan,,, ivan at wavetail.420.am
Thu Aug 2 16:01:04 PDT 2007


Update of /home/cvs/cvsroot/freeside/httemplate/elements
In directory wavetail:/tmp/cvs-serv27120/httemplate/elements

Added Files:
      Tag: FREESIDE_1_7_BRANCH
	select-cust-part_pkg.html 
Log Message:
fix slowness on change package and also make it into a popup

--- NEW FILE: select-cust-part_pkg.html ---
<%doc>

Example:

  include( '/elements/select-cust-part_pkg.html',

    #required
    'cust_main'  => $cust_main, #or 'custnum' ? 
             
    #strongly recommended (you want your forms to be "sticky" on errors, right?)
    'curr_value' => 'current_value',
  
    #opt
    'part_pkg'   => \@records,

    #select-table.html options
  )

</%doc>

<% include( '/elements/select-table.html',
              'table'          => 'part_pkg',
              'name_col'       => 'pkg',
              'empty_label'    => 'Select package',
              'label_callback' => sub { $_[0]->pkgpart. ': '.
                                        $_[0]->pkg.     ' - '.
                                        $_[0]->comment;
                                      },
              %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',
                             })
                    ];

</%init>



More information about the freeside-commits mailing list