]> git.agnieray.net Git - galette.git/commitdiff
Fix close expiries; closes #1566
authorGuillaume AGNIERAY <dev@agnieray.net>
Mon, 20 Sep 2021 18:48:12 +0000 (20:48 +0200)
committerJohan Cwiklinski <johan@x-tnd.be>
Wed, 22 Sep 2021 03:56:26 +0000 (05:56 +0200)
galette/lib/Galette/Entity/Adherent.php
galette/lib/Galette/Repository/Members.php

index c68f9e094a366f48c80663f8957eadc6fb353969..8e5b5cdc32247da5121075a1d8270ffb1ce5fde3 100644 (file)
@@ -765,6 +765,9 @@ class Adherent
     public function getDues()
     {
         $ret = '';
+        $date_now = new \DateTime();
+        $ddate = new \DateTime($this->_due_date);
+        $date_diff = $date_now->diff($ddate);
         if ($this->isDueFree()) {
             $ret = _T("Freed of dues");
         } elseif ($this->_due_date == '') {
@@ -784,10 +787,13 @@ class Adherent
                 $ret = _T("Never contributed");
             }
         } elseif ($this->_days_remaining == 0) {
-            $ret = _T("Last day!");
+            if ($date_diff->invert == 0) {
+                $ret = _T("Last day!");
+            } else {
+                $ret = _T("Late since today!");
+            }
         } elseif ($this->_days_remaining < 0) {
             $patterns = array('/%days/', '/%date/');
-            $ddate = new \DateTime($this->_due_date);
             $replace = array(
                 $this->_days_remaining * -1,
                 $ddate->format(__("Y-m-d"))
@@ -803,7 +809,6 @@ class Adherent
             }
         } else {
             $patterns = array('/%days/', '/%date/');
-            $ddate = new \DateTime($this->_due_date);
             $replace = array(
                 $this->_days_remaining,
                 $ddate->format(__("Y-m-d"))
index a5869106efaf44a10ff03e0a9b66788320440e2b..b7338222451aff57988cfcf2f98e9803952b8588 100644 (file)
@@ -1091,10 +1091,10 @@ class Members
                         $now = new \DateTime();
                         $duedate = new \DateTime();
                         $duedate->modify('+1 month');
-                        $select->where->greaterThanOrEqualTo(
+                        $select->where->greaterThan(
                             'date_echeance',
                             $now->format('Y-m-d')
-                        )->lessThan(
+                        )->lessThanOrEqualTo(
                             'date_echeance',
                             $duedate->format('Y-m-d')
                         );