summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/ClientAPI/MyAccount.pm7
-rw-r--r--FS/FS/Schema.pm12
-rw-r--r--FS/FS/part_svc.pm1
3 files changed, 13 insertions, 7 deletions
diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm
index 2e60eda3b..c2c295e27 100644
--- a/FS/FS/ClientAPI/MyAccount.pm
+++ b/FS/FS/ClientAPI/MyAccount.pm
@@ -1422,6 +1422,9 @@ sub list_svcs {
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'}
@@ -1445,7 +1448,8 @@ sub list_svcs {
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;
@@ -1455,6 +1459,7 @@ sub list_svcs {
'label' => $label,
'value' => $value,
'pkg_status' => $cust_pkg->status,
+ 'readonly' => ( $part_svc->selfservice_access eq 'readonly' ),
);
if ( $svcdb eq 'svc_acct' ) {
diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm
index 78d88dd2b..d270dba41 100644
--- a/FS/FS/Schema.pm
+++ b/FS/FS/Schema.pm
@@ -1802,12 +1802,12 @@ sub tables_hashref {
'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' => [],
diff --git a/FS/FS/part_svc.pm b/FS/FS/part_svc.pm
index dea115cac..c1554082d 100644
--- a/FS/FS/part_svc.pm
+++ b/FS/FS/part_svc.pm
@@ -386,6 +386,7 @@ sub check {
|| $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;