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/29/2020 12:06:51 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 ba6c86c..434deb8 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,26 @@ 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);
@@ -218,12 +202,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

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

@Braath Waate: sorry for my late reaction and thanks for posting this.
Please excuse my ignorance - I'm not very experienced with git - with what do I parse this script to change the source file?

/cheers Andreas

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

git apply <diff file>

or edit the source file manually.

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

This fix has now been committed to stable repo.

The fixed file can be downloaded here.

/joe

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

Thanks Joe!
Updated and works fine.