summaryrefslogtreecommitdiff
path: root/httemplate/search/inventory_item.html
diff options
context:
space:
mode:
authorivan <ivan>2006-06-29 13:47:44 +0000
committerivan <ivan>2006-06-29 13:47:44 +0000
commit947c955be56140c4a10b16345c1b15c44b02070a (patch)
tree714f7cfc851991f9222a2c0b14f4c73b0338e71b /httemplate/search/inventory_item.html
parent3a68d152457d4656ccaa41246e52b8584b000e19 (diff)
finish at least the automatic provisioning part
Diffstat (limited to 'httemplate/search/inventory_item.html')
-rw-r--r--httemplate/search/inventory_item.html62
1 files changed, 59 insertions, 3 deletions
diff --git a/httemplate/search/inventory_item.html b/httemplate/search/inventory_item.html
index bd74f56..7049c88 100644
--- a/httemplate/search/inventory_item.html
+++ b/httemplate/search/inventory_item.html
@@ -24,7 +24,30 @@ if ( $cgi->param('avail') ) {
my $count_query =
"SELECT COUNT(*) FROM inventory_item WHERE classnum = $classnum $extra_sql";
+my $link = sub {
+ my $inventory_item = shift;
+ if ( $inventory_item->svcnum ) {
+ [ "${p}view/svc_acct.cgi?", 'svcnum' ];
+ } else {
+ '';
+ }
+};
+my $link_cust = sub {
+ my $inventory_item = shift;
+ if ( $inventory_item->custnum ) {
+ [ "${p}view/cust_main.cgi?", 'custnum' ];
+ } else {
+ '';
+ }
+};
+
+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 ) ';
+
%><%= include( 'elements/search.html',
+
'title' => $title,
#less lame to use Lingua:: something to pluralize
@@ -33,19 +56,52 @@ my $count_query =
'query' => {
'table' => 'inventory_item',
'hashref' => { 'classnum' => $classnum },
+ 'select' => join(', ',
+ 'inventory_item.*',
+ 'cust_main.custnum',
+ FS::UI::Web::cust_sql_fields(),
+ ),
'extra_sql' => $extra_sql,
+ 'addl_from' => $addl_from,
},
'count_query' => $count_query,
- # XXX proper full service/customer link ala svc_acct
- 'header' => [ '#', $inventory_class->classname, 'svcnum' ],
+ 'header' => [
+ '#',
+ $inventory_class->classname,
+ 'Service',
+ FS::UI::Web::cust_header(),
+ ],
'fields' => [
'itemnum',
'item',
- 'svcnum', #XXX proper full service customer link ala svc_acct
+ #'svcnum', #XXX proper full service customer link ala svc_acct
# "unallocated" ? "available" ?
+ sub {
+ #this could be way more efficient with a mixin
+ # like cust_main_Mixin that let us all all the methods
+ # on data we already have...
+ my $inventory_item = shift;
+ my $cust_svc = $inventory_item->cust_svc;
+ if ( $cust_svc ) {
+ my($label, $value) = $cust_svc->label;
+ "$label: $value";
+ } else {
+ '(available)';
+ }
+ },
+
+ \&FS::UI::Web::cust_fields,
+
+ ],
+
+ 'links' => [
+ '',
+ '',
+ $link,
+ ( map { $link_cust } FS::UI::Web::cust_header() ),
],
)