summaryrefslogtreecommitdiffstats
path: root/core/models/caves.py
diff options
context:
space:
mode:
Diffstat (limited to 'core/models/caves.py')
-rw-r--r--core/models/caves.py18
1 files changed, 16 insertions, 2 deletions
diff --git a/core/models/caves.py b/core/models/caves.py
index 6492698..8b23ceb 100644
--- a/core/models/caves.py
+++ b/core/models/caves.py
@@ -1,4 +1,5 @@
import os
+import os
import re
from collections import defaultdict
from datetime import datetime, timezone
@@ -161,14 +162,27 @@ class Cave(TroggleModel):
def __str__(self, sep=": "):
return str(self.slug())
- def get_QMs(self):
+ def get_open_QMs(self):
"""Searches for all QMs that reference this cave."""
# qms = self.qm_set.all().order_by('expoyear', 'block__date')
qms = QM.objects.filter(cave=self).order_by(
"expoyear", "block__date"
) # a QuerySet, see https://docs.djangoproject.com/en/dev/ref/models/querysets/#order-by
- return qms # a QuerySet
+ qmsopen = qms.filter(ticked=False)
+ return qmsopen # a QuerySet
+ def get_ticked_QMs(self):
+ """Searches for all QMs that reference this cave."""
+ qms = QM.objects.filter(cave=self).order_by(
+ "expoyear", "block__date"
+ )
+ qmticked = qms.filter(ticked=True)
+ return qmticked # a QuerySet
+
+ def get_QMs(self):
+ qms = self.get_open_QMs() | self.get_ticked_QMs() # set union operation
+ return qms # a QuerySet
+
def kat_area(self):
for a in self.area.all():
if a.kat_area():