1 (edited by incocare 09/10/2020 11:36:09 pm)

Topic: After creating Sales Order - sending email: PDF without a name?

Using 2.4.8 and also tried in 2.4.6:
1. create new sales order
2. Click on "Email this order"
3. Email will be correctly send with PDF attachment

But the name of the attachment is just ".pdf" - many clients can't open the file.
I remember that it was in the past a proper name... what am I missing?

When emailing quotes or invoices the PDF files have their random IDs...

2 (edited by Braath Waate 09/12/2020 12:01:09 pm)

Re: After creating Sales Order - sending email: PDF without a name?

The report that prints sales orders (not invoices) could be simplified.  Try this:

diff --git a/core/reporting/rep109.php b/core/reporting/rep109.php
index 75e99a7..52b4fe9 100644
--- a/core/reporting/rep109.php
+++ b/core/reporting/rep109.php
@@ -57,14 +57,6 @@ function print_sales_orders()
 
        $cur = get_company_Pref('curr_default');
 
-       if ($email == 0)
-       {
-
-               if ($print_as_quote == 0)
-                       $rep = new FrontReport(_("SALES ORDER"), "SalesOrderBulk", user_pagesize(), 9, $orientation);
-               else
-                       $rep = new FrontReport(_("QUOTE"), "QuoteBulk", user_pagesize(), 9, $orientation);
-       }
     if ($orientation == 'L')
        recalculate_cols($cols);
 
@@ -77,34 +69,25 @@ function print_sales_orders()
                $baccount = get_default_bank_account($myrow['curr_code']);
                $params['bankaccount'] = $baccount['id'];
                $branch = get_branch($myrow["branch_code"]);
-               if ($email == 1)
-                       $rep = new FrontReport("", "", user_pagesize(), 9, $orientation);
+
+        if ($i == $from || $email == 1)
+            $rep = new FrontReport("", "", user_pagesize(), 9, $orientation);
+        if ($print_as_quote == 1)
+        {
+            $rep->title = _('QUOTE');
+            $rep->filename = "Quote" . $i . ".pdf";
+        }
+        else
+        {
+            $rep->title = _("SALES ORDER");
+            $rep->filename = "SalesOrder" . $i . ".pdf";
+        }
                $rep->SetHeaderType('Header2');
                $rep->currency = $cur;
                $rep->Font();
-               if ($print_as_quote == 1)
-               {
-                       $rep = new FrontReport("", "", user_pagesize(), 9, $orientation);
-                       if ($print_as_quote == 1)
-                       {
-                               $rep->title = _('QUOTE');
-                               $rep->filename = "Quote" . $i . ".pdf";
-                       }
-                       else
-                       {
-                               $rep->title = _("SALES ORDER");
-                               $rep->filename = "SalesOrder" . $i . ".pdf";
-                       }
-               }
-               else
-                       $rep->title = ($print_as_quote==1 ? _("QUOTE") : _("SALES ORDER"));
-               $rep->currency = $cur;
-               $rep->Font();
                $rep->Info($params, $cols, null, $aligns);
 
                $contacts = get_branch_contacts($branch['branch_code'], 'order', $branch['debtor_no'], true);
                $rep->SetCommonData($myrow, $branch, $myrow, $baccount, ST_SALESORDER, $contacts);
-               $rep->SetHeaderType('Header2');
                $rep->NewPage();
 
                $result = get_sales_order_details($i, ST_SALESORDER);
@@ -219,12 +203,8 @@ function print_sales_orders()
                        $rep->TextCol(1, 7, $myrow['curr_code'] . ": " . $words, - 2);
                }       
                $rep->Font();
-               if ($email == 1)
-               {
-                       $rep->End($email);
-               }
+        if ($i == $to || $email == 1)
+            $rep->End($email);
        }
-       if ($email == 0)
-               $rep->End();

Re: After creating Sales Order - sending email: PDF without a name?

@joe: can it be safely used in the core?

Re: After creating Sales Order - sending email: PDF without a name?

I don't know. Probably. I will have a look tomorrow.

/joe