summaryrefslogtreecommitdiff
path: root/httemplate/search/svc_phone.cgi
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/search/svc_phone.cgi')
-rw-r--r--httemplate/search/svc_phone.cgi95
1 files changed, 95 insertions, 0 deletions
diff --git a/httemplate/search/svc_phone.cgi b/httemplate/search/svc_phone.cgi
new file mode 100644
index 000000000..26e2090e6
--- /dev/null
+++ b/httemplate/search/svc_phone.cgi
@@ -0,0 +1,95 @@
+%
+%
+%my $conf = new FS::Conf;
+%
+%my($query)=$cgi->keywords;
+%$query ||= ''; #to avoid use of unitialized value errors
+%
+%my $orderby = 'ORDER BY svcnum';
+%my %svc_phone = ();
+%my @extra_sql = ();
+%if ( $query eq 'svcnum' ) {
+% #$orderby = 'ORDER BY svcnum';
+%} elsif ( $query eq 'phonenum' ) {
+% $orderby = 'ORDER BY phonenum';
+%} elsif ( $cgi->param('svcpart') =~ /^(\d+)$/ ) {
+% #$orderby = 'ORDER BY svcnum';
+% push @extra_sql, "svcpart = $1";
+%} else {
+% $cgi->param('phonenum') =~ /^([\d\- ]+)$/;
+% ( $svc_phone{'phonenum'} = $1 ) =~ s/\D//g;
+%}
+%
+%my $addl_from = ' LEFT JOIN cust_svc USING ( svcnum ) '.
+% ' LEFT JOIN part_svc USING ( svcpart ) '.
+% ' LEFT JOIN cust_pkg USING ( pkgnum ) '.
+% ' LEFT JOIN cust_main USING ( custnum ) ';
+%
+%#here is the agent virtualization
+%push @extra_sql, $FS::CurrentUser::CurrentUser->agentnums_sql;
+%
+%my $extra_sql = '';
+%if ( @extra_sql ) {
+% $extra_sql = ( keys(%svc_phone) ? ' AND ' : ' WHERE ' ).
+% join(' AND ', @extra_sql );
+%}
+%
+%my $count_query = "SELECT COUNT(*) FROM svc_phone $addl_from ";
+%if ( keys %svc_phone ) {
+% $count_query .= ' WHERE '.
+% join(' AND ', map "$_ = ". dbh->quote($svc_phone{$_}),
+% keys %svc_phone
+% );
+%}
+%$count_query .= $extra_sql;
+%
+%my $sql_query = {
+% 'table' => 'svc_phone',
+% 'hashref' => \%svc_phone,
+% 'select' => join(', ',
+% 'svc_phone.*',
+% 'part_svc.svc',
+% 'cust_main.custnum',
+% FS::UI::Web::cust_sql_fields(),
+% ),
+% 'extra_sql' => "$extra_sql $orderby",
+% 'addl_from' => $addl_from,
+%};
+%
+%my $link = [ "${p}view/svc_phone.cgi?", 'svcnum' ];
+%
+%#smaller false laziness w/svc_*.cgi here
+%my $link_cust = sub {
+% my $svc_x = shift;
+% $svc_x->custnum ? [ "${p}view/cust_main.cgi?", 'custnum' ] : '';
+%};
+%
+%
+<% include( 'elements/search.html',
+ 'title' => "Phone number search results",
+ 'name' => 'phone numbers',
+ 'query' => $sql_query,
+ 'count_query' => $count_query,
+ 'redirect' => $link,
+ 'header' => [ '#',
+ 'Service',
+ 'Country code',
+ 'Phone number',
+ FS::UI::Web::cust_header(),
+ ],
+ 'fields' => [ 'svcnum',
+ 'svc',
+ 'countrycode',
+ 'phonenum',
+ \&FS::UI::Web::cust_fields,
+ ],
+ 'links' => [ $link,
+ $link,
+ $link,
+ $link,
+ ( map { $link_cust }
+ FS::UI::Web::cust_header()
+ ),
+ ],
+ )
+%>