summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsubstantialnoninfringinguser <substantialnoninfringinguser@gmail.com>2009-05-13 05:35:29 +0100
committersubstantialnoninfringinguser <substantialnoninfringinguser@gmail.com>2009-05-13 05:35:29 +0100
commitb950ee70f77892463fac87fba2dd9d5ce964accf (patch)
tree71be97a786437136fff071d524606f8e66ca2272
parentcda0a7a5e1126a8965549ae4e2e4af4ffb7d01d3 (diff)
downloadtroggle-b950ee70f77892463fac87fba2dd9d5ce964accf.tar.gz
troggle-b950ee70f77892463fac87fba2dd9d5ce964accf.tar.bz2
troggle-b950ee70f77892463fac87fba2dd9d5ce964accf.zip
[svn]
Copied from http://cucc@cucc.survex.com/svn/trunk/expoweb/troggle/, rev. 8175 by aaron @ 1/18/2009 4:42 AM
-rw-r--r--expo/admin.py10
-rw-r--r--expo/models.py29
-rw-r--r--templates/calendar.html49
3 files changed, 56 insertions, 32 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)
diff --git a/templates/calendar.html b/templates/calendar.html
index 559ef79..a39556c 100644
--- a/templates/calendar.html
+++ b/templates/calendar.html
@@ -12,25 +12,9 @@
{% block javascript %}
<style type="text/css">
<!--
-td.f { background: #7f96e8; width: 80pt; font-size: 10pt }
-td.ff { background: #ff6666; width: 80pt; font-size: 10pt }
-td.fe { background: #7f96e8; width: 80pt; text-align:right; font-size: 10pt }
-td.ffe { background: #ff6666; width: 80pt; text-align:right; font-size: 10pt }
-td.e { background: #aaaaaa; width: 80pt; text-align:center; font-size: 10pt }
-td.n { width: 120pt }
-td.t { font-size: 10pt }
-td.week { width: 4pt }
-td.h { width: 80pt; font-size: 8pt; text-align: center }
-tr.r { height: 40pt }
-tr.brk { height: 12pt }
-tr.sbrk { height: 2pt }
-tr.dblsbrk { height: 4pt }
-td.sbrk { background: #dddddd }
-td.dblsbrk { background: #dddddd; font-size: 6pt }
-span.l { background: #7f96e8 }
-span.s { background: #ff6666 }
-table.t { background: #dddddd }
-body { margin-left: 5%; margin-right: 5% }
+td.yes { background: #7f96e8; width: 80pt; font-size: 10pt }
+td.no { background: #ff6666; width: 80pt; font-size: 10pt }
+td.name { background: #7f96e8; width: 80pt; text-align:right; font-size: 10pt }
-->
</style>
@@ -39,7 +23,7 @@ body { margin-left: 5%; margin-right: 5% }
{% block content %}
{% if expedition %}
<table>
- <tr>
+ <tr><td />
{% for date in expedition.ListDays %}
{% ifchanged date.month %}
<td class="h">{{ date|date:"F" }}</td>
@@ -47,15 +31,32 @@ body { margin-left: 5%; margin-right: 5% }
<td class="h"></td>
{% endifchanged %}
{% endfor %}
- <tr>
+ </tr>
+ <tr><td />
{% for date in expedition.ListDays %}
<td class="h">{{ date|date:"D" }}</td>
{% endfor %}
- <tr>
- <tr>
+ </tr>
+ <tr><td />
{% for date in expedition.ListDays %}
<td class="h">{{ date|date:"d" }}</td>
{% endfor %}
- <tr>
+ </tr>
+
+ {% for personexpedition in expedition.personexpedition_set.all %}
+ <tr>
+ <td class="name">
+ {{ personexpedition.person }}
+ </td>
+ {% for dateTF in personexpedition.ListDaysTF %}
+ <td {{ dateTF|yesno:"class='yes',class='no'"|safe }}></td>
+ {% empty %}
+ <td colspan="{{ expedition.ListDays|length }}">No data yet.</td>
+ {% endfor %}
+
+
+ </tr>
+ {% endfor %}
+ </table>
{% endif %}
{% endblock %} \ No newline at end of file