Merge branch 'master' of git.freeside.biz:/home/git/freeside
[freeside.git] / httemplate / search / contact.html
1 <& elements/search.html,
2   title         => 'Contacts',
3   name_singular => 'contact',
4   query         => { select    => $select,
5                      table     => 'contact',
6                      addl_from => $addl_from,
7                      hashref   => \%hash,
8                      extra_sql => $extra_sql,
9                    },
10   count_query   => "SELECT COUNT(*) FROM contact $extra_sql", #XXX
11   header        => [ 'First', 'Last', 'Title', 'Company', 'Self-service', ],
12   fields        => [ 'first', 'last', 'title', 'company', 'selfservice_access' ],
13   links         => [ '', '', '', $company_link, '', ],
14 &>
15 <%init>
16
17 my $select = 'contact.*';
18 my %hash = ();
19 my $addl_from = '';
20
21 my $company_link = '';
22
23 if ( $cgi->param('selfservice_access') eq 'Y' ) {
24   $hash{'selfservice_access'} = 'Y';
25 }
26
27 my $extra_sql = '';
28 if ( $cgi->param('cust_main') ) {
29   $select .= ', cust_main.company';
30   $addl_from = ' LEFT JOIN cust_main USING ( custnum )';
31   $extra_sql = ' custnum IS NOT NULL ';
32   $company_link  = [ $p.'view/cust_main.cgi?', 'custnum' ];
33 } elsif ( $cgi->param('prospect_main') ) {
34   $select .= ', prospect_main.company';
35   $addl_from = ' LEFT JOIN prospect_main USING ( prospectnum )';
36   $extra_sql = ' prospectnum IS NOT NULL ';
37   $company_link  = [ $p.'view/prospect_main.html?', 'prospectnum' ];
38 }
39
40 $extra_sql = (keys(%hash) ? ' AND ' : ' WHERE '). $extra_sql
41  if $extra_sql;
42
43 </%init>