next if $pkgnum && $cust_pkg->pkgnum != $pkgnum;
push @cust_svc, @{[ $cust_pkg->cust_svc ]}; #@{[ ]} to force array context
}
+
+ @cust_svc = grep { $_->part_svc->selfservice_access ne 'hidden' } @cust_svc;
+
if ( $p->{'svcdb'} ) {
my $svcdb = ref($p->{'svcdb'}) eq 'HASH'
? $p->{'svcdb'}
map {
my $svc_x = $_->svc_x;
my($label, $value) = $_->label;
- my $svcdb = $_->part_svc->svcdb;
+ my $part_svc = $_->part_svc;
+ my $svcdb = $part_svc->svcdb;
my $cust_pkg = $_->cust_pkg;
my $part_pkg = $cust_pkg->part_pkg;
'label' => $label,
'value' => $value,
'pkg_status' => $cust_pkg->status,
+ 'readonly' => ( $part_svc->selfservice_access eq 'readonly' ),
);
if ( $svcdb eq 'svc_acct' ) {
'part_svc' => {
'columns' => [
- 'svcpart', 'serial', '', '', '', '',
- 'svc', 'varchar', '', $char_d, '', '',
- 'svcdb', 'varchar', '', $char_d, '', '',
- 'disabled', 'char', 'NULL', 1, '', '',
- 'preserve', 'char', 'NULL', 1, '', '',
- #'no_selfservice', 'char', 'NULL', 1, '', '',
+ 'svcpart', 'serial', '', '', '', '',
+ 'svc', 'varchar', '', $char_d, '', '',
+ 'svcdb', 'varchar', '', $char_d, '', '',
+ 'disabled', 'char', 'NULL', 1, '', '',
+ 'preserve', 'char', 'NULL', 1, '', '',
+ 'selfservice_access', 'varchar', 'NULL', $char_d, '', '',
],
'primary_key' => 'svcpart',
'unique' => [],
|| $self->ut_alpha('svcdb')
|| $self->ut_enum('disabled', [ '', 'Y' ] )
|| $self->ut_enum('preserve', [ '', 'Y' ] )
+ || $self->ut_enum('selfservice_access', [ '', 'hidden', 'readonly' ] )
;
return $error if $error;
<TH CLASS="grid" BGCOLOR="#cccccc"><A HREF="<% do { $cgi->param('orderby', 'active'); $cgi->self_url; } %>"><FONT SIZE=-1>Customer<BR>Services</FONT></A></TH>
+ <TH CLASS="grid" BGCOLOR="#cccccc"><FONT SIZE=-1>Customer<BR>Self-service</FONT></TH>
+
<TH CLASS="grid" BGCOLOR="#cccccc">Export</TH>
<TH CLASS="grid" BGCOLOR="#cccccc">Field</TH>
</TD>
+% tie my %selfservice_access, 'Tie::IxHash', #false laziness w/edit/part_svc.cgi
+% '' => 'Yes',
+% 'hidden' => 'Hidden',
+% 'readonly' => 'Read-only',
+% ;
+ <TD ROWSPAN=<% $rowspan %> CLASS="grid" BGCOLOR="<% $bgcolor %>" ALIGN="center">
+ <% $selfservice_access{$part_svc->selfservice_access} %></TD>
+
<TD ROWSPAN=<% $rowspan %> CLASS="inv" BGCOLOR="<% $bgcolor %>">
<TABLE CLASS="inv">
%
Service Part #<% $part_svc->svcpart ? $part_svc->svcpart : "(NEW)" %>
<BR><BR>
Service <INPUT TYPE="text" NAME="svc" VALUE="<% $hashref->{svc} %>"><BR>
+
+Self-service access:
+<SELECT NAME="selfservice_access">
+% tie my %selfservice_access, 'Tie::IxHash', #false laziness w/browse/part_svc
+% '' => 'Yes',
+% 'hidden' => 'Hidden',
+% 'readonly' => 'Read-only',
+% ;
+% for (keys %selfservice_access) {
+ <OPTION VALUE="<% $_ %>"
+ <% $_ eq $hashref->{'selfservice_access'} ? 'SELECTED' : '' %>
+ ><% $selfservice_access{$_} %>
+% }
+</SELECT><BR>
+
<INPUT TYPE="checkbox" NAME="disabled" VALUE="Y"<% $hashref->{disabled} eq 'Y' ? ' CHECKED' : '' %>> Disable new orders<BR>
+
<INPUT TYPE="checkbox" NAME="preserve" VALUE="Y"<% $hashref->{'preserve'} eq 'Y' ? ' CHECKED' : '' %>> Preserve this service on package cancellation<BR>
+
+
<INPUT TYPE="hidden" NAME="svcpart" VALUE="<% $hashref->{svcpart} %>">
<BR>
% #'form_action' => 'process/part_svc.cgi',
% 'form_action' => 'part_svc.cgi', #self
% 'form_text' => [ qw( svc svcpart ) ],
+% 'form_select' => [ 'selfservice_access' ],
% 'form_checkbox' => [ 'disabled', 'preserve' ],
% 'layer_callback' => sub {
% my $layer = shift;
%
% $html .= include('/elements/progress-init.html',
% $layer, #form name
-% [ qw(svc svcpart disabled preserve exportnum),
+% [ qw(svc svcpart selfservice_access disabled preserve
+% exportnum),
% @fields ],
% 'process/part_svc.cgi',
% $p.'browse/part_svc.cgi',