annotate potd/signals.py @ 821:71db8076dc3d

Bandmap WIP: geocoding integrated with add form. Add form works. Before submitting the form, client side JS makes a geocode request to Google and populates hidden lat/lon fields with the result. Successfully created a model instance on the server side. Still need to update admin dashboard, admin approval, and give out badges for adding bands to the map. Once that is done, then work on displaying the map with filtering.
author Brian Neal <bgneal@gmail.com>
date Tue, 23 Sep 2014 20:40:31 -0500
parents ee87ea74d46b
children
rev   line source
bgneal@532 1 """
bgneal@532 2 Signal handlers for the potd application.
bgneal@532 3
bgneal@532 4 """
bgneal@532 5 from django.db.models.signals import post_save, post_delete
bgneal@532 6
bgneal@532 7 from potd.models import Photo, Sequence
bgneal@532 8
bgneal@532 9
bgneal@532 10 def on_photo_save(sender, **kwargs):
bgneal@532 11 """
bgneal@532 12 This function is executed when a Photo is saved. It inserts the photo into
bgneal@532 13 the current sequence.
bgneal@532 14
bgneal@532 15 """
bgneal@532 16 photo = kwargs['instance']
bgneal@532 17 Sequence.objects.insert_photo(photo.pk)
bgneal@532 18
bgneal@532 19
bgneal@532 20 def on_photo_delete(sender, **kwargs):
bgneal@532 21 """
bgneal@532 22 This function is executed when a Photo is deleted. It removes the photo from
bgneal@532 23 the current sequence of photos.
bgneal@532 24
bgneal@532 25 """
bgneal@532 26 photo = kwargs['instance']
bgneal@532 27 Sequence.objects.remove_photo(photo.pk)
bgneal@532 28
bgneal@532 29
bgneal@532 30 post_save.connect(on_photo_save, sender=Photo, dispatch_uid='potd.signals')
bgneal@532 31 post_delete.connect(on_photo_delete, sender=Photo, dispatch_uid='potd.signals')