--- 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)