--- a/qrurls/admin.py Wed Nov 05 10:26:23 2014 +0100
+++ b/qrurls/admin.py Wed Nov 05 10:27:01 2014 +0100
@@ -1,4 +1,5 @@
import datetime
+import random
import urllib
from django import http, shortcuts, forms
@@ -149,20 +150,32 @@
shorturl = forms.ModelChoiceField(URL.objects)
publishing_date = forms.DateField(widget=admin.widgets.AdminDateWidget)
publishing_time = forms.TimeField(widget=admin.widgets.AdminTimeWidget)
+
# Django forms doesn't really understand multi-value fields, so we just hack this ourselves.
#image = forms.ImageField()
+ # Existing URLImages
+ url_images = forms.ModelMultipleChoiceField(queryset=URLImage.objects.all())
+
def import_images_handler (self, url_feed, data, images=()) :
"""Custom for backend for mass-importing images into a feed."""
# series of datetimes
publishing = url_feed.apply_publishing_schedule(
- data['publishing_date'], data['publishing_time'], url_feed.publishing_offset, len(images))
+ data['publishing_date'], data['publishing_time'], url_feed.publishing_offset)
- for image, publish in zip(images, publishing) :
+ url_images = list(data['url_images'])
+
+ for image in images:
url_image = URLImage(image=image)
url_image.save()
+ url_images.append(url_image)
+
+ # randomize
+ random.shuffle(url_images)
+
+ for url_image, publish in zip(url_images, publishing) :
url_item = URLItem(shorturl=url_feed, published=publish, image=url_image)
url_item.save()
--- a/qrurls/templates/admin/qrurls_import_images.html Wed Nov 05 10:26:23 2014 +0100
+++ b/qrurls/templates/admin/qrurls_import_images.html Wed Nov 05 10:27:01 2014 +0100
@@ -50,6 +50,10 @@
</div>
<p class="help">Selecting multiple image files is possible.</p>
</div>
+ <div class="form-row">
+ {{ form.url_images.label_tag }}
+ {{ form.url_images }}
+ </div>
</fieldset>
<div class="submit-row">