summaryrefslogtreecommitdiffstats
path: root/expo
diff options
context:
space:
mode:
authorsubstantialnoninfringinguser <substantialnoninfringinguser@gmail.com>2009-05-13 06:09:55 +0100
committersubstantialnoninfringinguser <substantialnoninfringinguser@gmail.com>2009-05-13 06:09:55 +0100
commit6137f8baaadccfa5019f36dfab1d43bbdb230629 (patch)
tree8ed279cefaa6a70f5f896a04f9008c51e28e98e8 /expo
parentd6244e1ef3786be26931b1a3d772c6788a354d34 (diff)
downloadtroggle-6137f8baaadccfa5019f36dfab1d43bbdb230629.tar.gz
troggle-6137f8baaadccfa5019f36dfab1d43bbdb230629.tar.bz2
troggle-6137f8baaadccfa5019f36dfab1d43bbdb230629.zip
[svn] Logbook entries are now at /YYYY-MM-DD/slug .
Try editing a logbook entry title in the admin now. The django built in auto slug field is fun and javascripty. Copied from http://cucc@cucc.survex.com/svn/trunk/expoweb/troggle/, rev. 8308 by aaron @ 3/16/2009 7:27 PM
Diffstat (limited to 'expo')
-rw-r--r--expo/admin.py1
-rw-r--r--expo/models.py4
-rw-r--r--expo/views_logbooks.py4
3 files changed, 6 insertions, 3 deletions
diff --git a/expo/admin.py b/expo/admin.py
index a1d4fe0..9b8a399 100644
--- a/expo/admin.py
+++ b/expo/admin.py
@@ -24,6 +24,7 @@ class QMInline(admin.TabularInline):
#class LogbookEntryAdmin(VersionAdmin):
class LogbookEntryAdmin(admin.ModelAdmin):
+ prepopulated_fields = {'slug':("title",)}
search_fields = ('title','expedition__year')
#inlines = (QMInline,) #doesn't work because QM has two foreignkeys to Logbookentry- need workaround
diff --git a/expo/models.py b/expo/models.py
index 56fbf01..485468c 100644
--- a/expo/models.py
+++ b/expo/models.py
@@ -10,6 +10,7 @@ import os
from django.conf import settings
import datetime
from decimal import Decimal, getcontext
+from django.core.urlresolvers import reverse
getcontext().prec=2 #use 2 significant figures for decimal calculations
from models_survex import *
@@ -211,6 +212,7 @@ class LogbookEntry(TroggleModel):
cave = models.ForeignKey('Cave',blank=True,null=True)
place = models.CharField(max_length=100,blank=True,null=True)
text = models.TextField()
+ slug = models.SlugField(max_length=100)
#href = models.CharField(max_length=100)
@@ -224,7 +226,7 @@ class LogbookEntry(TroggleModel):
ordering = ('-date',)
def get_absolute_url(self):
- return settings.URL_ROOT + "/logbookentry/" + str(self.pk)
+ return settings.URL_ROOT + reverse('logbookentry',kwargs={'date':self.date,'slug':self.slug})
def __unicode__(self):
return "%s: (%s)" % (self.date, self.title)
diff --git a/expo/views_logbooks.py b/expo/views_logbooks.py
index 13468dc..894be2a 100644
--- a/expo/views_logbooks.py
+++ b/expo/views_logbooks.py
@@ -87,8 +87,8 @@ def newQMlink(logbookentry):
nextQMnumber=biggestQMnumber+1
return settings.URL_ROOT + r'/admin/expo/qm/add/?' + r'found_by=' + str(logbookentry.pk) +'&number=' + str(nextQMnumber)
-def logbookentry(request, logbookentry_pk):
- logbookentry = LogbookEntry.objects.get(pk = logbookentry_pk)
+def logbookentry(request, date, slug):
+ logbookentry = LogbookEntry.objects.get(date=date, slug=slug)
return render_response(request, 'logbookentry.html', {'logbookentry': logbookentry, 'newQMlink':newQMlink(logbookentry)})