diff options
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/Schema.pm | 1 | ||||
-rw-r--r-- | FS/FS/contact.pm | 16 |
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 } ); |