summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/Schema.pm1
-rw-r--r--FS/FS/contact.pm16
2 files changed, 16 insertions, 1 deletions
diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm
index 67b682360..ab853e6ce 100644
--- a/FS/FS/Schema.pm
+++ b/FS/FS/Schema.pm
@@ -981,6 +981,7 @@ sub tables_hashref {
'prospectnum', 'int', 'NULL', '', '', '',
'custnum', 'int', 'NULL', '', '', '',
'locationnum', 'int', 'NULL', '', '', '', #not yet
+ 'classnum', 'int', 'NULL', '', '', '',
# 'titlenum', 'int', 'NULL', '', '', '', #eg Mr. Mrs. Dr. Rev.
'last', 'varchar', '', $char_d, '', '',
# 'middle', 'varchar', 'NULL', $char_d, '', '',
diff --git a/FS/FS/contact.pm b/FS/FS/contact.pm
index 0b50dcc98..f84af425b 100644
--- a/FS/FS/contact.pm
+++ b/FS/FS/contact.pm
@@ -5,6 +5,7 @@ use base qw( FS::Record );
use FS::Record qw( qsearch qsearchs dbh );
use FS::prospect_main;
use FS::cust_main;
+use FS::contact_class;
use FS::cust_location;
use FS::contact_phone;
use FS::contact_email;
@@ -322,8 +323,9 @@ sub check {
my $error =
$self->ut_numbern('contactnum')
|| $self->ut_foreign_keyn('prospectnum', 'prospect_main', 'prospectnum')
- || $self->ut_foreign_keyn('custnum', 'cust_main', 'custnum')
+ || $self->ut_foreign_keyn('custnum', 'cust_main', 'custnum')
|| $self->ut_foreign_keyn('locationnum', 'cust_location', 'locationnum')
+ || $self->ut_foreign_keyn('classnum', 'contact_class', 'classnum')
|| $self->ut_textn('last')
|| $self->ut_textn('first')
|| $self->ut_textn('title')
@@ -357,6 +359,18 @@ sub cust_location {
qsearchs('cust_location', { 'locationnum' => $self->locationnum } );
}
+sub contact_class {
+ my $self = shift;
+ return '' unless $self->classnum;
+ qsearchs('contact_class', { 'classnum' => $self->classnum } );
+}
+
+sub contact_classname {
+ my $self = shift;
+ my $contact_class = $self->contact_class or return '';
+ $contact_class->classname;
+}
+
sub contact_phone {
my $self = shift;
qsearch('contact_phone', { 'contactnum' => $self->contactnum } );