summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chimere/models.py30
1 files changed, 29 insertions, 1 deletions
diff --git a/chimere/models.py b/chimere/models.py
index b9e9fb4..29d1fb6 100644
--- a/chimere/models.py
+++ b/chimere/models.py
@@ -488,6 +488,20 @@ class MultimediaFile(models.Model):
self.url = lnk % key
super(MultimediaFile, self).save(*args, **kwargs)
+def multimediafile_post_save(sender, **kwargs):
+ if not kwargs['instance'] or not kwargs['created']:
+ return
+ multimediafile = kwargs['instance']
+ mfs = MultimediaFile.objects.filter(marker=multimediafile.marker).exclude(
+ pk=multimediafile.pk).order_by('order')
+ for idx, mf in enumerate(mfs.all()):
+ mf.order = idx + 1
+ mf.save()
+ multimediafile.order = idx + 2
+ multimediafile.save()
+post_save.connect(multimediafile_post_save, sender=MultimediaFile)
+
+
class PictureFile(models.Model):
name = models.CharField(_(u"Name"), max_length=150)
picture = models.ImageField(_(u"Image"), upload_to='pictures',
@@ -502,6 +516,20 @@ class PictureFile(models.Model):
def __unicode__(self):
return self.name or u""
+def picturefile_post_save(sender, **kwargs):
+ if not kwargs['instance'] or not kwargs['created']:
+ return
+ picturefile = kwargs['instance']
+ pfs = PictureFile.objects.filter(marker=picturefile.marker).exclude(
+ pk=picturefile.pk).order_by('order')
+ for idx, pf in enumerate(pfs.all()):
+ pf.order = idx + 1
+ pf.save()
+ picturefile.order = idx + 2
+ picturefile.save()
+post_save.connect(picturefile_post_save, sender=PictureFile)
+
+
class RouteFile(models.Model):
name = models.CharField(_(u"Name"), max_length=150)
raw_file = models.FileField(_(u"Raw file (gpx or kml)"), upload_to='route_files')
@@ -777,7 +805,7 @@ def area_post_save(sender, **kwargs):
return
area = kwargs['instance']
if area.default:
- defaults = Area.filter(default=True).exclude(pk=area.pk)
+ defaults = Area.objects.filter(default=True).exclude(pk=area.pk)
for default in defaults:
default.default = False
default.save()