diff options
Diffstat (limited to 'expo')
-rw-r--r-- | expo/admin.py | 10 | ||||
-rw-r--r-- | expo/models.py | 29 |
2 files changed, 31 insertions, 8 deletions
diff --git a/expo/admin.py b/expo/admin.py index 2f7fd4a..7c170d9 100644 --- a/expo/admin.py +++ b/expo/admin.py @@ -18,6 +18,12 @@ class SurveyAdmin(admin.ModelAdmin): class LogbookEntryAdmin(admin.ModelAdmin):
search_fields = ('title',)
+class PersonAdmin(admin.ModelAdmin):
+ search_fields = ('first_name','last_name')
+
+class PersonExpeditionAdmin(admin.ModelAdmin):
+ search_fields = ('person__first_name',)
+
admin.site.register(Photo)
admin.site.register(Cave)
admin.site.register(Area)
@@ -27,9 +33,9 @@ admin.site.register(SurveyStation) admin.site.register(Entrance)
admin.site.register(SurvexBlock, SurvexBlockAdmin)
admin.site.register(Expedition)
-admin.site.register(Person)
+admin.site.register(Person,PersonAdmin)
admin.site.register(PersonRole)
-admin.site.register(PersonExpedition)
+admin.site.register(PersonExpedition,PersonExpeditionAdmin)
admin.site.register(Role)
admin.site.register(LogbookEntry, LogbookEntryAdmin)
admin.site.register(PersonTrip)
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)
|