def setUp(self): self.user = UserFactory() self.client = APIClient() self.client.force_authenticate(user=self.user) self.list_url = reverse('api:activity-list') # create a bunch of action objects of various types self.team = TeamFactory() self.team_member = TeamMemberFactory(user=self.user, team=self.team) self.video = VideoFactory() TeamVideoFactory(video=self.video, team=self.team) self.user2 = UserFactory() Action.create_video_handler(self.video, self.user) self.video.title = 'new-title' self.video.save() Action.change_title_handler(self.video, self.user) # creating comment will automatically create the action object Comment(content_object=self.video, user=self.user, content="Test Comment").save() v = pipeline.add_subtitles(self.video, 'en', None, author=self.user) Action.create_caption_handler(v, datetime.now()) Action.create_approved_video_handler(v, self.user2) Action.create_rejected_video_handler(v, self.user2) Action.create_new_member_handler(self.team_member) Action.create_member_left_handler(self.team, self.user) self.action_qs = Action.objects.for_user(self.user)
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 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 test_profile_page(self): video = Video.objects.all()[0] video.title = 'new title' video.save() Action.change_title_handler(video, self.user) self.assertTrue(self.user.action_set.exists()) self._simple_test('profiles:profile', [self.user.id])
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('')