Mercurial > public > sg101
view gpp/membermap/models.py @ 166:8acf5be27f18
Implement #50, add a template tag to display the latest poll and add to the home page.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sun, 17 Jan 2010 20:24:01 +0000 |
parents | 13d052fbe4f1 |
children | 5c889b587416 |
line wrap: on
line source
""" Models for the member map application. """ from django.db import models from django.contrib.auth.models import User from django.template.loader import render_to_string from django.template.defaultfilters import escapejs import django.utils.simplejson as json from core.markup import site_markup class MapEntry(models.Model): """Represents a user's entry on the map.""" user = models.ForeignKey(User) location = models.CharField(max_length=255) lat = models.FloatField() lon = models.FloatField() message = models.TextField(blank=True) json = models.TextField(blank=True) date_updated = models.DateTimeField(auto_now_add=True) def __unicode__(self): return u'Entry for %s' % self.user.username class Meta: ordering = ('-date_updated', ) verbose_name_plural = 'map entries' def save(self, force_insert=False, force_update=False): msg = render_to_string('membermap/markdown.html', { 'user': self.user, 'msg': site_markup(self.message)}).strip() self.json = json.dumps({'name': self.user.username, 'lat': '%10.6f' % self.lat, 'lon': '%10.6f' % self.lon, 'message': msg, }) super(MapEntry, self).save(force_insert, force_update)