]> git.agnieray.net Git - galette.git/commitdiff
PDF display changes; refs #1271
authorJohan Cwiklinski <jcwiklinski@teclib.com>
Mon, 15 Apr 2019 06:13:25 +0000 (08:13 +0200)
committerJohan Cwiklinski <jcwiklinski@teclib.com>
Mon, 15 Apr 2019 06:13:25 +0000 (08:13 +0200)
galette/includes/routes/members.routes.php
galette/lib/Galette/IO/Pdf.php
galette/lib/Galette/IO/PdfAdhesionForm.php
galette/lib/Galette/IO/PdfContribution.php
galette/lib/Galette/IO/PdfMembersCards.php
galette/lib/Galette/IO/PdfMembersLabels.php

index 14010f51ef7d163b9b307adeb354e9bd2bf7d7d0..4d2056dbf44c1be76c86afca63fc6643f86109e9 100644 (file)
@@ -317,6 +317,7 @@ $app->get(
             $notFound = $this->notFoundHandler;
             return $notFound($request, $response);
         }
+        return $response;
     }
 )->setName('csv-memberslist')->add($authenticate);
 
@@ -1778,8 +1779,9 @@ $app->get(
         $pdf = new PdfMembersCards($this->preferences);
         $pdf->drawCards($members);
 
-        $response = $this->response->withHeader('Content-type', 'application/pdf');
-        $response->write($pdf->Output(_T("Cards") . '.pdf', 'D'));
+        $response = $this->response->withHeader('Content-type', 'application/pdf')
+                ->withHeader('Content-Disposition', 'attachment;filename="' . $pdf->getFileName() . '"');
+        $response->write($pdf->download());
         return $response;
     }
 )->setName('pdf-members-cards')->add($authenticate);
@@ -1845,10 +1847,10 @@ $app->get(
 
         $pdf = new PdfMembersLabels($this->preferences);
         $pdf->drawLabels($members);
-        $response = $this->response->withHeader('Content-type', 'application/pdf');
-        $response->write($pdf->Output(_T("labels_print_filename") . '.pdf', 'D'));
+        $response = $this->response->withHeader('Content-type', 'application/pdf')
+                ->withHeader('Content-Disposition', 'attachment;filename="' . $pdf->getFileName() . '"');
+        $response->write($pdf->download());
         return $response;
-
     }
 )->setName('pdf-members-labels')->add($authenticate);
 
@@ -1901,7 +1903,8 @@ $app->get(
 
         $form = $this->preferences->pref_adhesion_form;
         $pdf = new $form($adh, $this->zdb, $this->preferences);
-        $response = $this->response->withHeader('Content-type', 'application/pdf');
+        $response = $this->response->withHeader('Content-type', 'application/pdf')
+            ->withHeader('Content-Disposition', 'attachment; filename="' . $pdf->getFileName() . '"');
         $response->write($pdf->download());
         return $response;
     }
@@ -1913,7 +1916,8 @@ $app->get(
     function ($request, $response) {
         $form = $this->preferences->pref_adhesion_form;
         $pdf = new $form(null, $this->zdb, $this->preferences);
-        $response = $this->response->withHeader('Content-type', 'application/pdf');
+        $response = $this->response->withHeader('Content-type', 'application/pdf')
+            ->withHeader('Content-Disposition', 'attachment; filename="' . $pdf->getFileName() . '"');
         $response->write($pdf->download());
         return $response;
     }
@@ -2676,7 +2680,6 @@ $app->post(
         $response = $this->response->withHeader('Content-type', 'application/pdf');
         $response->write($pdf->Output(_T("attendance_sheet") . '.pdf', 'D'));
         return $response;
-
     }
 )->setName('attendance_sheet')->add($authenticate);
 
index 4a30181cfcace7fd202330e0e3a3077ef6befcf0..7336201b458709aca0900888c6bca0c59e621c99 100644 (file)
@@ -79,6 +79,7 @@ class Pdf extends \TCPDF
     protected $preferences;
     private $model;
     private $paginated = false;
+    private $filename;
 
     /**
      * Main constructor, set creator and author
@@ -483,4 +484,24 @@ class Pdf extends \TCPDF
         }
         return $str;
     }
+
+    /**
+     * Get filename
+     *
+     * @return string
+     */
+    public function getFilename()
+    {
+        return $this->filename;
+    }
+
+    /**
+     * Download PDF from browser
+     *
+     * @return void
+     */
+    public function download()
+    {
+        $this->Output($this->filename, 'D');
+    }
 }
index 6b71f44763bc5e494910c1162debf336f0f4c8cd..4d1b862380c611f9196e92ca8f0117bb3c021153 100644 (file)
@@ -200,7 +200,7 @@ class PdfAdhesionForm
                 $field_id    = $match[1];
                 $field_name  = $dynamic_fields[$field_id]->getName();
                 $field_type  = $dynamic_fields[$field_id]->getType();
-                $field_value = '';
+                $field_value = ['field_val' => ''];
                 if ($adh !== null) {
                     $field_values = $adh->getDynamicFields()->getValues($field_id);
                     $field_value  = $field_values[0];
@@ -284,6 +284,16 @@ class PdfAdhesionForm
         $this->pdf->Output($this->filename, 'D');
     }
 
+    /**
+     * Get filename
+     *
+     * @return string
+     */
+    public function getFilename()
+    {
+        return $this->filename;
+    }
+
     /**
      * Store PDF
      *
index a10d6a8fb270964cc7ed557adc946333a517be89..c03a6da3b43ff5f2a73e780635d0400235fef185 100644 (file)
@@ -202,4 +202,14 @@ class PdfContribution
     {
         return realpath($this->path);
     }
+
+    /**
+     * Get filename
+     *
+     * @return string
+     */
+    public function getFilename()
+    {
+        return $this->filename;
+    }
 }
index 20c58a80d1cdb28ad40d20b5382eeab30240d569..070fad1eb4e347ca2897ed70f37d16c4769b1e80 100644 (file)
@@ -90,6 +90,7 @@ class PdfMembersCards extends Pdf
     public function __construct(Preferences $prefs)
     {
         parent::__construct($prefs);
+        $this->filename = __('Cards') . '.pdf';
         $this->init();
     }
     /**
index ddb7a3ec6977338d268a7a801bcc3a0ccfe6f316..cdf8b5a0277750344ce304095473ce5d009d2b57 100644 (file)
@@ -70,6 +70,7 @@ class PdfMembersLabels extends Pdf
     public function __construct(Preferences $prefs)
     {
         parent::__construct($prefs);
+        $this->filename = _T('labels_print_filename');
         $this->init();
     }
     /**