summaryrefslogtreecommitdiffstats
path: root/expo/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'expo/models.py')
-rw-r--r--expo/models.py29
1 files changed, 23 insertions, 6 deletions
diff --git a/expo/models.py b/expo/models.py
index e6ab637..26f6f91 100644
--- a/expo/models.py
+++ b/expo/models.py
@@ -19,12 +19,13 @@ class Expedition(models.Model):
return self.year
def ListDays(self):
- dates=[]
- date=self.start_date
- while date <= self.end_date:
- dates.append(date)
- date+=datetime.timedelta(days=1)
- return dates
+ if self.start_date and self.end_date:
+ res=[]
+ date=self.start_date
+ while date <= self.end_date:
+ res.append(date)
+ date+=datetime.timedelta(days=1)
+ return res
def GetPersonExpedition(self, name):
person_expeditions = PersonExpedition.objects.filter(expedition=self)
@@ -67,6 +68,22 @@ class PersonExpedition(models.Model):
res.append(self.nickname)
return res
+ def ListDays(self):
+ if self.from_date and self.to_date:
+ res=[]
+ date=self.from_date
+ while date <= self.to_date:
+ res.append(date)
+ date+=datetime.timedelta(days=1)
+ return res
+
+ def ListDaysTF(self):
+ if self.from_date and self.to_date:
+ res=[]
+ for date in self.expedition.ListDays():
+ res.append(date in self.ListDays())
+ return res
+
def __unicode__(self):
return "%s: (%s)" % (self.person, self.expedition)