contacts can be shared among customers / "duplicate contact emails", RT#27943
[freeside.git] / FS / FS / quotation.pm
index 774495a..38e7318 100644 (file)
@@ -183,10 +183,7 @@ sub email {
 
   # this is where we set the From: address
   $from ||= $conf->config('quotation_from', $self->cust_or_prospect->agentnum )
-        || ($conf->config('invoice_from_name', $self->cust_or_prospect->agentnum ) ?
-            $conf->config('invoice_from_name', $self->cust_or_prospect->agentnum ) . ' <' .
-            $conf->config('invoice_from', $self->cust_or_prospect->agentnum ) . '>' :
-            $conf->config('invoice_from', $self->cust_or_prospect->agentnum ));
+        ||  $conf->invoice_from_full( $self->cust_or_prospect->agentnum );
   $self->SUPER::email( {
     'from' => $from,
     %$opt,
@@ -634,6 +631,27 @@ sub search_sql_where {
 
 }
 
+=item _items_pkg
+
+Return line item hashes for each package on this quotation. Differs from the
+base L<FS::Template_Mixin> version in that it recalculates each quoted package
+first, and doesn't implement the "condensed" option.
+
+=cut
+
+sub _items_pkg {
+  my ($self, %options) = @_;
+  my @quotation_pkg = $self->quotation_pkg;
+  foreach (@quotation_pkg) {
+    my $error = $_->estimate;
+    die "error calculating estimate for pkgpart " . $_->pkgpart.": $error\n"
+      if $error;
+  }
+
+  # run it through the Template_Mixin engine
+  return $self->_items_cust_bill_pkg(\@quotation_pkg, %options);
+}
+
 =back
 
 =head1 BUGS