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@1024
|
29 self.html = kwargs.pop('html', None)
|
bgneal@1024
|
30 if not self.html and self.message:
|
bgneal@1024
|
31 self.html = site_markup(self.message)
|
bgneal@266
|
32 self.date_updated = datetime.datetime.now()
|
bgneal@182
|
33 super(MapEntry, self).save(*args, **kwargs)
|
gremmie@1
|
34
|