diff options
Diffstat (limited to 'app/blog')
-rw-r--r-- | app/blog/admin.py | 11 | ||||
-rw-r--r-- | app/blog/models.py | 16 |
2 files changed, 15 insertions, 12 deletions
diff --git a/app/blog/admin.py b/app/blog/admin.py index c4b7e77..c0d72d9 100644 --- a/app/blog/admin.py +++ b/app/blog/admin.py @@ -3,12 +3,10 @@ from django import forms from blog.models import Entry, PostImage, EntryAside from blog.widgets import AdminImageWidget from django.contrib.gis.admin import OSMGeoAdmin -from django.contrib.gis.maps.google import GoogleMap from django.conf import settings from models import * -GMAP = GoogleMap(key=settings.GOOGLE_MAPS_API_KEY) class EntryAsideInline(admin.TabularInline): model = EntryAside @@ -24,15 +22,8 @@ class BlogEntryForm(forms.ModelForm): widgets = { 'body_markdown': forms.Textarea(attrs={'rows':50, 'cols':100}), } - def clean_point(self): - try: - location = Location.objects.filter(geometry__contains=self.cleaned_data['point']).get() - self.location = location - except Location.DoesNotExist: - raise forms.ValidationError("There is no location associated with that point") - return self.cleaned_data['point'] - + class EntryAdmin(OSMGeoAdmin): form = BlogEntryForm inlines = [EntryAsideInline,] diff --git a/app/blog/models.py b/app/blog/models.py index bf319ce..0f73f86 100644 --- a/app/blog/models.py +++ b/app/blog/models.py @@ -39,7 +39,7 @@ TEMPLATES = ( ) class PostImage(models.Model): title = models.CharField(max_length=100) - image = models.ImageField(upload_to="%s%s" %(settings.IMAGES_ROOT, datetime.datetime.today().strftime("%Y"))) + image = models.ImageField(upload_to="%s/%s" %(settings.IMAGES_ROOT, datetime.datetime.today().strftime("%Y"))) def __unicode__(self): return self.title @@ -90,6 +90,14 @@ class Entry(models.Model): return '%spost-images/%s/%s' %(settings.IMAGES_URL, image_dir, img) @property + def state(self): + return self.location.state + + @property + def country(self): + return self.location.state.country + + @property def region(self): return self.location.state.country.lux_region @@ -114,8 +122,12 @@ class Entry(models.Model): def save(self): md = image_url_replace(self.body_markdown) - self.body_html = markdown.markdown(self.body_markdown, extensions=['extra',], safe_mode = False) + self.body_html = markdown.markdown(md, extensions=['extra',], safe_mode = False) self.dek == markdown.markdown(self.dek, safe_mode = False) + try: + self.location = Location.objects.filter(geometry__contains=self.point).get() + except Location.DoesNotExist: + raise forms.ValidationError("There is no location associated with that point, add it: %sadmin/locations/location/add/" %(settings.BASE_URL)) super(Entry, self).save() class EntryAside(models.Model): |