diff options
| author | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-08-30 00:59:52 +0200 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-08-30 00:59:52 +0200 |
| commit | a8155b59c1ab7ac6a918807cc001c3bd5ff8e2f9 (patch) | |
| tree | 127ca4ffba043154e8cd7bdf33ffc406e991442c | |
| parent | ef80c8a83e06b4eff26e2be7f35efb92064ce57a (diff) | |
| download | Chimère-a8155b59c1ab7ac6a918807cc001c3bd5ff8e2f9.tar.bz2 Chimère-a8155b59c1ab7ac6a918807cc001c3bd5ff8e2f9.zip | |
Improve alternate multimedia form - make the multimedia type optional: it can be guessed
| -rw-r--r-- | chimere/forms.py | 8 | ||||
| -rw-r--r-- | chimere/templates/chimere/blocks/alternate_multimedia.html | 18 |
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(); |
