diff options
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)})
|