147 ## Import |
148 ## Import |
148 class ImportForm (forms.Form) : |
149 class ImportForm (forms.Form) : |
149 shorturl = forms.ModelChoiceField(URL.objects) |
150 shorturl = forms.ModelChoiceField(URL.objects) |
150 publishing_date = forms.DateField(widget=admin.widgets.AdminDateWidget) |
151 publishing_date = forms.DateField(widget=admin.widgets.AdminDateWidget) |
151 publishing_time = forms.TimeField(widget=admin.widgets.AdminTimeWidget) |
152 publishing_time = forms.TimeField(widget=admin.widgets.AdminTimeWidget) |
|
153 |
152 # Django forms doesn't really understand multi-value fields, so we just hack this ourselves. |
154 # Django forms doesn't really understand multi-value fields, so we just hack this ourselves. |
153 #image = forms.ImageField() |
155 #image = forms.ImageField() |
154 |
156 |
|
157 # Existing URLImages |
|
158 url_images = forms.ModelMultipleChoiceField(queryset=URLImage.objects.all()) |
|
159 |
155 def import_images_handler (self, url_feed, data, images=()) : |
160 def import_images_handler (self, url_feed, data, images=()) : |
156 """Custom for backend for mass-importing images into a feed.""" |
161 """Custom for backend for mass-importing images into a feed.""" |
157 |
162 |
158 # series of datetimes |
163 # series of datetimes |
159 publishing = url_feed.apply_publishing_schedule( |
164 publishing = url_feed.apply_publishing_schedule( |
160 data['publishing_date'], data['publishing_time'], url_feed.publishing_offset, len(images)) |
165 data['publishing_date'], data['publishing_time'], url_feed.publishing_offset) |
161 |
166 |
162 for image, publish in zip(images, publishing) : |
167 url_images = list(data['url_images']) |
|
168 |
|
169 for image in images: |
163 url_image = URLImage(image=image) |
170 url_image = URLImage(image=image) |
164 url_image.save() |
171 url_image.save() |
165 |
172 |
|
173 url_images.append(url_image) |
|
174 |
|
175 # randomize |
|
176 random.shuffle(url_images) |
|
177 |
|
178 for url_image, publish in zip(url_images, publishing) : |
166 url_item = URLItem(shorturl=url_feed, published=publish, image=url_image) |
179 url_item = URLItem(shorturl=url_feed, published=publish, image=url_image) |
167 url_item.save() |
180 url_item.save() |
168 |
181 |
169 return http.HttpResponseRedirect(reverse('admin:qrurls_url_change', args=(url_feed.id, ))) |
182 return http.HttpResponseRedirect(reverse('admin:qrurls_url_change', args=(url_feed.id, ))) |
170 |
183 |