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,9 +3,9 @@ var tag = document.createElement('script');
3 tag.src = "https://www.youtube.com/player_api"; 3 tag.src = "https://www.youtube.com/player_api";
4 var firstScriptTag = document.getElementsByTagName('script')[0]; 4 var firstScriptTag = document.getElementsByTagName('script')[0];
5 firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 5 firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
  6 +
6 var keepAlive; 7 var keepAlive;
7 - // Replace the 'ytplayer' element with an <iframe> and  
8 - // YouTube player after the API code downloads. 8 +
9 var player; 9 var player;
10 function onYouTubePlayerAPIReady() { 10 function onYouTubePlayerAPIReady() {
11 player = new YT.Player('video'); 11 player = new YT.Player('video');
youtube_video/models.py
@@ -23,7 +23,7 @@ class YTVideo(Resource): @@ -23,7 +23,7 @@ class YTVideo(Resource):
23 return 'youtube:update' 23 return 'youtube:update'
24 24
25 def delete_link(self): 25 def delete_link(self):
26 - return 'webpages:delete' 26 + return 'youtube:delete'
27 27
28 def delete_message(self): 28 def delete_message(self):
29 return _('Are you sure you want delete the YouTube Video') 29 return _('Are you sure you want delete the YouTube Video')
youtube_video/urls.py
@@ -6,6 +6,7 @@ from . import views @@ -6,6 +6,7 @@ from . import views
6 urlpatterns = [ 6 urlpatterns = [
7 url(r'^create/(?P<slug>[\w_-]+)/$', views.CreateView.as_view(), name = 'create'), 7 url(r'^create/(?P<slug>[\w_-]+)/$', views.CreateView.as_view(), name = 'create'),
8 url(r'^update/(?P<topic_slug>[\w_-]+)/(?P<slug>[\w_-]+)/$', views.UpdateView.as_view(), name = 'update'), 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 url(r'^window_view/(?P<slug>[\w_-]+)/$', views.NewWindowView.as_view(), name = 'window_view'), 10 url(r'^window_view/(?P<slug>[\w_-]+)/$', views.NewWindowView.as_view(), name = 'window_view'),
10 url(r'^view/(?P<slug>[\w_-]+)/$', views.InsideView.as_view(), name = 'view'), 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,4 +273,26 @@ class UpdateView(LoginRequiredMixin, generic.UpdateView):
273 273
274 success_url = reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug}) 274 success_url = reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug})
275 275
276 - return success_url  
277 \ No newline at end of file 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 \ No newline at end of file 300 \ No newline at end of file