def change_title_video(self, video_pk, title, user): title = title.strip() if not user.is_authenticated(): return Error(self.authentication_error_msg) if not title: return Error(_(u'Title can\'t be empty')) try: video = Video.objects.get(pk=video_pk) if title and not video.title or video.is_html5( ) or user.is_superuser: if title != video.title: old_title = video.title_display() video.title = title video.slug = slugify(video.title) video.save() send_change_title_email.delay(video.id, user and user.id, old_title.encode('utf8'), video.title.encode('utf8')) else: return Error(_(u'Title can\'t be changed for this video')) except Video.DoesNotExist: return Error(_(u'Video does not exist')) return Msg(_(u'Title was changed success'))
def change_title_video(self, video_pk, title, user): title = title.strip() if not user.is_authenticated(): return Error(self.authentication_error_msg) if not title: return Error(_(u'Title can\'t be empty')) try: video = Video.objects.get(pk=video_pk) if title and not video.title or video.is_html5() or user.is_superuser: if title != video.title: old_title = video.title_display() video.title = title video.slug = slugify(video.title) video.save() update_search_index.delay(Video, video.pk) Action.change_title_handler(video, user) send_change_title_email.delay(video.id, user and user.id, old_title.encode('utf8'), video.title.encode('utf8')) else: return Error(_(u'Title can\'t be changed for this video')) except Video.DoesNotExist: return Error(_(u'Video does not exist')) return Msg(_(u'Title was changed success'))
def ajax_change_video_title(request): from videos.tasks import send_change_title_email video_id = request.POST.get('video_id') title = request.POST.get('title') user = request.user try: video = Video.objects.get(video_id=video_id) if title and not video.title or video.is_html5() or user.is_superuser: old_title = video.title_display() video.title = title video.slug = slugify(video.title) video.save() action = Action(new_video_title=video.title, video=video) action.user = user.is_authenticated() and user or None action.created = datetime.now() action.action_type = Action.CHANGE_TITLE action.save() send_change_title_email.delay(video.id, user and user.id, old_title, video.title) except Video.DoesNotExist: pass return HttpResponse('')
def test_send_change_title_email(self): from videos.tasks import send_change_title_email user = User.objects.all()[:1].get() self.assertFalse(self.video.followers.count() == 1 \ and self.video.followers.all()[:1].get() == user) old_title = self.video.title new_title = u'New title' self.video.title = new_title self.video.save() result = send_change_title_email.delay(self.video.id, user.id, old_title, new_title) if result.failed(): self.fail(result.traceback) self.assertEqual(len(mail.outbox), 1) #test anonymous editing mail.outbox = [] result = send_change_title_email.delay(self.video.id, None, old_title, new_title) if result.failed(): self.fail(result.traceback) self.assertEqual(len(mail.outbox), 1)
def ajax_change_video_title(request): from videos.tasks import send_change_title_email video_id = request.POST.get('video_id') title = request.POST.get('title') user = request.user try: video = Video.objects.get(video_id=video_id) if title and not video.title or video.is_html5() or user.is_superuser: old_title = video.title_display() video.title = title video.slug = slugify(video.title) video.save() update_search_index.delay(Video, video.pk) Action.change_title_handler(video, user) send_change_title_email.delay(video.id, user and user.id, old_title.encode('utf8'), video.title.encode('utf8')) except Video.DoesNotExist: pass return HttpResponse('')