summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chimere/forms.py8
-rw-r--r--chimere/templates/chimere/blocks/alternate_multimedia.html18
2 files changed, 21 insertions, 5 deletions
diff --git a/chimere/forms.py b/chimere/forms.py
index db1719a..bcf3b8a 100644
--- a/chimere/forms.py
+++ b/chimere/forms.py
@@ -387,12 +387,14 @@ class MultimediaFileForm(BaseFileForm):
super(MultimediaFileForm, self).__init__(*args, **kwargs)
self.fields['multimedia_type'].widget.choices = \
MultimediaType.get_tuples()
+ # this can be auto detect
+ self.fields['multimedia_type'].required = False
def clean(self):
- if not self.cleaned_data.get('multimedia_type') or\
- not self.cleaned_data.get('url'):
+ if not self.cleaned_data.get('url'):
return self.cleaned_data
- if self.cleaned_data['multimedia_type'].name != 'auto':
+ if self.cleaned_data.get('multimedia_type') and \
+ self.cleaned_data['multimedia_type'].name != 'auto':
return self.cleaned_data
url = self.cleaned_data['url']
for mm_type in IFRAME_LINKS:
diff --git a/chimere/templates/chimere/blocks/alternate_multimedia.html b/chimere/templates/chimere/blocks/alternate_multimedia.html
index 0662750..c0aecd3 100644
--- a/chimere/templates/chimere/blocks/alternate_multimedia.html
+++ b/chimere/templates/chimere/blocks/alternate_multimedia.html
@@ -14,13 +14,14 @@
{% for formset in formsets %}
{% for frm in formset%}
{% if not forloop.last %}
- <li>
+ <li class='{% if forloop.parentloop.counter0 %}picture{%else%}multimedia{%endif%}'>
{%if forloop.first %}{% for hidden in frm.hidden_fields %}
{{ hidden }}
{% endfor %}{% endif %}
{% for field in frm.visible_fields %}
{% if field.name == "name" %}
- <span class='value'>{{ field.field.value }}</span>
+ <span class='value'>{{ field.value }}</span>
+ <img class='remove-media' src='{{STATIC_URL}}chimere/img/close.png'/>
{% endif %}
<span class='hidden'>{{field}}</span>
{% endfor %}
@@ -51,6 +52,9 @@
</div>
<script text='text/javascript'>
$(function(){
+ $(".remove-media").click(function(){
+ $(this).parents('li').remove();
+ });
var current_image_number = 0;
var current_multi_number = 0;
$("#multimedia_form").dialog({autoOpen:false,
@@ -123,7 +127,17 @@
//file_item.hide();
//cloned.insertAfter(file_item);
file_item.appendTo($("#multimedia_list_content li").last());
+ current_image_number += 1;
+ $('#id_picture-TOTAL_FORMS').val(current_image_number + 1);
+ } else {
+ current_multi_number += 1;
+ $('#id_multimedia-TOTAL_FORMS').val(current_multi_number + 1);
}
+ // empty the fields
+ $("#multimedia_name").val('');
+ $("#multimedia_url").val('');
+ $("#media_type_image").prop('checked', '');
+ $("#media_type_other").prop('checked', '');
$("#multimedia_form").dialog("close");
$(".remove-media").click(function(){
$(this).parents('li').remove();