]> git.parisson.com Git - telemeta.git/commitdiff
Ajout liste des items d'un instrument et d'un alias d'instrument
authormathieu <mathieu.boye28@gmail.com>
Thu, 14 Apr 2016 13:48:26 +0000 (15:48 +0200)
committermathieu <mathieu.boye28@gmail.com>
Thu, 14 Apr 2016 13:48:26 +0000 (15:48 +0200)
Former-commit-id: 29c0fdbb984c368f56e8bf2ecf5fe0cb5bb578db

telemeta/templates/telemeta/inc/mediaitem_list.html
telemeta/templates/telemeta/instrument_alias_edit.html
telemeta/templates/telemeta/instrument_edit.html
telemeta/templates/telemeta/media_item_alias_list.html [new file with mode: 0644]
telemeta/templates/telemeta/media_item_instrument_list.html [new file with mode: 0644]
telemeta/templates/telemeta/mediaitem_list.html
telemeta/urls.py
telemeta/views/item.py

index b93933dad892876c3369d1ae99b358343bb36e64..d78fa77d600751673a9304a15a5deb94b8057806 100644 (file)
@@ -4,6 +4,7 @@
 {% if items %}
 
 <table class="listing">
+<thead>
 <tr>
     <th class="highlight">{% trans "Title" %}</th>
     <th>{% trans "Digitized" %}</th>
@@ -16,6 +17,8 @@
     <th>{% trans "Year of recording" %}</th>
     <th>{% trans "Code" %}</th>
 </tr>
+</thead>
+<tbody>
 {% for item in items %}
 <tr {% if not forloop.counter0|divisibleby:"2" %}class="odd"{% endif %}>
     <td class="highlight">
@@ -47,6 +50,7 @@
     </td>
 </tr>
 {% endfor %}
+</tbody>
 </table>
 
 {% else %}
index f0ae4869bf40183dd7d21e15cc49cb2b1f981f22..db8e4c2f0db6c3b9b10a2eca878e42b2784180a3 100644 (file)
@@ -34,7 +34,7 @@
      <td><input type="checkbox" name="sel" value="{{record.id}}" /></td>
      <td><a href="{% url "telemeta-instrument-alias-record-edit" record.id %}">
         {{record.name}}</a></td>
-     <td>{{ record.num_items }}</td>
+     <td><a href="{% url "telemeta-alias-item-list" record.id %}">{{ record.num_items }}</a></td>
     </tr>
     {% endfor %}
     </tbody>
index 3e8f8fecc902c4b01296fe3da5c731edeac573f3..2c3d59f1be091346d9a55c606a917e23e25f12f0 100644 (file)
@@ -34,7 +34,7 @@
      <td><input type="checkbox" name="sel" value="{{record.id}}" /></td>
      <td><a href="{% url "telemeta-instrument-record-edit" record.id %}">
         {{record.name}}</a></td>
-     <td>{{ record.num_items }} </td>
+     <td><a href="{% url "telemeta-instrument-item-list" record.id %}">{{ record.num_items }}</a></td>
     </tr>
     {% endfor %}
     </tbody>
diff --git a/telemeta/templates/telemeta/media_item_alias_list.html b/telemeta/templates/telemeta/media_item_alias_list.html
new file mode 100644 (file)
index 0000000..c86c5a8
--- /dev/null
@@ -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 (file)
index 0000000..50addca
--- /dev/null
@@ -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 %}
+    <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}telemeta/css/jquery-ui.css" />
+    <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}telemeta/css/lists_sorttable.css" media="print, projection, screen"/>
+{% endblock %}
+{% block extra_javascript %}
+<script src="{{ STATIC_URL }}tablesorter/jquery.tablesorter.min.js" type="text/javascript"></script>
+<script src="{{ STATIC_URL }}jquery-ui/jquery-ui.min.js" type="text/javascript"></script>
+<script>
+
+$(document).ready(function(){
+        $.tablesorter.defaults.sortList = [[5,0]];
+                       $(".listing").tablesorter({headers: {1:{sorter:false}}} );
+});
+</script>
+{% endblock %}
index 449ced2745dc34033a34740952d2f601f3b9662f..d197e028b339b625e7a8738ea397df8c386db3b6 100644 (file)
@@ -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 %}
 <div class='row'>
-<div class="col-md-4">
- <img src="{{ STATIC_URL }}telemeta/images/item.png" alt="item" style="vertical-align:middle" /> {% trans "Items" %} ({{ page_obj.start_index }} - {{ page_obj.end_index }} / {{ count }})
+<div class="col-md-5">
+ <img src="{{ STATIC_URL }}telemeta/images/item.png" alt="item" style="vertical-align:middle" /> {% trans "Items" %} {% block instru_name_h %}{% endblock %}({{ page_obj.start_index }} - {{ page_obj.end_index }} / {{ count }})
 </div>
