qrurls/admin.py
changeset 55 eb36c4d046c1
parent 54 0a2345d1450a
child 56 96e1c616a955
--- a/qrurls/admin.py	Thu Aug 22 02:00:03 2013 +0300
+++ b/qrurls/admin.py	Thu Aug 22 02:12:13 2013 +0300
@@ -157,17 +157,16 @@
         shorturl = forms.ModelChoiceField(URL.objects)
         publishing_date = forms.DateField(widget=admin.widgets.AdminDateWidget)
         publishing_time = forms.TimeField(widget=admin.widgets.AdminTimeWidget)
-        image = forms.ImageField()
+        # Django forms doesn't really understand multi-value fields, so we just hack this ourselves.
+        #image = forms.ImageField()
 
-    def import_images_handler (self, url_feed, data) :
+    def import_images_handler (self, url_feed, data, images=()) :
         """Custom for backend for mass-importing images into a feed."""
         
-        images = [data['image']]
         publishing = self.publishing_schedule(data['publishing_date'], data['publishing_time'], len(images))
 
         for image, publish in zip(images, publishing) :
-            # XXX: move title default elsewhere
-            url_image = URLImage(image=image, title=image.name)
+            url_image = URLImage(image=image)
             url_image.save()
 
             url_item = URLItem(shorturl=url_feed, published=publish, image=url_image)
@@ -180,10 +179,11 @@
         url_feed = URL.objects.get(id=int(shorturl_id))
         
         if request.method == 'POST' :
-            form = self.ImportForm(request.POST, request.FILES)
+            form = self.ImportForm(request.POST)
+            images = request.FILES.getlist('image')
 
             if form.is_valid() :
-                return self.import_images_handler(url_feed, form.cleaned_data)
+                return self.import_images_handler(url_feed, form.cleaned_data, images)
         else :
             publishing_date, publishing_time = self.publish_scheduling(url_feed)