def clean(self): data = super(CreateVideoUrlForm, self).clean() video = data.get('video') if video and not can_user_edit_video_urls(video, self.user): raise forms.ValidationError(_('You have not permission add video URL for this video')) return self.cleaned_data
def video_make_url_primary_form(request, video): if not permissions.can_user_edit_video_urls(video, request.user): raise PermissionDenied() try: video_url = video.videourl_set.get(id=request.POST.get('id', -1)) except VideoUrl.DoesNotExist: success = False else: video_url.make_primary(request.user) success = True response_renderer = AJAXResponseRenderer(request) if success: response_renderer.replace(*urls_tab_replacement_data(request, video)) response_renderer.hide_modal() return response_renderer.render()
def video_url_make_primary(request): output = {} id = request.POST.get('id') status = 200 if id: try: obj = VideoUrl.objects.get(id=id) tv = obj.video.get_team_video() if tv and not permissions.can_user_edit_video_urls(obj.video, request.user): output['error'] = ugettext('You have not permission change this URL') status = 403 else: obj.make_primary(user=request.user) except VideoUrl.DoesNotExist: output['error'] = ugettext('Object does not exist') status = 404 return HttpResponse(json.dumps(output), status=status)
def video_add_url_form(request, video): if not permissions.can_user_edit_video_urls(video, request.user): raise PermissionDenied() create_url_form = NewCreateVideoUrlForm(video, request.user, data=request.POST) response_renderer = AJAXResponseRenderer(request) if create_url_form.is_valid(): create_url_form.save() response_renderer.clear_form('#add-url-form form') response_renderer.replace(*urls_tab_replacement_data(request, video)) response_renderer.hide_modal() else: response_renderer.replace( '#add-url-form', "future/videos/forms/create-url.html", { 'create_url_form': create_url_form, }) return response_renderer.render()
def can_user_edit_video_urls(video, user): return permissions.can_user_edit_video_urls(video, user)
def video(request, video_id, video_url=None, title=None): if should_use_old_view(request): return oldviews.video(request, video_id, video_url, title) if request.is_ajax() and 'form' in request.POST: return video_ajax_form(request, video_id) request.use_cached_user() try: video = Video.cache.get_instance_by_video_id(video_id, 'video-page') except Video.DoesNotExist: raise Http404 if not video.can_user_see(request.user): raise PermissionDenied() if video_url: video_url = get_object_or_404(video.videourl_set, pk=video_url) else: video_url = video.get_primary_videourl_obj() workflow = video.get_workflow() if workflow.user_can_create_new_subtitles(request.user): form_name = request.GET.get('form', '') if form_name == 'create-subtitles': return create_subtitles(request, video_id) else: # this is the old code for creating the CreateSubtitlesForm create_subtitles_form = CreateSubtitlesForm(request,video) else: create_subtitles_form = None if request.user.is_authenticated(): comment_form = CommentForm(video) else: comment_form = None if permissions.can_user_edit_video_urls(video, request.user): create_url_form = NewCreateVideoUrlForm(video, request.user) allow_delete = allow_make_primary = True else: create_url_form = None allow_delete = allow_make_primary = False customization = behaviors.video_page_customize(request, video) all_activities = ActivityRecord.objects.for_video( video, customization.team) if request.is_ajax() and request.GET.get('show-all', None): response_renderer = AJAXResponseRenderer(request) response_renderer.replace( '#video_activity', "future/videos/tabs/activity.html", { 'activity': all_activities, }, ) return response_renderer.render() activity = all_activities[:ACTIVITY_PER_PAGE] show_all = False if len(activity) >= len(all_activities) else True sanity_check_video_urls(request, video) return render(request, 'future/videos/video.html', { 'video': video, 'player_url': video_url.url, 'team': video.get_team(), 'team_video': video.get_team_video(), 'tab': request.GET.get('tab', 'info'), 'allow_delete': allow_delete, 'allow_make_primary': allow_make_primary, 'create_subtitles_form': create_subtitles_form, 'comment_form': comment_form, 'create_url_form': create_url_form, 'comments': Comment.get_for_object(video), 'activity': activity, 'activity_count': 1, 'show_all': show_all, 'metadata': video.get_metadata().convert_for_display(), 'custom_sidebar': customization.sidebar, 'header': customization.header, 'use_old_messages': True, 'video_urls': [ (vurl, get_sync_account(video, vurl)) for vurl in video.get_video_urls() ], })