<td class="playlist-title">{{element.title}} <span class="shortcut">[{{element.shortcut}}]</span></td>
<td><audio src="{{element.sound.url}}" controls/></td>
<td>{{element.notes}}</td>
+ {% if can_manage %}
+ <td class="delete-column"><a href="{% url 'episode-regie-delete-element' emission_slug=episode.emission.slug slug=episode.slug %}?id={{element.id}}" class="icon-remove-sign"></a></td>
+ {% endif %}
</tr>
{% endfor %}
</tbody></table>
});
});
+ $('.delete-column a').on('click', function() {
+ var tr = $(this).parents('tr');
+ $.ajax({
+ url: $(this).attr('href'),
+ success: function() {
+ $(tr).hide();
+ }
+ });
+ return false;
+ });
+
if ($('#ready').val() === 'ready') {
$('.ready').trigger('click');
EpisodeRegieView.as_view(), name='episode-regie'),
url(r'^(?P<emission_slug>[\w,-]+)/(?P<slug>[\w,-]+)/regie/marks/$',
EpisodeRegieMarks.as_view(), name='episode-regie-marks'),
+ url(r'^(?P<emission_slug>[\w,-]+)/(?P<slug>[\w,-]+)/regie/delete/$',
+ EpisodeRegieDeleteElementView.as_view(), name='episode-regie-delete-element'),
url(r'^(?P<emission_slug>[\w,-]+)/(?P<slug>[\w,-]+)/regie/update-order$',
EpisodeRegieUpdateOrderView.as_view(), name='episode-regie-update-order'),
'EmissionOpenChatView', 'EmissionCloseChatView',
'EpisodeRegieView',
'EpisodeRegieUpdateOrderView',
- 'EpisodeRegieMarks',
+ 'EpisodeRegieMarks', 'EpisodeRegieDeleteElementView'
]
return HttpResponse('ok')
+class EpisodeRegieDeleteElementView(EpisodeRegieView):
+ def get(self, request, *args, **kwargs):
+ element_id = request.GET.get('id')
+ element = PlaylistElement.objects.get(id=element_id)
+ if not self.request.user.can_manage(element.episode):
+ return JSONResponse({'err': 1})
+ element.delete()
+ return HttpResponseRedirect('..')
+
+
class EpisodeRegieMarks(EpisodeRegieView):
def get(self, request, *args, **kwargs):
episode = self.get_object()