From 3515e926aabf54bae3f376f8ea913c170cc7fa9d Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Wed, 15 Oct 2014 16:52:03 +0200 Subject: [PATCH] fix add forms, add some bootstrap form styles --- example/sandbox/settings.py | 7 ++- telemeta/forms/media.py | 2 + ..._add_mediatype__del_field_mediacollecti.py | 4 +- telemeta/models/media.py | 2 +- telemeta/static/telemeta/css/telemeta.css | 2 +- .../templates/telemeta/collection_edit.html | 2 +- .../templates/telemeta/mediaitem_add.html | 63 ++----------------- .../templates/telemeta/mediaitem_edit.html | 21 ++----- telemeta/urls.py | 6 +- telemeta/views/collection.py | 9 +++ telemeta/views/item.py | 10 +++ 11 files changed, 44 insertions(+), 84 deletions(-) diff --git a/example/sandbox/settings.py b/example/sandbox/settings.py index 46899e58..1ecd79da 100644 --- a/example/sandbox/settings.py +++ b/example/sandbox/settings.py @@ -176,9 +176,10 @@ TIMESIDE_AUTO_ZOOM = True # Settings for django-bootstrap3 BOOTSTRAP3 = { - 'set_required': False, - 'error_css_class': 'bootstrap3-error', - 'required_css_class': 'bootstrap3-required', + 'set_required': True, + 'set_placeholder': False, + 'error_css_class': 'has-error', + 'required_css_class': 'has-warning', 'javascript_in_head': True, } diff --git a/telemeta/forms/media.py b/telemeta/forms/media.py index ace16439..a606a5db 100644 --- a/telemeta/forms/media.py +++ b/telemeta/forms/media.py @@ -84,6 +84,8 @@ class MediaCorpusRelatedForm(ModelForm): class MediaCollectionForm(ModelForm): + required_css_class = 'required' + class Meta: model = MediaCollection diff --git a/telemeta/migrations/0034_auto__add_copytype__add_status__add_mediatype__del_field_mediacollecti.py b/telemeta/migrations/0034_auto__add_copytype__add_status__add_mediatype__del_field_mediacollecti.py index 498ec392..8c2b36b2 100644 --- a/telemeta/migrations/0034_auto__add_copytype__add_status__add_mediatype__del_field_mediacollecti.py +++ b/telemeta/migrations/0034_auto__add_copytype__add_status__add_mediatype__del_field_mediacollecti.py @@ -69,10 +69,10 @@ class Migration(SchemaMigration): from telemeta.models import MediaCollection for collection in MediaCollection.objects.all(): trig = False - if collection.alt_ids: + if hasattr(collection, 'alt_ids'): collection.alt_copy = collection.alt_ids trig = True - if collection.travail: + if hasattr(collection, 'travail'): collection.archiver_notes = collection.travail trig = True if trig: diff --git a/telemeta/models/media.py b/telemeta/models/media.py index 0148cad8..3352f779 100644 --- a/telemeta/models/media.py +++ b/telemeta/models/media.py @@ -397,7 +397,7 @@ class MediaItem(MediaResource): auto_period_access = BooleanField(_('automatic access after a rolling period'), default=True) # Archiving data - code = CharField(_('code'), unique=True, blank=True) + code = CharField(_('code'), unique=True, blank=True, required=True, help_text='CollectionCode-ItemCode') old_code = CharField(_('original code'), unique=False, blank=True) track = CharField(_('item number')) recordist = CharField(_('recordist')) diff --git a/telemeta/static/telemeta/css/telemeta.css b/telemeta/static/telemeta/css/telemeta.css index 2a3869f6..79000ba1 100644 --- a/telemeta/static/telemeta/css/telemeta.css +++ b/telemeta/static/telemeta/css/telemeta.css @@ -322,7 +322,7 @@ label.disabled { color: #d7d7d7 } top: 1.2em; left: 35%; background-color: #6a0307; - padding: 0.3em; + padding: 0.5em; -moz-border-radius: 8px 8px 8px 8px; -webkit-border-radius: 8px 8px 8px 8px; border-radius: 8px 8px 8px 8px; diff --git a/telemeta/templates/telemeta/collection_edit.html b/telemeta/templates/telemeta/collection_edit.html index 33341074..91a78512 100644 --- a/telemeta/templates/telemeta/collection_edit.html +++ b/telemeta/templates/telemeta/collection_edit.html @@ -52,7 +52,7 @@ {% trans "Cancel" %} {% endblock %} {% if perms.telemeta.change_mediacollection %} - + {% endif %} diff --git a/telemeta/templates/telemeta/mediaitem_add.html b/telemeta/templates/telemeta/mediaitem_add.html index faa28035..d19bf25d 100644 --- a/telemeta/templates/telemeta/mediaitem_add.html +++ b/telemeta/templates/telemeta/mediaitem_add.html @@ -1,68 +1,17 @@ -{% extends "telemeta/base.html" %} +{% extends "telemeta/mediaitem_edit.html" %} {% load telemeta_utils %} {% load i18n %} {% block head_title %}{% trans "Item" %}- {{ block.super }}{% endblock %} -{% if item %} {% block title %} - item Item : NEW + item Item : {% trans "New" %} {% endblock %} {% block title_buttons %} - {% trans "Cancel" %} - {% if perms.telemeta.add_mediaitem %} - {% trans "Save" %} - {% endif %} -

- + {% trans "Cancel" %} {% endblock %} -{% block content %} - {% block infos %} -
-
{% csrf_token %} -
    {% for error in form.non_field_errors %}
  • {{ error }}
  • {% endfor %}
