summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2017-05-16 16:14:27 -0700
committerIvan Kohler <ivan@freeside.biz>2017-05-16 16:14:27 -0700
commita8d4f4f83cb4382bc301ba7ed21b6a72aac1f1f7 (patch)
treebfa0386d60ce748c576be9b9c1a721975deb94d9
parentb3ce58129da19d2fb8d32e9bcdfece2bd3da22bc (diff)
show a name on residential prospect quotations, RT#75990
-rw-r--r--FS/FS/Template_Mixin.pm3
-rw-r--r--FS/FS/prospect_main.pm35
2 files changed, 38 insertions, 0 deletions
diff --git a/FS/FS/Template_Mixin.pm b/FS/FS/Template_Mixin.pm
index b5f7aaadd..758b8ce85 100644
--- a/FS/FS/Template_Mixin.pm
+++ b/FS/FS/Template_Mixin.pm
@@ -603,6 +603,9 @@ sub print_generic {
'total_pages' => 1,
);
+
+ #quotations have $name
+ $invoice_data{'name'} = $invoice_data{'payname'};
#localization
$invoice_data{'emt'} = sub { &$escape_function($self->mt(@_)) };
diff --git a/FS/FS/prospect_main.pm b/FS/FS/prospect_main.pm
index 76faf0f2c..c54c569c3 100644
--- a/FS/FS/prospect_main.pm
+++ b/FS/FS/prospect_main.pm
@@ -279,10 +279,45 @@ sub name {
'Prospect #'. $self->prospectnum;
}
+=item contact_firstlast
+
+If this prospect has a company, returns the empty string. If not, returns the
+first contact's first and last name.
+
+Primarily intended for use in quotation substitutions, like the FS::cust_main
+method of the same name.
+
+=cut
+
+sub contact_firstlast {
+ my $self = shift;
+ return '' if $self->company;
+ my @contacts = $self->contact;
+ #return '' unless @contacts;
+ warn $contacts[0]->first;
+ warn $contacts[0]->get('last');
+ $contacts[0]->first. ' '. $contacts[0]->get('last');
+}
+
=item contact
Returns the contacts (see L<FS::contact>) associated with this prospect.
+=cut
+
+sub contact {
+ my $self = shift;
+ my $search = {
+ table => 'contact',
+ addl_from => ' JOIN prospect_contact USING (contactnum)',
+ extra_sql => ' WHERE prospect_contact.prospectnum = '.$self->prospectnum,
+ };
+
+ #classnum argument like FS::cust_main->contact?
+
+ qsearch($search);
+}
+
=item cust_location
Returns the locations (see L<FS::cust_location>) associated with this prospect.