bgneal@695: """Models for the user_photos application."""
bgneal@695: 
bgneal@695: import datetime
bgneal@695: 
bgneal@695: from django.db import models
bgneal@695: from django.conf import settings
bgneal@696: from django.core.urlresolvers import reverse
bgneal@695: 
bgneal@695: 
bgneal@695: class Photo(models.Model):
bgneal@695:     """This model represents data about a user uploaded photo."""
bgneal@695:     user = models.ForeignKey(settings.AUTH_USER_MODEL,
bgneal@695:                              related_name='uploaded_photos')
bgneal@695:     upload_date = models.DateTimeField()
bgneal@695:     url = models.URLField(max_length=200)
bgneal@695:     thumb_url = models.URLField(max_length=200, blank=True)
bgneal@749:     signature = models.CharField(max_length=32, blank=True, db_index=True)
bgneal@695: 
bgneal@695:     def __unicode__(self):
bgneal@695:         return u'Photo by {} on {}'.format(self.user.username,
bgneal@695:                                self.upload_date.strftime('%Y-%m-%d %H:%M:%S'))
bgneal@695: 
bgneal@695:     def get_absolute_url(self):
bgneal@696:         return reverse('user_photos-detail', kwargs={'pk': self.pk})
bgneal@695: 
bgneal@695:     def save(self, *args, **kwargs):
bgneal@695:         if not self.pk and not self.upload_date:
bgneal@695:             self.upload_date = datetime.datetime.now()
bgneal@695:         super(Photo, self).save(*args, **kwargs)
bgneal@695: