summaryrefslogtreecommitdiffstats
path: root/expo/views_caves.py
diff options
context:
space:
mode:
authorsubstantialnoninfringinguser <substantialnoninfringinguser@gmail.com>2009-05-13 06:08:04 +0100
committersubstantialnoninfringinguser <substantialnoninfringinguser@gmail.com>2009-05-13 06:08:04 +0100
commit157f11b65900f7f36c7d9a060c8162c4250d584a (patch)
treefa271a36876e30341e2708707e05211f11b46631 /expo/views_caves.py
parent256de6e083926d526b419e4c698465b9bb2d7e21 (diff)
downloadtroggle-157f11b65900f7f36c7d9a060c8162c4250d584a.tar.gz
troggle-157f11b65900f7f36c7d9a060c8162c4250d584a.tar.bz2
troggle-157f11b65900f7f36c7d9a060c8162c4250d584a.zip
[svn] Added QM wiki markup. The format is [[cave:204 QM:2005-04A]] with the grade (A) being optional. The links color red if the QM does not exist, and in that case clicking on them goes to an admin add page with fields prepopulated.
Various other little things, e.g. filled in the footer with links. Copied from http://cucc@cucc.survex.com/svn/trunk/expoweb/troggle/, rev. 8305 by aaron @ 3/16/2009 8:53 AM
Diffstat (limited to 'expo/views_caves.py')
-rw-r--r--expo/views_caves.py23
1 files changed, 17 insertions, 6 deletions
diff --git a/expo/views_caves.py b/expo/views_caves.py
index 169dbec..68dd3d0 100644
--- a/expo/views_caves.py
+++ b/expo/views_caves.py
@@ -1,9 +1,12 @@
-from troggle.expo.models import Cave, CaveAndEntrance, Survey, Expedition
+from troggle.expo.models import Cave, CaveAndEntrance, Survey, Expedition, QM
import troggle.expo.models as models
import troggle.settings as settings
-from troggle.expo.forms import CaveForm
+from django.forms.models import formset_factory
import search
+from django.core.urlresolvers import reverse
from troggle.alwaysUseRequestContext import render_response # see views_logbooks for explanation on this.
+from django.http import HttpResponseRedirect
+from django.conf import settings
def getCave(cave_id):
"""Returns a cave object when given a cave name or number. It is used by views including cavehref, ent, and qm."""
@@ -21,11 +24,19 @@ def caveindex(request):
def cavehref(request, cave_id='', offical_name=''):
return render_response(request,'cave.html', {'cave': getCave(cave_id),})
-
-def qm(request,cave_id,qm_id,year):
+
+def qm(request,cave_id,qm_id,year,grade=None):
year=int(year)
- qm=getCave(cave_id).get_QMs().get(number=qm_id,found_by__date__year=year)
- return render_response(request,'qm.html',{'qm':qm,})
+ try:
+ qm=getCave(cave_id).get_QMs().get(number=qm_id,found_by__date__year=year)
+ return render_response(request,'qm.html',locals())
+
+ except QM.DoesNotExist:
+ url= settings.URL_ROOT + r'/admin/expo/qm/add/?'+ r'number=' + qm_id
+ if grade:
+ url += r'&grade=' + grade
+ return HttpResponseRedirect(url)
+
def ent(request, cave_id, ent_letter):
cave = Cave.objects.filter(kataster_number = cave_id)[0]