From e57722bece27af6f6da85e6c5f6df394b26641d1 Mon Sep 17 00:00:00 2001 From: Manuel H Date: Wed, 19 Aug 2020 14:55:45 +0200 Subject: [PATCH] Une couleur et un texte pour les dons #1437 --- galette/lib/Galette/Entity/Adherent.php | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++--- galette/templates/default/gestion_adherents.tpl | 5 +++++ galette/webroot/themes/default/galette.css | 2 +- 3 files changed, 57 insertions(+), 4 deletions(-) diff --git a/galette/lib/Galette/Entity/Adherent.php b/galette/lib/Galette/Entity/Adherent.php index ac80591..7702b6e 100644 --- a/galette/lib/Galette/Entity/Adherent.php +++ b/galette/lib/Galette/Entity/Adherent.php @@ -111,6 +111,7 @@ class Adherent private $_admin; private $_staff; private $_due_free; + private $_donator_period; //est donateur dans la période/année en cours private $_login; private $_password; private $_creation_date; @@ -475,19 +476,64 @@ class Adherent */ private function checkDues() { - //how many days since our beloved member has been created + global $preferences; + $date_now = new \DateTime(); + + //a t-il fait des dons dans l'année en cours ? + if ($preferences->pref_beg_membership != '') { //adhésion classique de date à date + 1 an + list($j, $m) = explode('/', $preferences->pref_beg_membership); + $sdate = new \DateTime($date_now->format('Y') . '-' . $m . '-' . $j); + + } elseif ($preferences->pref_membership_ext != '') { //adhésion classique de date à date + N mois + $dext = new \DateInterval('P' . $preferences->pref_membership_ext . 'M'); + $sdate = $date_now->sub($dext); // now - X months + } + + //date_debut_cotis car l'adhérent peut demander un enregistrement de son don pour l'année suivante (en fin d'année) + $select = $this->zdb->select(Contribution::TABLE, 'c'); + $select->columns( + array( + 'idx' => new \Laminas\Db\Sql\Expression('COUNT(*)') + ) + ) + ->join( + array( + 'ct' => PREFIX_DB . ContributionsTypes::TABLE), + 'c.' . ContributionsTypes::PK . '=ct.' . ContributionsTypes::PK, + array() + ) + ->where(['id_adh' => $this->_id]) + ->where->greaterThanOrEqualTo('date_debut_cotis', $sdate->format('Y-m-d')) + ->where->equalTo('cotis_extension', 0); //uniquement les dons + +// $statement = $this->zdb->sql->getSqlStringForSqlObject($select); +// echo "$statement
"; + + $results = $this->zdb->execute($select); + $result = $results->current(); + $this->donator_period = (integer) $result->idx >0; + + + //how many days since our beloved member has been created $this->_oldness = $date_now->diff( new \DateTime($this->_creation_date) - )->days; + )->days; + if ($this->isDueFree()) { //no fee required, we don't care about dates $this->_row_classes .= ' cotis-exempt'; } else { //ok, fee is required. Let's check the dates if ($this->_due_date == '') { - $this->_row_classes .= ' cotis-never'; + + //n'est pas adhérent, mais y a t-il un don entre le début de l'année et maintenant + //dans ce cas _row_classes contiendra .cotis-give + if ($this->donator_period) + $this->_row_classes .= ' cotis-give'; //dans le css, la couleur est la même que pour les adhésions en retard, j'ai changé en bleu + else + $this->_row_classes .= ' cotis-never'; } else { $date_end = new \DateTime($this->_due_date); $date_diff = $date_now->diff($date_end); @@ -753,6 +799,8 @@ class Adherent _T("%days days remaining (ending on %date)") ); } + + if ($this->donator_period) $ret .= _T(" - Donator"); return $ret; } diff --git a/galette/templates/default/gestion_adherents.tpl b/galette/templates/default/gestion_adherents.tpl index 6b52353..520240b 100644 --- a/galette/templates/default/gestion_adherents.tpl +++ b/galette/templates/default/gestion_adherents.tpl @@ -370,6 +370,11 @@ We have to use a template file, so Smarty will do its work (like replacing varia   {_T string="Lateness in fee"} + +   + {_T string="Never contributed, but a donation"} + + diff --git a/galette/webroot/themes/default/galette.css b/galette/webroot/themes/default/galette.css index 1b724cb..35f48ac 100644 --- a/galette/webroot/themes/default/galette.css +++ b/galette/webroot/themes/default/galette.css @@ -931,7 +931,7 @@ legend .tab-button { } .cotis-give { - background-color: #FFDDDD!important; + background-color: #bae4dc !important; vertical-align: top; } -- libgit2 0.26.0