annotate gpp/membermap/models.py @ 318:c550933ff5b6

Fix a bug where you'd get an error when trying to delete a forum thread (topic does not exist). Apparently when you call topic.delete() the posts would get deleted, but the signal handler for each one would run, and it would try to update the topic's post count or something, but the topic was gone? Reworked the code a bit and explicitly delete the posts first. I also added a sync() call on the parent forum since post counts were not getting adjusted.
author Brian Neal <bgneal@gmail.com>
date Sat, 05 Feb 2011 21:46:52 +0000
parents 4532ed27bed8
children
rev   line source
gremmie@1 1 """
gremmie@1 2 Models for the member map application.
gremmie@1 3 """
bgneal@266 4 import datetime
gremmie@1 5 from django.db import models
gremmie@1 6 from django.contrib.auth.models import User
gremmie@1 7
bgneal@153 8 from core.markup import site_markup
gremmie@1 9
bgneal@153 10
gremmie@1 11 class MapEntry(models.Model):
gremmie@1 12 """Represents a user's entry on the map."""
gremmie@1 13 user = models.ForeignKey(User)
gremmie@1 14 location = models.CharField(max_length=255)
gremmie@1 15 lat = models.FloatField()
gremmie@1 16 lon = models.FloatField()
gremmie@1 17 message = models.TextField(blank=True)
bgneal@266 18 html = models.TextField(blank=True)
bgneal@266 19 date_updated = models.DateTimeField()
gremmie@1 20
gremmie@1 21 def __unicode__(self):
bgneal@266 22 return u'Map entry for %s' % self.user.username
gremmie@1 23
gremmie@1 24 class Meta:
gremmie@1 25 ordering = ('-date_updated', )
gremmie@1 26 verbose_name_plural = 'map entries'
gremmie@1 27
bgneal@182 28 def save(self, *args, **kwargs):
bgneal@266 29 self.html = site_markup(self.message)
bgneal@266 30 self.date_updated = datetime.datetime.now()
bgneal@182 31 super(MapEntry, self).save(*args, **kwargs)
gremmie@1 32