dict(template='telemeta/mediaitem_performances_edit.html'), name="telemeta-item-performances_edit"),
url(r'^items/(?P<public_id>[A-Za-z0-9._-]+)/keywords/$', web_view.item_keywords_edit,
dict(template='telemeta/mediaitem_keywords_edit.html'), name="telemeta-item-keywords_edit"),
+ url(r'^items/(?P<public_id>[A-Za-z0-9._-]+)/delete/$', web_view.item_delete, name="telemeta-item-delete"),
# Markers
url(r'^markers/(?P<marker_id>[A-Za-z0-9]+)/$', web_view.item_detail, name="telemeta-item-detail-marker"),
@method_decorator(permission_required('telemeta.change_mediaitem'))
def item_edit(self, request, public_id, template='telemeta/mediaitem_edit.html'):
- """Show the details of a given item"""
+ """Edit a given item"""
item = MediaItem.objects.get(public_id=public_id)
formats = []
@method_decorator(permission_required('telemeta.add_mediaitem'))
def item_add(self, request, public_id=None, template='telemeta/mediaitem_add.html'):
- """Show the details of a given item"""
+ """Add an item"""
if public_id:
collection = MediaCollection.objects.get(public_id=public_id)
item = MediaItem(collection=collection)
@method_decorator(permission_required('telemeta.add_mediaitem'))
def item_copy(self, request, public_id, template='telemeta/mediaitem_copy.html'):
- """Show the details of a given item"""
+ """Copy a given item"""
if request.method == 'POST':
new_item = MediaItem()
form = MediaItemForm(data=request.POST, files=request.FILES, instance=new_item)
form.file = None
return render(request, template, {'item': item, "form": form})
+
+ @method_decorator(permission_required('telemeta.delete_mediaitem'))
+ def item_delete(self, request, public_id):
+ """Delete a given item"""
+ item = MediaItem.objects.get(public_id=public_id)
+ collection = item.collection
+ item.delete()
+ return HttpResponseRedirect('/collections/'+collection.code)
def item_analyze(self, item):
analyses = MediaItemAnalysis.objects.filter(item=item)