Commit a85b2dec22dbbbad87b376ec5a5ff82c7a51930b

Authored by Zambom
1 parent be2f58b7

Adding youtube video deletion

amadeus/static/js/ytvideo.js
... ... @@ -3,9 +3,9 @@ var tag = document.createElement('script');
3 3 tag.src = "https://www.youtube.com/player_api";
4 4 var firstScriptTag = document.getElementsByTagName('script')[0];
5 5 firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
  6 +
6 7 var keepAlive;
7   - // Replace the 'ytplayer' element with an <iframe> and
8   - // YouTube player after the API code downloads.
  8 +
9 9 var player;
10 10 function onYouTubePlayerAPIReady() {
11 11 player = new YT.Player('video');
... ...
youtube_video/models.py
... ... @@ -23,7 +23,7 @@ class YTVideo(Resource):
23 23 return 'youtube:update'
24 24  
25 25 def delete_link(self):
26   - return 'webpages:delete'
  26 + return 'youtube:delete'
27 27  
28 28 def delete_message(self):
29 29 return _('Are you sure you want delete the YouTube Video')
... ...
youtube_video/urls.py
... ... @@ -6,6 +6,7 @@ from . import views
6 6 urlpatterns = [
7 7 url(r'^create/(?P<slug>[\w_-]+)/$', views.CreateView.as_view(), name = 'create'),
8 8 url(r'^update/(?P<topic_slug>[\w_-]+)/(?P<slug>[\w_-]+)/$', views.UpdateView.as_view(), name = 'update'),
  9 + url(r'^delete/(?P<slug>[\w_-]+)/$', views.DeleteView.as_view(), name = 'delete'),
9 10 url(r'^window_view/(?P<slug>[\w_-]+)/$', views.NewWindowView.as_view(), name = 'window_view'),
10 11 url(r'^view/(?P<slug>[\w_-]+)/$', views.InsideView.as_view(), name = 'view'),
11 12 ]
... ...
youtube_video/views.py
... ... @@ -273,4 +273,26 @@ class UpdateView(LoginRequiredMixin, generic.UpdateView):
273 273  
274 274 success_url = reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug})
275 275  
276   - return success_url
277 276 \ No newline at end of file
  277 + return success_url
  278 +
  279 +class DeleteView(LoginRequiredMixin, generic.DeleteView):
  280 + login_url = reverse_lazy("users:login")
  281 + redirect_field_name = 'next'
  282 +
  283 + template_name = 'resources/delete.html'
  284 + model = YTVideo
  285 + context_object_name = 'resource'
  286 +
  287 + def dispatch(self, request, *args, **kwargs):
  288 + slug = self.kwargs.get('slug', '')
  289 + youtube = get_object_or_404(YTVideo, slug = slug)
  290 +
  291 + if not has_subject_permissions(request.user, youtube.topic.subject):
  292 + return redirect(reverse_lazy('subjects:home'))
  293 +
  294 + return super(DeleteView, self).dispatch(request, *args, **kwargs)
  295 +
  296 + def get_success_url(self):
  297 + messages.success(self.request, _('The YouTube Video "%s" was removed successfully from virtual environment "%s"!')%(self.object.name, self.object.topic.subject.name))
  298 +
  299 + return reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug})
278 300 \ No newline at end of file
... ...