projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
make location fields available on churn report, #39988
[freeside.git]
/
httemplate
/
search
/
phone_avail.html
diff --git
a/httemplate/search/phone_avail.html
b/httemplate/search/phone_avail.html
index
2ef3dcd
..
faf3544
100644
(file)
--- a/
httemplate/search/phone_avail.html
+++ b/
httemplate/search/phone_avail.html
@@
-1,9
+1,9
@@
-<
% include( 'elements/search.html'
,
+<
& elements/search.html
,
'title' => 'Phone Number (DID) Search Results',
'name_singular' => 'phone number',
'query' => {
'table' => 'phone_avail',
'title' => 'Phone Number (DID) Search Results',
'name_singular' => 'phone number',
'query' => {
'table' => 'phone_avail',
- 'hashref' =>
{}
,
+ 'hashref' =>
$hashref
,
'select' => join(', ',
'phone_avail.*',
'cust_main.custnum',
'select' => join(', ',
'phone_avail.*',
'cust_main.custnum',
@@
-29,25
+29,35
@@
'+'. $pn->countrycode. ' '.
$pn->npa. ' '. $pn->nxx. '-'. $pn->station;
},
'+'. $pn->countrycode. ' '.
$pn->npa. ' '. $pn->nxx. '-'. $pn->station;
},
-
'name'
,
+
sub { shift->get('name') }
,
'availbatch',
'availbatch',
- 'exportnum', #XXX
- #sub { },
- 'svcnum', #XXX
+ sub {
+ my $pa = shift;
+ return '' unless $pa->part_export;
+ $pa->part_export->exportname;
+ },
+ sub {
+ my $pa = shift;
+ return '' unless $pa->cust_svc;
+ my($label,$value) = $pa->cust_svc->label;
+ $label . ": " . $value;
+ },
\&FS::UI::Web::cust_fields,
\&FS::UI::Web::cust_fields,
+ '',
],
],
- 'align' => 'rllllll'.FS::UI::Web::cust_aligns(),
+ 'align' => 'rllllll
c
'.FS::UI::Web::cust_aligns(),
'links' => [
'',
'',
'',
'',
'',
'links' => [
'',
'',
'',
'',
'',
- '', #XXX #$export_link
- '', #XXX #$svc_link
+ '', #XXX #$export_link
- to what exactly?
+ $svc_link,
( map { $_ ne 'Cust. Status' ? $link_cust : '' }
FS::UI::Web::cust_header()
),
( map { $_ ne 'Cust. Status' ? $link_cust : '' }
FS::UI::Web::cust_header()
),
+ '',
],
'color' => [
'',
],
'color' => [
'',
@@
-58,6
+68,7
@@
'',
'',
FS::UI::Web::cust_colors(),
'',
'',
FS::UI::Web::cust_colors(),
+ '',
],
'style' => [
'',
],
'style' => [
'',
@@
-68,13
+79,15
@@
'',
'',
FS::UI::Web::cust_styles(),
'',
'',
FS::UI::Web::cust_styles(),
+ '',
],
],
- )
-
%
>
+
+
&
>
<%init>
die "access denied"
<%init>
die "access denied"
- unless $FS::CurrentUser::CurrentUser->access_right('Import');
+ unless ( $FS::CurrentUser::CurrentUser->access_right('List inventory')
+ );
my @search = ();
my @search = ();
@@
-112,14
+125,19
@@
my $search = scalar(@search)
my $addl_from = ' LEFT JOIN cust_svc USING ( svcnum ) '.
#' LEFT JOIN part_svc USING ( svcpart ) '.
' LEFT JOIN cust_pkg USING ( pkgnum ) '.
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 ) '
;
+
FS::UI::Web::join_cust_main('cust_pkg', 'cust_pkg')
;
my $count_query = "SELECT COUNT(*) FROM phone_avail $search"; #$addl_from?
my $count_query = "SELECT COUNT(*) FROM phone_avail $search"; #$addl_from?
+# All of these relationships are left joined in the many-to-one direction,
+# so including $addl_from won't affect the count. Logic!
+
+my $hashref = {};
+$hashref->{'ordernum'} = $1 if $cgi->param('ordernum') =~ /^(\d+)$/;
my $link_cust = sub {
my $phone_avail = shift;
if ( $phone_avail->svcnum ) {
my $link_cust = sub {
my $phone_avail = shift;
if ( $phone_avail->svcnum ) {
- my $cust_svc = $phone_avail->
svc_phone->
cust_svc;
+ my $cust_svc = $phone_avail->cust_svc;
if ( $cust_svc->pkgnum ) {
#my $cust_main = $cust_svc->cust_pkg->cust_main;
return [ "${p}view/cust_main.cgi?", 'custnum' ];
if ( $cust_svc->pkgnum ) {
#my $cust_main = $cust_svc->cust_pkg->cust_main;
return [ "${p}view/cust_main.cgi?", 'custnum' ];
@@
-128,4
+146,13
@@
my $link_cust = sub {
'';
};
'';
};
+my $svc_link = sub {
+ my $phone_avail = shift;
+ my $cust_svc = $phone_avail->cust_svc;
+ if ( $cust_svc ) {
+ return [ "${p}view/svc_phone.cgi?", 'svcnum'];
+ }
+ '';
+};
+
</%init>
</%init>