'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, '', '',
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;
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')
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 } );
<% include( 'elements/browse.html',
- 'title' => 'Contact classes',
+ 'title' => 'Contact types',
'html_init' => $html_init,
- 'name' => 'contact classes',
+ 'name' => 'contact types',
'disableable' => 1,
'disabled_statuspos' => 1,
'query' => { 'table' => 'contact_class',
my $html_init =
'Contact classes define types for contacts.<BR><BR>'.
- qq!<A HREF="${p}edit/contact_class.html"><I>Add a contact class</I></A><BR><BR>!;
+ qq!<A HREF="${p}edit/contact_class.html"><I>Add a contact type</I></A><BR><BR>!;
my $count_query = 'SELECT COUNT(*) FROM contact_class';
<% include( 'elements/class_Common.html',
- 'name' => 'Contact Class',
+ 'name' => 'Contact Type',
'table' => 'contact_class',
'nocat' => 1,
+ 'addl_labels' => { 'classnum' => 'Type number',
+ 'classname' => 'Type name',
+ 'disabled' => 'Disable type',
+ },
)
%>
};
-my @contact_fields = qw( first last title comment emailaddress );
+my @contact_fields = qw( classnum first last title comment emailaddress );
foreach my $phone_type ( qsearch({table=>'phone_type', order_by=>'weight'}) ) {
push @contact_fields, 'phonetypenum'.$phone_type->phonetypenum;
}
'Customer classes' => [ $fsurl.'browse/cust_class.html', 'Customer classes define groups of customers for reporting.' ],
'Customer categories' => [ $fsurl.'browse/cust_category.html', 'Customer categories define groups of customer classes.' ],
'separator' => '', #its a separator!
- 'Contact classes' => [ $fsurl.'browse/contact_class.html', 'Contact classes define types for contacts.' ],
+ 'Contact types' => [ $fsurl.'browse/contact_class.html', ''], #XXX useful description
;
$config_cust{'Note classes'} = [ $fsurl.'browse/cust_note_class.html', 'Note classes define groups of customer notes for reporting.' ]
% foreach my $contact ( $prospect_main->contact ) {
<TR>
- <TD ALIGN="right">Contact</TD>
+ <TD ALIGN="right"><% $contact->contact_classname %> Contact</TD>
<TD BGCOLOR="#FFFFFF"><% $contact->line %></TD>
</TR>
%}