diff --git a/expo/models.py b/expo/models.py index 4bbf421..e6ab637 100644 --- a/expo/models.py +++ b/expo/models.py @@ -6,6 +6,7 @@ from django.contrib import admin from django.core.files.storage import FileSystemStorage import os import troggle.settings as settings +import datetime from models_survex import * class Expedition(models.Model): @@ -17,6 +18,14 @@ class Expedition(models.Model): def __unicode__(self): 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 + def GetPersonExpedition(self, name): person_expeditions = PersonExpedition.objects.filter(expedition=self) res = None diff --git a/expo/views_other.py b/expo/views_other.py index 88a8559..771816a 100644 --- a/expo/views_other.py +++ b/expo/views_other.py @@ -1,5 +1,5 @@ from django.shortcuts import render_to_response -from troggle.expo.models import Cave, Expedition, Person, LogbookEntry +from troggle.expo.models import Cave, Expedition, Person, LogbookEntry, PersonExpedition import troggle.settings as settings from django import forms from django.db.models import Q @@ -16,4 +16,15 @@ def stats(request): def frontPage(request): - return render_to_response('index.html', {'randSent':randSent.randomLogbookSentence(),'settings':settings}) \ No newline at end of file + return render_to_response('index.html', {'randSent':randSent.randomLogbookSentence(),'settings':settings}) + +def calendar(request,year): + week=['S','S','M','T','W','T','F'] + if year: + expedition=Expedition.objects.get(year=year) + PersonExpeditions=expedition.personexpedition_set.all() + + dictToPass=locals() + dictToPass.update({'settings':settings}) + return render_to_response('calendar.html', dictToPass) + \ No newline at end of file diff --git a/templates/calendar.html b/templates/calendar.html new file mode 100644 index 0000000..559ef79 --- /dev/null +++ b/templates/calendar.html @@ -0,0 +1,61 @@ +{% extends "base.html" %} + +{% block title %} + CUCC expedition calendar: + {% if expedition %} + {{ expedition.year }} + {% else %} + choose a year + {% endif %} +{% endblock %} + +{% 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% } +--> +</style> + +{% endblock %} + +{% block content %} + {% if expedition %} + <table> + <tr> + {% for date in expedition.ListDays %} + {% ifchanged date.month %} + <td class="h">{{ date|date:"F" }}</td> + {% else %} + <td class="h"></td> + {% endifchanged %} + {% endfor %} + <tr> + {% for date in expedition.ListDays %} + <td class="h">{{ date|date:"D" }}</td> + {% endfor %} + <tr> + <tr> + {% for date in expedition.ListDays %} + <td class="h">{{ date|date:"d" }}</td> + {% endfor %} + <tr> + {% endif %} +{% endblock %} \ No newline at end of file