-<div class="col-md-8">
+<div class="col-md-7">
 {% bootstrap_paginate page_obj range=10 show_first_last="True" %}
 </div>
 <div class="col-md-0">&nbsp;</div>
     <span class="glyphicon glyphicon-filter"></span> {% trans "Filters" %} <span class="caret"></span>
   </button>
   <ul class="dropdown-menu" role="menu">
-    <li><a href="{% url "telemeta-items" %}" class="">{% trans "All" %}</a></li>
-    <li><a href="{% url "telemeta-items-unpublished" %}">{% trans "Unpublished" %}</a></li>
-    <li><a href="{% url "telemeta-items-published" %}">{% trans "Published" %}</a></li>
-    <li><a href="{% url "telemeta-items-sound" %}">{% trans "Digitized" context "item list" %}</a></li>
+    <li><a href="{% block url_all %}{% url "telemeta-items" %}{% endblock %}" class="">{% trans "All" %}</a></li>
+    <li><a href="{% block url_unpublished %}{% url "telemeta-items-unpublished" %}{% endblock %}">{% trans "Unpublished" %}</a></li>
+    <li><a href="{% block url_published %}{% url "telemeta-items-published" %}{% endblock %}">{% trans "Published" %}</a></li>
+    <li><a href="{% block url_sound %}{% url "telemeta-items-sound" %}{% endblock %}">{% trans "Digitized" context "item list" %}</a></li>
   </ul>
 </div>
 
index da87944347c02f46abb78b8dfe148111c8ea1530..5a2576157272f5f5743a17ca3662fc65ad76f123 100644 (file)
@@ -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<value_id>[0-9]+)/$', instrument_view.edit_instrument_value, name="telemeta-instrument-record-edit"),
+    url(r'^admin/instruments/' + r'(?P<value_id>[0-9]+)/'+'list-items-published/$', ItemInstrumentPublishedListView.as_view(),name="telemeta-items-instrument-published"),
+    url(r'^admin/instruments/' + r'(?P<value_id>[0-9]+)/'+'list-items-unpublished/$', ItemInstrumentUnpublishedListView.as_view(),name="telemeta-items-instrument-unpublished"),
+    url(r'^admin/instruments/' + r'(?P<value_id>[0-9]+)/'+'list-items-sound/$', ItemInstrumentSoundListView.as_view(),name="telemeta-items-instrument-sound"),
+    url(r'^admin/instruments/' + r'(?P<value_id>[0-9]+)/'+'list-items/$', ItemInstrumentListView.as_view(), name="telemeta-instrument-item-list"),
     url(r'^admin/instruments/' + r'(?P<value_id>[0-9]+)/update/$', instrument_view.update_instrument_value, name="telemeta-instrument-record-update"),
     url(r'^admin/instruments/' + r'(?P<value_id>[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<value_id>[0-9]+)/$', instrument_alias_view.edit_instrument_value, name="telemeta-instrument-alias-record-edit"),
     url(r'^admin/instrument_aliases/' + r'(?P<value_id>[0-9]+)/update/$', instrument_alias_view.update_instrument_value, name="telemeta-instrument-alias-record-update"),
     url(r'^admin/instrument_aliases/' + r'(?P<value_id>[0-9]+)/replace/$', instrument_alias_view.replace_instrument_value, name="telemeta-instrument-alias-record-replace"),
+    url(r'^admin/instrument_aliases/' + r'(?P<value_id>[0-9]+)/'+'list-item-published/$', ItemAliasPublishedListView.as_view(),name="telemeta-items-alias-published"),
+    url(r'^admin/instrument_aliases/' + r'(?P<value_id>[0-9]+)/'+'list-item-unpublished/$', ItemAliasUnpublishedListView.as_view(),name="telemeta-items-alias-unpublished"),
+    url(r'^admin/instrument_aliases/' + r'(?P<value_id>[0-9]+)/'+'list-item-sound/$', ItemAliasSoundListView.as_view(),name="telemeta-items-alias-sound"),
+    url(r'^admin/instrument_aliases/' + r'(?P<value_id>[0-9]+)/'+'list-items/$', ItemAliasListView.as_view(), name="telemeta-alias-item-list"),
 
     # enumerations administration
     url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/$', admin_view.edit_enumeration , name="telemeta-enumeration-edit"),
index 7df111b47e4f042c9a82884fc242243fec6f12ed..6b59c45c3aea511a6a8994d9a732927f1ef290f6 100644 (file)
@@ -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