package FS::svc_pbx;
+use base qw( FS::o2m_Common FS::device_Common FS::svc_External_Common );
use strict;
-use base qw( FS::svc_External_Common );
+use Tie::IxHash;
use FS::Record qw( qsearch qsearchs dbh );
use FS::PagedSearch qw( psearch );
use FS::Conf;
Maximum number of simultaneous users
+=item ip_addr
+
+The IP address of this PBX, if that's relevant. This must be a valid IP
+address (or blank), but it's not checked for block assignment or uniqueness.
+
=back
=head1 METHODS
sub table { 'svc_pbx'; }
sub table_info {
+
+ tie my %fields, 'Tie::IxHash',
+ 'svcnum' => 'PBX',
+ 'id' => 'PBX/Tenant ID',
+ 'uuid' => 'External UUID',
+ 'title' => 'Name',
+ 'max_extensions' => 'Maximum number of User Extensions',
+ 'max_simultaneous' => 'Maximum number of simultaneous users',
+ 'ip_addr' => 'IP address',
+ ;
+
{
'name' => 'PBX',
'name_plural' => 'PBXs',
'sorts' => 'svcnum', # optional sort field (or arrayref of sort fields, main first)
'display_weight' => 70,
'cancel_weight' => 90,
- 'fields' => {
- 'id' => 'ID',
- 'title' => 'Name',
- 'max_extensions' => 'Maximum number of User Extensions',
- 'max_simultaneous' => 'Maximum number of simultaneous users',
- },
+ 'fields' => \%fields,
};
}
my $x = $self->setfixed;
return $x unless ref($x);
my $part_svc = $x;
-
-
- $self->SUPER::check;
+
+ return
+ $self->ut_ipn('ip_addr')
+ || $self->SUPER::check;
}
sub _check_duplicate {