diff gpp/membermap/models.py @ 1:dbd703f7d63a

Initial import of sg101 stuff from private repository.
author gremmie
date Mon, 06 Apr 2009 02:43:12 +0000
parents
children 13d052fbe4f1
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gpp/membermap/models.py	Mon Apr 06 02:43:12 2009 +0000
@@ -0,0 +1,38 @@
+"""
+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
+
+
+# Create your models here.
+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', {'entry': self}).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)
+
+# vim: ts=4 sw=4