From d2d7c4a92fb8e529ba8ce63f4963801b0d92fdb8 Mon Sep 17 00:00:00 2001 From: mathieu Date: Thu, 14 Apr 2016 15:48:26 +0200 Subject: [PATCH] Ajout liste des items d'un instrument et d'un alias d'instrument Former-commit-id: 29c0fdbb984c368f56e8bf2ecf5fe0cb5bb578db --- .../telemeta/inc/mediaitem_list.html | 4 ++ .../telemeta/instrument_alias_edit.html | 2 +- .../templates/telemeta/instrument_edit.html | 2 +- .../telemeta/media_item_alias_list.html | 6 ++ .../telemeta/media_item_instrument_list.html | 26 +++++++++ .../templates/telemeta/mediaitem_list.html | 16 +++--- telemeta/urls.py | 8 +++ telemeta/views/item.py | 57 +++++++++++++++++++ 8 files changed, 111 insertions(+), 10 deletions(-) create mode 100644 telemeta/templates/telemeta/media_item_alias_list.html create mode 100644 telemeta/templates/telemeta/media_item_instrument_list.html diff --git a/telemeta/templates/telemeta/inc/mediaitem_list.html b/telemeta/templates/telemeta/inc/mediaitem_list.html index b93933da..d78fa77d 100644 --- a/telemeta/templates/telemeta/inc/mediaitem_list.html +++ b/telemeta/templates/telemeta/inc/mediaitem_list.html @@ -4,6 +4,7 @@ {% if items %} + @@ -16,6 +17,8 @@ + + {% for item in items %} {% endfor %} +
{% trans "Title" %} {% trans "Digitized" %}{% trans "Year of recording" %} {% trans "Code" %}
@@ -47,6 +50,7 @@
{% else %} diff --git a/telemeta/templates/telemeta/instrument_alias_edit.html b/telemeta/templates/telemeta/instrument_alias_edit.html index f0ae4869..db8e4c2f 100644 --- a/telemeta/templates/telemeta/instrument_alias_edit.html +++ b/telemeta/templates/telemeta/instrument_alias_edit.html @@ -34,7 +34,7 @@ {{record.name}} - {{ record.num_items }} + {{ record.num_items }} {% endfor %} diff --git a/telemeta/templates/telemeta/instrument_edit.html b/telemeta/templates/telemeta/instrument_edit.html index 3e8f8fec..2c3d59f1 100644 --- a/telemeta/templates/telemeta/instrument_edit.html +++ b/telemeta/templates/telemeta/instrument_edit.html @@ -34,7 +34,7 @@ {{record.name}} - {{ record.num_items }} + {{ record.num_items }} {% endfor %} diff --git a/telemeta/templates/telemeta/media_item_alias_list.html b/telemeta/templates/telemeta/media_item_alias_list.html new file mode 100644 index 00000000..c86c5a80 --- /dev/null +++ b/telemeta/templates/telemeta/media_item_alias_list.html @@ -0,0 +1,6 @@ +{% extends "telemeta/media_item_instrument_list.html" %} + +{% block url_all %}{% url "telemeta-alias-item-list" id %}{% endblock %} +{% block url_unpublished %}{% url "telemeta-items-alias-unpublished" id %}{% endblock %} +{% block url_published %}{% url "telemeta-items-alias-published" id %}{% endblock %} +{% block url_sound %}{% url "telemeta-items-alias-sound" id %}{% endblock %} diff --git a/telemeta/templates/telemeta/media_item_instrument_list.html b/telemeta/templates/telemeta/media_item_instrument_list.html new file mode 100644 index 00000000..50addcac --- /dev/null +++ b/telemeta/templates/telemeta/media_item_instrument_list.html @@ -0,0 +1,26 @@ +{% extends "telemeta/mediaitem_list.html" %} +{% load i18n %} +{% load telemeta_tags %} +{% load bootstrap_pagination %} + +{% block instru_name %}{{ nom }} {% endblock %} +{% block instru_name_h %}{{ nom }} {% endblock %} +{% block url_all %}{% url "telemeta-instrument-item-list" id %}{% endblock %} +{% block url_unpublished %}{% url "telemeta-items-instrument-unpublished" id %}{% endblock %} +{% block url_published %}{% url "telemeta-items-instrument-published" id %}{% endblock %} +{% block url_sound %}{% url "telemeta-items-instrument-sound" id %}{% endblock %} +{% block extra_stylesheets %} + + +{% endblock %} +{% block extra_javascript %} + + + +{% endblock %} diff --git a/telemeta/templates/telemeta/mediaitem_list.html b/telemeta/templates/telemeta/mediaitem_list.html index 449ced27..d197e028 100644 --- a/telemeta/templates/telemeta/mediaitem_list.html +++ b/telemeta/templates/telemeta/mediaitem_list.html @@ -3,14 +3,14 @@ {% load telemeta_tags %} {% load bootstrap_pagination %} -{% block head_title %}{% trans "Media Items" %} - {{ block.super }}{% endblock %} +{% block head_title %}{% trans "Media Items" %} {% block instru_name %}{% endblock %}- {{ block.super }}{% endblock %} {% block title %}
-
- item {% trans "Items" %} ({{ page_obj.start_index }} - {{ page_obj.end_index }} / {{ count }}) +
+ item {% trans "Items" %} {% block instru_name_h %}{% endblock %}({{ page_obj.start_index }} - {{ page_obj.end_index }} / {{ count }})
- diff --git a/telemeta/urls.py b/telemeta/urls.py index da879443..5a257615 100644 --- a/telemeta/urls.py +++ b/telemeta/urls.py @@ -147,6 +147,10 @@ urlpatterns = patterns('', url(r'^admin/instruments/add/$', instrument_view.add_to_instrument, name="telemeta-instrument-add"), url(r'^admin/instruments/update/$', instrument_view.update_instrument, name="telemeta-instrument-update"), url(r'^admin/instruments/' + r'(?P[0-9]+)/$', instrument_view.edit_instrument_value, name="telemeta-instrument-record-edit"), + url(r'^admin/instruments/' + r'(?P[0-9]+)/'+'list-items-published/$', ItemInstrumentPublishedListView.as_view(),name="telemeta-items-instrument-published"), + url(r'^admin/instruments/' + r'(?P[0-9]+)/'+'list-items-unpublished/$', ItemInstrumentUnpublishedListView.as_view(),name="telemeta-items-instrument-unpublished"), + url(r'^admin/instruments/' + r'(?P[0-9]+)/'+'list-items-sound/$', ItemInstrumentSoundListView.as_view(),name="telemeta-items-instrument-sound"), + url(r'^admin/instruments/' + r'(?P[0-9]+)/'+'list-items/$', ItemInstrumentListView.as_view(), name="telemeta-instrument-item-list"), url(r'^admin/instruments/' + r'(?P[0-9]+)/update/$', instrument_view.update_instrument_value, name="telemeta-instrument-record-update"), url(r'^admin/instruments/' + r'(?P[0-9]+)/replace/$', instrument_view.replace_instrument_value, name="telemeta-instrument-record-replace"), @@ -157,6 +161,10 @@ urlpatterns = patterns('', url(r'^admin/instrument_aliases/' + r'(?P[0-9]+)/$', instrument_alias_view.edit_instrument_value, name="telemeta-instrument-alias-record-edit"), url(r'^admin/instrument_aliases/' + r'(?P[0-9]+)/update/$', instrument_alias_view.update_instrument_value, name="telemeta-instrument-alias-record-update"), url(r'^admin/instrument_aliases/' + r'(?P[0-9]+)/replace/$', instrument_alias_view.replace_instrument_value, name="telemeta-instrument-alias-record-replace"), + url(r'^admin/instrument_aliases/' + r'(?P[0-9]+)/'+'list-item-published/$', ItemAliasPublishedListView.as_view(),name="telemeta-items-alias-published"), + url(r'^admin/instrument_aliases/' + r'(?P[0-9]+)/'+'list-item-unpublished/$', ItemAliasUnpublishedListView.as_view(),name="telemeta-items-alias-unpublished"), + url(r'^admin/instrument_aliases/' + r'(?P[0-9]+)/'+'list-item-sound/$', ItemAliasSoundListView.as_view(),name="telemeta-items-alias-sound"), + url(r'^admin/instrument_aliases/' + r'(?P[0-9]+)/'+'list-items/$', ItemAliasListView.as_view(), name="telemeta-alias-item-list"), # enumerations administration url(r'^admin/enumerations/(?P[0-9a-z]+)/$', admin_view.edit_enumeration , name="telemeta-enumeration-edit"), diff --git a/telemeta/views/item.py b/telemeta/views/item.py index 7df111b4..6b59c45c 100644 --- a/telemeta/views/item.py +++ b/telemeta/views/item.py @@ -429,7 +429,64 @@ class ItemSoundListView(ItemListView): queryset = MediaItem.objects.sound().order_by('code', 'old_code') +class ItemInstrumentListView(ItemListView): + template_name = "telemeta/media_item_instrument_list.html" + + def get_queryset(self): + return MediaItem.objects.filter(performances__instrument__id=self.kwargs['value_id']) + + def get_context_data(self, **kwargs): + context = super(ItemInstrumentListView, self).get_context_data(**kwargs) + + context['nom']=Instrument.objects.get(id=self.kwargs['value_id']).name + context['id']=self.kwargs['value_id'] + + return context + +class ItemInstrumentPublishedListView(ItemInstrumentListView): + + def get_queryset(self): + return super(ItemInstrumentPublishedListView, self).get_queryset().filter(collection__code__contains='_E_').order_by('code', 'old_code') + +class ItemInstrumentUnpublishedListView(ItemInstrumentListView): + + def get_queryset(self): + return super(ItemInstrumentUnpublishedListView, self).get_queryset().filter(collection__code__contains='_I_').order_by('code', 'old_code') + +class ItemInstrumentSoundListView(ItemInstrumentListView): + def get_queryset(self): + return super(ItemInstrumentSoundListView, self).get_queryset().sound().order_by('code', 'old_code') + +class ItemAliasListView(ItemListView): + + template_name = "telemeta/media_item_alias_list.html" + + def get_queryset(self): + return MediaItem.objects.filter(performances__alias__id=self.kwargs['value_id']) + + def get_context_data(self, **kwargs): + context = super(ItemAliasListView, self).get_context_data(**kwargs) + + context['nom']=InstrumentAlias.objects.get(id=self.kwargs['value_id']).name + context['id']=self.kwargs['value_id'] + + return context + +class ItemAliasPublishedListView(ItemAliasListView): + + def get_queryset(self): + return super(ItemAliasPublishedListView, self).get_queryset().filter(collection__code__contains='_E_').order_by('code', 'old_code') + +class ItemAliasUnpublishedListView(ItemAliasListView): + + def get_queryset(self): + return super(ItemAliasUnpublishedListView, self).get_queryset().filter(collection__code__contains='_I_').order_by('code', 'old_code') + +class ItemAliasSoundListView(ItemAliasListView): + def get_queryset(self): + return super(ItemAliasSoundListView, self).get_queryset().sound().order_by('code', 'old_code') + class ItemViewMixin(ItemBaseMixin): model = MediaItem -- 2.39.5