diff options
author | ivan <ivan> | 2006-06-29 13:47:44 +0000 |
---|---|---|
committer | ivan <ivan> | 2006-06-29 13:47:44 +0000 |
commit | 947c955be56140c4a10b16345c1b15c44b02070a (patch) | |
tree | 714f7cfc851991f9222a2c0b14f4c73b0338e71b /httemplate | |
parent | 3a68d152457d4656ccaa41246e52b8584b000e19 (diff) |
finish at least the automatic provisioning part
Diffstat (limited to 'httemplate')
-rw-r--r-- | httemplate/browse/inventory_class.html | 2 | ||||
-rwxr-xr-x | httemplate/edit/part_svc.cgi | 7 | ||||
-rwxr-xr-x | httemplate/edit/svc_acct.cgi | 21 | ||||
-rw-r--r-- | httemplate/edit/svc_broadband.cgi | 9 | ||||
-rwxr-xr-x | httemplate/edit/svc_domain.cgi | 9 | ||||
-rw-r--r-- | httemplate/edit/svc_external.cgi | 9 | ||||
-rwxr-xr-x | httemplate/edit/svc_forward.cgi | 9 | ||||
-rw-r--r-- | httemplate/edit/svc_www.cgi | 9 | ||||
-rw-r--r-- | httemplate/search/inventory_item.html | 62 |
9 files changed, 75 insertions, 62 deletions
diff --git a/httemplate/browse/inventory_class.html b/httemplate/browse/inventory_class.html index 6da3c9e3c..4a15bf7d4 100644 --- a/httemplate/browse/inventory_class.html +++ b/httemplate/browse/inventory_class.html @@ -8,7 +8,7 @@ tie my %labels, 'Tie::IxHash', my %link = ( 'num_avail' => ';avail=1', - 'num_used' => ';avail=1', + 'num_used' => ';used=1', 'num_total' => '', ); diff --git a/httemplate/edit/part_svc.cgi b/httemplate/edit/part_svc.cgi index 77011e9dd..0298a5461 100755 --- a/httemplate/edit/part_svc.cgi +++ b/httemplate/edit/part_svc.cgi @@ -179,9 +179,10 @@ my %defs = ( 'condition' => sub { ref($_[0]) && $_[0]->{disable_fixed} }, }, - 'M' => { 'desc' => 'Manual selection from inventory', - 'condition' => $inv_sub, - }, +# need to template-ize httemplate/edit/svc_* first +# 'M' => { 'desc' => 'Manual selection from inventory', +# 'condition' => $inv_sub, +# }, 'A' => { 'desc' => 'Automatically fill in from inventory', 'condition' => $inv_sub, }, diff --git a/httemplate/edit/svc_acct.cgi b/httemplate/edit/svc_acct.cgi index 1e87c67ad..4b324a501 100755 --- a/httemplate/edit/svc_acct.cgi +++ b/httemplate/edit/svc_acct.cgi @@ -68,18 +68,9 @@ unless ( $svcnum || $cgi->param('error') ) { #adding } } - #set fixed and default fields from part_svc - foreach my $part_svc_column ( - grep { $_->columnflag } $part_svc->all_part_svc_column - ) { - if ( $part_svc_column->columnname eq 'usergroup' ) { - @groups = split(',', $part_svc_column->columnvalue); - } else { - $svc_acct->setfield( $part_svc_column->columnname, - $part_svc_column->columnvalue, - ); - } - } + $svc_acct->set_default_and_fixed( { + 'usergroup' => sub { @groups = split(',', shift ); }, + } ); } @@ -274,7 +265,7 @@ if ( $part_svc->part_svc_column('popnum')->columnflag eq 'F' ) { <% foreach my $xid (qw( uid gid )) { %> <% - if ( $part_svc->part_svc_column($xid)->columnflag eq 'F' + if ( $part_svc->part_svc_column($xid)->columnflag =~ /^[FA]$/ || ! $conf->exists("svc_acct-edit_$xid") ) { %> @@ -376,7 +367,7 @@ if ( $part_svc->part_svc_column('shell')->columnflag eq 'F' <% } %> -<% if ( $part_svc->part_svc_column('slipip')->columnflag eq 'F' ) { %> +<% if ( $part_svc->part_svc_column('slipip')->columnflag =~ /^[FA]$/ ) { %> <INPUT TYPE="hidden" NAME="slipip" VALUE="<%= $svc_acct->slipip %>"> @@ -396,7 +387,7 @@ foreach my $r ( grep { /^r(adius|[cr])_/ } fields('svc_acct') ) { my $a = $2; %> - <% if ( $part_svc->part_svc_column($r)->columnflag eq 'F' ) { %> + <% if ( $part_svc->part_svc_column($r)->columnflag =~ /^[FA]$/ ) { %> <INPUT TYPE="hidden" NAME="<%= $r %>" VALUE="<%= $svc_acct->getfield($r) %>"> diff --git a/httemplate/edit/svc_broadband.cgi b/httemplate/edit/svc_broadband.cgi index cbd0c2c3a..d66cff690 100644 --- a/httemplate/edit/svc_broadband.cgi +++ b/httemplate/edit/svc_broadband.cgi @@ -47,14 +47,7 @@ if ( $cgi->param('error') ) { $svcnum=''; - #set fixed and default fields from part_svc - foreach my $part_svc_column ( - grep { $_->columnflag } $part_svc->all_part_svc_column - ) { - $svc_broadband->setfield( $part_svc_column->columnname, - $part_svc_column->columnvalue, - ); - } + $svc_broadband->set_default_and_fixed; } } diff --git a/httemplate/edit/svc_domain.cgi b/httemplate/edit/svc_domain.cgi index f47ba0a8f..1156bf0ba 100755 --- a/httemplate/edit/svc_domain.cgi +++ b/httemplate/edit/svc_domain.cgi @@ -44,14 +44,7 @@ if ( $cgi->param('error') ) { $svcnum=''; - #set fixed and default fields from part_svc - foreach my $part_svc_column ( - grep { $_->columnflag } $part_svc->all_part_svc_column - ) { - $svc_domain->setfield( $part_svc_column->columnname, - $part_svc_column->columnvalue, - ); - } + $svc_domain->set_default_and_fixed; } diff --git a/httemplate/edit/svc_external.cgi b/httemplate/edit/svc_external.cgi index bcfc85e3f..38b3ce1a4 100644 --- a/httemplate/edit/svc_external.cgi +++ b/httemplate/edit/svc_external.cgi @@ -40,14 +40,7 @@ if ( $cgi->param('error') ) { $svcnum=''; - #set fixed and default fields from part_svc - foreach my $part_svc_column ( - grep { $_->columnflag } $part_svc->all_part_svc_column - ) { - $svc_external->setfield( $part_svc_column->columnname, - $part_svc_column->columnvalue, - ); - } + $svc_external->set_default_and_fixed; } } diff --git a/httemplate/edit/svc_forward.cgi b/httemplate/edit/svc_forward.cgi index c1b90a9bd..c32fbd7c1 100755 --- a/httemplate/edit/svc_forward.cgi +++ b/httemplate/edit/svc_forward.cgi @@ -44,14 +44,7 @@ if ( $cgi->param('error') ) { $svcnum=''; - #set fixed and default fields from part_svc - foreach my $part_svc_column ( - grep { $_->columnflag } $part_svc->all_part_svc_column - ) { - $svc_forward->setfield( $part_svc_column->columnname, - $part_svc_column->columnvalue, - ); - } + $svc_forward->set_default_and_fixed; } } diff --git a/httemplate/edit/svc_www.cgi b/httemplate/edit/svc_www.cgi index 3cb752850..280346bb4 100644 --- a/httemplate/edit/svc_www.cgi +++ b/httemplate/edit/svc_www.cgi @@ -42,14 +42,7 @@ if ( $cgi->param('error') ) { $svcnum=''; - #set fixed and default fields from part_svc - foreach my $part_svc_column ( - grep { $_->columnflag } $part_svc->all_part_svc_column - ) { - $svc_www->setfield( $part_svc_column->columnname, - $part_svc_column->columnvalue, - ); - } + $svc_www->set_default_and_fixed; } } diff --git a/httemplate/search/inventory_item.html b/httemplate/search/inventory_item.html index bd74f5619..7049c8841 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() ), ], ) |