From 30e664a2ea4c28f7623745c65b9927e77dd68cfe Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Sun, 14 Aug 2022 16:00:24 +0200
Subject: [PATCH] Fix distinct bug and fix display of validity

---
 aleksis/apps/kort/forms.py  | 2 +-
 aleksis/apps/kort/models.py | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/aleksis/apps/kort/forms.py b/aleksis/apps/kort/forms.py
index 7f22c67..4608bc7 100644
--- a/aleksis/apps/kort/forms.py
+++ b/aleksis/apps/kort/forms.py
@@ -65,7 +65,7 @@ class CardIssueForm(forms.Form):
         cleaned_data["all_persons"] = Person.objects.filter(
             Q(pk__in=cleaned_data.get("persons", []))
             | Q(member_of__in=cleaned_data.get("groups", []))
-        )
+        ).distinct()
 
         if not cleaned_data["all_persons"].exists():
             raise forms.ValidationError(_("The selected groups don't have any members."))
diff --git a/aleksis/apps/kort/models.py b/aleksis/apps/kort/models.py
index e84d017..b1faaf4 100644
--- a/aleksis/apps/kort/models.py
+++ b/aleksis/apps/kort/models.py
@@ -270,7 +270,7 @@ class Card(ExtensibleModel):
     @property
     def is_valid(self):
         return (
-            self.valid_until <= timezone.now().date() and not self.deactivated and self.chip_number
+            self.valid_until >= timezone.now().date() and not self.deactivated and self.chip_number
         )
 
     def deactivate(self):
-- 
GitLab