From dd76a1a0be0345bf1a2330cefe299af92b9a5721 Mon Sep 17 00:00:00 2001 From: substantialnoninfringinguser Date: Sat, 4 Jul 2009 08:27:49 +0100 Subject: [svn] * Adding JS fill in next QM number via ajax. * Slight models cleanup- get rid of TroggleImageModel class, use mixin instead. * Collect various troggle shared functions into utils.py --- core/views_logbooks.py | 48 ++++++++++++------------------------------------ 1 file changed, 12 insertions(+), 36 deletions(-) (limited to 'core/views_logbooks.py') diff --git a/core/views_logbooks.py b/core/views_logbooks.py index b504b35..13bf0d1 100644 --- a/core/views_logbooks.py +++ b/core/views_logbooks.py @@ -5,12 +5,13 @@ from django.db import models from troggle.parsers.logbooks import LoadLogbookForExpedition from troggle.parsers.people import GetPersonExpeditionNameLookup from troggle.core.forms import PersonForm -from django.core.urlresolvers import reverse +from django.core.urlresolvers import reverse from django.http import HttpResponseRedirect +# Django uses Context, not RequestContext when you call render_to_response. We always want to use RequestContext, so that django adds the context from settings.TEMPLATE_CONTEXT_PROCESSORS. This way we automatically get necessary settings variables passed to each template. So we use a custom method, render_response instead of render_to_response. Hopefully future Django releases will make this unnecessary. +from troggle.alwaysUseRequestContext import render_response -from utils import render_with_context - +import search import re @models.permalink #this allows the nice get_absolute_url syntax we are using @@ -36,7 +37,7 @@ def personindex(request): if person.bisnotable(): notablepersons.append(person) - return render_with_context(request,'personindex.html', {'persons': persons, 'personss':personss, 'notablepersons':notablepersons, }) + return render_response(request,'personindex.html', {'persons': persons, 'personss':personss, 'notablepersons':notablepersons, }) def expedition(request, expeditionname): year = int(expeditionname) @@ -48,7 +49,7 @@ def expedition(request, expeditionname): message = LoadLogbookForExpedition(expedition) #message = str(GetPersonExpeditionNameLookup(expedition).keys()) logbookentries = expedition.logbookentry_set.order_by('date') - return render_with_context(request,'expedition.html', {'expedition': expedition, 'expedition_next':expedition_next, 'expedition_prev':expedition_prev, 'logbookentries':logbookentries, 'message':message, }) + return render_response(request,'expedition.html', {'expedition': expedition, 'expedition_next':expedition_next, 'expedition_prev':expedition_prev, 'logbookentries':logbookentries, 'message':message, }) def get_absolute_url(self): return ('expedition', (expedition.year)) @@ -63,47 +64,22 @@ def person(request, first_name='', last_name='', ): person.save() return HttpResponseRedirect(reverse('profiles_select_profile')) - return render_with_context(request,'person.html', {'person': person, }) - - def get_absolute_url(self): - return settings.URL_ROOT + self.first_name + '_' + self.last_name - -#def person(request, name): -# person = Person.objects.get(href=name) -# + return render_response(request,'person.html', {'person': person, }) def personexpedition(request, first_name='', last_name='', year=''): person = Person.objects.get(first_name = first_name, last_name = last_name) expedition = Expedition.objects.get(year=year) personexpedition = person.personexpedition_set.get(expedition=expedition) - return render_with_context(request,'personexpedition.html', {'personexpedition': personexpedition, }) - -def newQMlink(logbookentry): - biggestQMnumber=0 - if logbookentry.cave: - for log in logbookentry.cave.logbookentry_set.all(): - try: - biggestQMnumberInLog = logbookentry.QMs_found.order_by('-number')[0].number - except IndexError: - biggestQMnumberInLog = 0 - if biggestQMnumberInLog > biggestQMnumber: - biggestQMnumber = biggestQMnumberInLog - else: - return None - - - - nextQMnumber=biggestQMnumber+1 - return settings.URL_ROOT + r'/admin/expo/qm/add/?' + r'found_by=' + str(logbookentry.pk) +'&number=' + str(nextQMnumber) + return render_response(request,'personexpedition.html', {'personexpedition': personexpedition, }) def logbookentry(request, date, slug): logbookentry = LogbookEntry.objects.filter(date=date, slug=slug) if len(logbookentry)>1: - return render_with_context(request, 'object_list.html',{'object_list':logbookentry}) + return render_response(request, 'object_list.html',{'object_list':logbookentry}) else: logbookentry=logbookentry[0] - return render_with_context(request, 'logbookentry.html', {'logbookentry': logbookentry, 'newQMlink':newQMlink(logbookentry)}) + return render_response(request, 'logbookentry.html', {'logbookentry': logbookentry}) def logbookSearch(request, extra): query_string = '' @@ -113,11 +89,11 @@ def logbookSearch(request, extra): entry_query = search.get_query(query_string, ['text','title',]) found_entries = LogbookEntry.objects.filter(entry_query) - return render_with_context(request,'logbooksearch.html', + return render_response(request,'logbooksearch.html', { 'query_string': query_string, 'found_entries': found_entries, }) #context_instance=RequestContext(request)) def personForm(request,pk): person=Person.objects.get(pk=pk) form=PersonForm(instance=person) - return render_with_context(request,'personform.html', {'form':form,}) \ No newline at end of file + return render_response(request,'personform.html', {'form':form,}) \ No newline at end of file -- cgit v1.2.3