diff options
author | substantialnoninfringinguser <substantialnoninfringinguser@gmail.com> | 2009-05-13 06:09:55 +0100 |
---|---|---|
committer | substantialnoninfringinguser <substantialnoninfringinguser@gmail.com> | 2009-05-13 06:09:55 +0100 |
commit | 6137f8baaadccfa5019f36dfab1d43bbdb230629 (patch) | |
tree | 8ed279cefaa6a70f5f896a04f9008c51e28e98e8 /expo | |
parent | d6244e1ef3786be26931b1a3d772c6788a354d34 (diff) | |
download | troggle-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.py | 1 | ||||
-rw-r--r-- | expo/models.py | 4 | ||||
-rw-r--r-- | expo/views_logbooks.py | 4 |
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)})
|