All pastes #87486 Raw Edit

Mine

public text v1 · immutable
·published 2006-07-14 00:27 UTC
rendered paste body
views.py:

def calendar(request, calendar, year=False, month=False):
	try:
		c = Calendar.objects.get(ident=calendar)
	except:
		raise Http404

	linklist = [
			{"url": "/calendar", "text": "calendar"},
			{"url": "/calendar/" + c.ident, "text": c.name.lower()}]

	if year == False:
		year = strftime("%Y")
	else:
		linklist.append({"url": "/calendar/"+c.ident+"/"+year, "text": year})
	if month == False:
		month = strftime("%m")
	else:
		linklist.append({"url": "/calendar/"+c.ident+"/"+year+"/"+month, "text": month})

	events = Event.objects.filter(time__year=int(year), time__month=int(month), calendar=c)
	cal = eventcalendar(events, year, month)

	print cal

	replaces = {
			"linklist": linklist,
			"calendar": c,
			"cal": cal,
			"year": year,
			"month": month,
			"events": events,
			"today": strftime("%e")
			}
	return rtr("calendar/calendar.html", replaces, request)


def eventcalendar(events, year, month):
	grid = monthcalendar(int(year), int(month))
	cal = []
	for week in grid:
		new_week = []
		for day in week:
			new_week.append({"number":day, "events":events.filter(time__day = day)})
		cal.append(new_week)

	return cal

calendar.html:
{% block content %}
<h1>{{ calendar.name }}</h1>
<div id="calendar">
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="grid">
<tr>
	<th width="14%">Monday</th>
	<th width="14%">Tuesday</th>
	<th width="14%">Wednesday</th>
	<th width="14%">Thursday</th>
	<th width="14%">Friday</th>
	<th width="14%">Saturday</th>
	<th width="14%">Sunday</th>
{% if cal %}{% for week in cal %}
<tr>
	{% for day in week %}
	<td{% ifequal day.number today %} style="background-color: #000000;"{% endifequal %} valign="top">
		{% ifnotequal day.number 0 %}
			<table width="100%" cellspacing="0" cellpadding="0" border="0" class="events">
				<tr><td rowspan="{{ day.events.count|add:2 }}" valign="top" class="number">
					<a href="/calendar/{{ calendar.ident }}/{{ year }}/{{ month }}/{{ day.number }}" class="number{% ifnotequal day.events.count 0 %}active{%endifnotequal%}">{{ day.number }}</a>
				</td></tr>
			{% for event in day.events %}
				<tr>
					<td valign="top">
						<div class="dim"><a href="/calendar/{{calendar.ident}}/{{year}}/{{month}}/{{day.number}}/{{event.ident}}">{{ event.name }}</a></div>
				</td>
				</tr>
			{% endfor %}
			</table>
		{%endifnotequal%}
	</td>
	{% endfor %}
</tr>
{% endfor %}{% endif %}
</table>
</div>
{% endblock %}