qrurls.admin: URLAdmin: support use of existing URLImages in import
authorTero Marttila <terom@paivola.fi>
Wed, 05 Nov 2014 10:27:01 +0100
changeset 89 187e874f770c
parent 88 06ef4789a353
child 90 a193a8dd737c
qrurls.admin: URLAdmin: support use of existing URLImages in import
qrurls/admin.py
qrurls/templates/admin/qrurls_import_images.html
--- 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">