From: Guillaume Pellerin Date: Mon, 17 Nov 2014 21:37:03 +0000 (+0100) Subject: fix item edit, add auto_zoom for item edit X-Git-Tag: 1.5.0rc1~27^2~4^2~11 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=f1b5cc86351f1f158dd928a5698b3e4a78f86f2c;p=telemeta.git fix item edit, add auto_zoom for item edit --- diff --git a/telemeta/static/telemeta/css/telemeta.css b/telemeta/static/telemeta/css/telemeta.css index 8fd41ca8..74da57c8 100644 --- a/telemeta/static/telemeta/css/telemeta.css +++ b/telemeta/static/telemeta/css/telemeta.css @@ -1343,3 +1343,6 @@ a:focus,div:focus{ border-radius: 8px 0px 8px 8px; } +.no-sound-access { + padding: 200px; +} \ No newline at end of file diff --git a/telemeta/templates/telemeta/mediaitem_detail.html b/telemeta/templates/telemeta/mediaitem_detail.html index ddf89231..36bdfe28 100644 --- a/telemeta/templates/telemeta/mediaitem_detail.html +++ b/telemeta/templates/telemeta/mediaitem_detail.html @@ -204,6 +204,7 @@ {% endif %} + {% else %}
diff --git a/telemeta/urls.py b/telemeta/urls.py index e171f03a..1a194ff0 100644 --- a/telemeta/urls.py +++ b/telemeta/urls.py @@ -81,7 +81,7 @@ urlpatterns = patterns('', url(r'^archives/items/(?P[A-Za-z0-9._-]+)/visualize/(?P[0-9a-z_]+)/(?P[0-9A-Z]+)x(?P[0-9A-Z]+)/$', item_view.item_visualize, name="telemeta-item-visualize"), url(r'^archives/items/(?P[A-Za-z0-9._-]+)/analyze/xml/$', item_view.item_analyze_xml, name="telemeta-item-analyze-xml"), url(r'^archives/items/(?P[A-Za-z0-9._-]+)/item_xspf.xml$', item_view.item_playlist, dict(template="telemeta/mediaitem_xspf.xml", mimetype="application/xspf+xml"), name="telemeta-item-xspf"), - 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._-]+)/edit/$', ItemEditView.as_view(), name="telemeta-item-edit"), url(r'^archives/items/(?P[A-Za-z0-9._-]+)/copy/$', ItemEditView.as_view(), name="telemeta-item-copy"), 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"), @@ -105,7 +105,6 @@ urlpatterns = patterns('', url(r'^archives/collections_unpublished/$', CollectionUnpublishedListView.as_view(), name="telemeta-collections-unpublished"), url(r'^archives/collections_published/$', CollectionPublishedListView.as_view(), name="telemeta-collections-published"), url(r'^archives/collections_sound/$', CollectionSoundListView.as_view(), name="telemeta-collections-sound"), - url(r'^archives/collections/(?P[A-Za-z0-9._-]+)/$', CollectionDetailView.as_view(), name="telemeta-collection-detail"), url(r'^archives/collections/(?P[A-Za-z0-9._-]+)/dc/$', CollectionDetailViewDC.as_view(), name="telemeta-collection-dublincore"), url(r'^archives/collections/(?P[A-Za-z0-9._-]+)/collection_xspf.xml$', collection_view.collection_playlist, dict(template="telemeta/collection_xspf.xml", mimetype="application/xspf+xml"), name="telemeta-collection-xspf"), diff --git a/telemeta/views/item.py b/telemeta/views/item.py index d70e8d50..74f20a58 100644 --- a/telemeta/views/item.py +++ b/telemeta/views/item.py @@ -51,7 +51,7 @@ class ItemBaseMixin(object): export_enabled = getattr(settings, 'TELEMETA_DOWNLOAD_ENABLED', True) export_formats = getattr(settings, 'TELEMETA_DOWNLOAD_FORMATS', ('mp3', 'wav')) default_grapher_id = getattr(settings, 'TIMESIDE_DEFAULT_GRAPHER_ID', ('waveform_simple')) - default_grapher_sizes = getattr(settings, 'TELEMETA_DEFAULT_GRAPHER_SIZES', ['360x130', ]) + default_grapher_sizes = getattr(settings, 'TIMESIDE_DEFAULT_GRAPHER_SIZES', ['360x130', ]) auto_zoom = getattr(settings, 'TIMESIDE_AUTO_ZOOM', False) @@ -707,21 +707,18 @@ class ItemViewMixin(ItemBaseMixin): break return grapher - def get_object(self): - if 'public_id' in self.kwargs.keys(): - obj = self.model.objects.filter(code=self.kwargs['public_id']) - if not obj: + item = self.model() + if 'public_id' in self.kwargs: + items = self.model.objects.filter(code=self.kwargs['public_id']) + if not items: try: - obj = self.model.objects.get(id=self.kwargs['public_id']) + item = self.model.objects.get(id=self.kwargs['public_id']) except: pass else: - obj = obj[0] - self.pk = obj.pk - return get_object_or_404(self.model, pk=self.pk) - else: - return get_object_or_404(self.model, pk=self.kwargs['pk']) + item = items[0] + return item class ItemEditView(ItemViewMixin, UpdateWithInlinesView): @@ -747,6 +744,7 @@ class ItemEditView(ItemViewMixin, UpdateWithInlinesView): context['export_formats'] = self.get_export_formats() context['visualizers'] = self.get_graphers() context['audio_export_enabled'] = self.export_enabled + context['auto_zoom'] = True return context @@ -756,15 +754,17 @@ class ItemAddView(ItemViewMixin, CreateWithInlinesView): template_name = 'telemeta/mediaitem_add.html' def get_initial(self): - obj = MediaItem() + item = self.model() # new item for a specific collection if 'public_id' in self.kwargs: public_id = self.kwargs['public_id'] collections = MediaCollection.objects.filter(code=public_id) if collections: collection = collections[0] - obj.collection = collection - return model_to_dict(obj) + item.collection = collection + items = MediaItem.objects.filter(collection=collection) + item.code = auto_code(items, collection.code) + return model_to_dict(item) def get_success_url(self): return reverse_lazy('telemeta-items')