annotate gpp/membermap/models.py @ 505:a5d11471d031

Refactor the logic in the rate limiter decorator. Check to see if the request was ajax, as the ajax view always returns 200. Have to decode the JSON response to see if an error occurred or not.
author Brian Neal <bgneal@gmail.com>
date Sat, 03 Dec 2011 19:13:38 +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