- - {% for form in forms %} - - - - {% for field in form %} - - - - - - {% endfor %} - {% endfor %} -
{% for error in form.non_field_errors %}
  • {{ error }}
  • {% endfor %}

    {{ form.prefix|capitalize }}


    {{ field.errors }}
    {{ field.label_tag }}: - {% if field.html_name == "item-public_access" %} -  {% trans "Collection access status" %} : {% trans item.collection.public_access %}
    -  {% trans "Context access status" %} : {% trans access %}
    -  {% trans "Item access status" %} :
    - {% endif %} - {{ field }} -
    -
    - {% trans "Cancel" %} - {% if perms.telemeta.add_mediaitem %} - {% trans "Save" %} - {% endif %} - -
    -
    -
    - {% endblock infos %} - -{% endblock %} - -{% block delete %} -{% endblock %} - -{% else %} -

    No such item

    -{% endif %} + {% block cancel %} + {% trans "Cancel" %} + {% endblock %} diff --git a/telemeta/templates/telemeta/mediaitem_edit.html b/telemeta/templates/telemeta/mediaitem_edit.html index ef948ac5..e1815daa 100644 --- a/telemeta/templates/telemeta/mediaitem_edit.html +++ b/telemeta/templates/telemeta/mediaitem_edit.html @@ -10,22 +10,15 @@ {% block title_buttons %}
    {% trans "Cancel" %} - {% if perms.telemeta.change_mediaitem %} - {% trans "Save" %} - {% endif %} -
    {% endblock %} {% block infos %} - -
    {% csrf_token %}
    -{# -
    -
    - #} {% for formset in inlines %}
    {{ formset.management_form }} @@ -60,13 +51,13 @@
    -
    - {% block cancel %} - {% trans "Cancel" %} + {% block cancel %} + {% trans "Cancel" %} {% endblock %} + {% if perms.telemeta.change_mediaitem %} - + {% endif %}
    diff --git a/telemeta/urls.py b/telemeta/urls.py index 79ebb00a..b7c8698b 100644 --- a/telemeta/urls.py +++ b/telemeta/urls.py @@ -99,8 +99,7 @@ urlpatterns = patterns('', url(r'^archives/items/(?P[A-Za-z0-9._-]+)/edit/$', ItemEditView.as_view(), name="telemeta-item-edit"), url(r'^archives/items/(?P[A-Za-z0-9._-]+)/copy/$', item_view.item_copy, dict(template='telemeta/mediaitem_copy.html'), name="telemeta-item-copy"), - url(r'^archives/item_new/add/$', item_view.item_add, - dict(template='telemeta/mediaitem_add.html'), name="telemeta-item-add"), + url(r'^archives/item_new/add/$', ItemAddView.as_view(), name="telemeta-item-add"), url(r'^archives/items/(?P[A-Za-z0-9._-]+)/player/(?P[0-9]+)x(?P[0-9]+)/$', item_view.item_detail, dict(template='telemeta/mediaitem_player.html'), name="telemeta-item-player"), url(r'^archives/items/(?P[A-Za-z0-9._-]+)/player/(?P[0-9]+)x(?P[0-9]+)/simple/$', item_view.item_detail, @@ -140,8 +139,7 @@ urlpatterns = patterns('', url(r'^archives/collections/(?P[A-Za-z0-9._-]+)/edit/$', CollectionEditView.as_view(), name="telemeta-collection-edit"), url(r'^archives/collections/(?P[A-Za-z0-9._-]+)/copy/$', collection_view.collection_copy, dict(template='telemeta/collection_edit.html'), name="telemeta-collection-copy"), - url(r'^archives/collection_new/add/$', collection_view.collection_add, - dict(template='telemeta/collection_add.html'), name="telemeta-collection-add"), + url(r'^archives/collection_new/add/$', CollectionAddView.as_view(), name="telemeta-collection-add"), url(r'^archives/collections/(?P[A-Za-z0-9._-]+)/add_item/$', item_view.item_add, dict(template='telemeta/mediaitem_add.html'), name="telemeta-collection-additem"), url(r'^archives/collections/(?P[A-Za-z0-9._-]+)/delete/$', collection_view.collection_delete, name="telemeta-collection-delete"), diff --git a/telemeta/views/collection.py b/telemeta/views/collection.py index 3d35cfc6..34b981d1 100644 --- a/telemeta/views/collection.py +++ b/telemeta/views/collection.py @@ -307,3 +307,12 @@ class CollectionEditView(CollectionViewMixin, UpdateWithInlinesView): return reverse_lazy('telemeta-collection-detail', kwargs={'public_id':self.kwargs['public_id']}) +class CollectionAddView(CollectionViewMixin, CreateWithInlinesView): + + template_name = 'telemeta/collection_add.html' + inlines = [CollectionRelatedInline, ] + + def get_success_url(self): + return reverse_lazy('telemeta-collections') + + diff --git a/telemeta/views/item.py b/telemeta/views/item.py index ea912fc7..9015eaf6 100644 --- a/telemeta/views/item.py +++ b/telemeta/views/item.py @@ -735,3 +735,13 @@ class ItemEditView(ItemViewMixin, UpdateWithInlinesView): context['audio_export_enabled'] = self.export_enabled return context + +class ItemAddView(ItemViewMixin, CreateWithInlinesView): + + form_class = MediaItemForm + template_name = 'telemeta/mediaitem_add.html' + inlines = [ItemRelatedInline, ItemPerformanceInline, ItemKeywordInline, ItemFormatInline] + + def get_success_url(self): + return reverse_lazy('telemeta-items') + -- 2.39.5