]> git.agnieray.net Git - galette.git/commitdiff
Rework background colors on members cards
authorJohan Cwiklinski <johan@x-tnd.be>
Mon, 25 Mar 2024 18:51:13 +0000 (19:51 +0100)
committerJohan Cwiklinski <johan@x-tnd.be>
Mon, 25 Mar 2024 19:20:23 +0000 (20:20 +0100)
closes #1814

galette/lib/Galette/IO/PdfMembersCards.php

index 2c0b65eb5bfd7bd8b3d00dea7c2d70541d8480ad..b733a520e5f92cb3b927df851ff53e1f0d3242de 100644 (file)
@@ -25,6 +25,8 @@ use Galette\Core\Preferences;
 use Galette\Core\PrintLogo;
 use Analog\Analog;
 use Galette\Entity\Adherent;
+use Galette\Entity\Status;
+use Galette\Repository\Members;
 
 /**
  * Member card PDF
@@ -174,7 +176,13 @@ class PdfMembersCards extends Pdf
      */
     public function drawCards(array $members): void
     {
+        global $zdb;
+
         $nb_card = 0;
+
+        $status = new Status($zdb);
+        $status_list = $status->getCompleteList();
+
         foreach ($members as $member) {
             // Detect page breaks
             if ($nb_card % ($this->nbcol * $this->nbrow) == 0) {
@@ -209,20 +217,17 @@ class PdfMembersCards extends Pdf
                     break;
             }
 
-            // Select strip color according to status
-            switch ($member->status) {
-                case 1:
-                case 2:
-                case 3:
-                case 10:
-                    $fcol = $this->bcol;
-                    break;
-                case 5:
-                case 6:
-                    $fcol = $this->hcol;
-                    break;
-                default:
-                    $fcol = $this->scol;
+            // Select strip color
+            $fcol = ['R' => 0, 'G' => 0, 'B' => 0];
+            if ($status_list[$member->status]['extra'] <= Members::NON_STAFF_MEMBERS) {
+                $fcol = $this->bcol;
+            } elseif (
+                $member->status == 5 /*Benefactor member*/
+                || $member->status === 6 /*Founder member*/
+            ) {
+                $fcol = $this->hcol;
+            } elseif ($member->isActive()) {
+                $fcol = $this->scol;
             }
 
             $nom_adh_ext = '';