Ejemplo n.º 1
0
        def test_pending_count_after_removal(self):

            tv = self.team.teamvideo_set.all()[0]
            add_moderation(tv.video, tv.team, self.user)
            self.assertEquals(tv.team.get_pending_moderation().count() , 0)
            self._create_versions( tv.video.subtitle_language(), num_versions=2)
            self.assertEquals(tv.team.get_pending_moderation().count(), 2)
            remove_moderation(tv.video, tv.team, self.user)
            self.assertEquals(tv.team.get_pending_moderation().count(), 0)
Ejemplo n.º 2
0
 def test_remove_moderation_simple(self):
     TeamMember(user=self.user, team=self.team, role=TeamMember.ROLE_MANAGER).save()
     self.assertFalse(self.video.moderated_by)
     add_moderation(self.video, self.team, self.user)
     self.video = Video.objects.get(pk=self.video.pk)
     self.assertTrue(self.video.moderated_by)
     remove_moderation(self.video, self.team, self.user)
     self.video = Video.objects.get(pk=self.video.pk)
     self.assertFalse(self.video.moderated_by)
Ejemplo n.º 3
0
 def test_last_version_never_rejected(self):
     tv = self.team.teamvideo_set.all()[0]
     add_moderation(tv.video, tv.team, self.user)
     self.assertEquals(tv.team.get_pending_moderation().count() , 0)
     versions = self._create_versions( tv.video.subtitle_language(), num_versions=2)
     approve_version(versions[1], tv.team, self.user)
     remove_moderation(tv.video, tv.team, self.user)
     version = refresh_obj(versions[0])
     self.assertEquals(version.moderation_status , UNMODERATED)
     version = refresh_obj(versions[1])
     self.assertEquals(version.moderation_status , UNMODERATED)
Ejemplo n.º 4
0
 def test_remove__moderation_only_for_members(self):
     member = TeamMember(user=self.user, team=self.team, role=TeamMember.ROLE_MANAGER)
     member.save()
     add_moderation(self.video, self.team, self.user)
     member.role = TeamMember.ROLE_MEMBER
     member.save()
     e = None
     self.assertRaises(SuspiciousOperation, remove_moderation, *(self.video, self.team, self.user))
     member.role = TeamMember.ROLE_MANAGER
     member.save()
     remove_moderation(self.video, self.team, self.user)
     self.video = Video.objects.get(pk=self.video.pk)
     self.assertFalse(self.video.moderated_by)
Ejemplo n.º 5
0
 def test_on_unmoderation_rejected_never_last(self):
    tv = self.team.teamvideo_set.all()[0]
    add_moderation(tv.video, tv.team, self.user)
    self.assertEquals(tv.team.get_pending_moderation().count() , 0)
    versions = self._create_versions( tv.video.subtitle_language(), num_versions=2)
    v0_subs_text = versions[0].subtitles()[0].text
    v1_subs_text = versions[1].subtitles()[0].text
    approve_version(versions[0], tv.team, self.user)
    num_versions = SubtitleVersion.objects.filter(language__video=tv.video).count()
    reject_version(versions[1], tv.team, self.user, None, self.user2)
    # we should roll back
    self.assertEquals(SubtitleVersion.objects.filter(language__video=tv.video).count(),num_versions +1)
    self.assertEquals( tv.video.subtitle_language().latest_version(), versions[0])
    remove_moderation(tv.video, tv.team, self.user)
    # the last one must be v0 -> the one approved
    self.assertEquals(tv.video.subtitle_language().latest_version().subtitles()[0].text , v0_subs_text)
Ejemplo n.º 6
0
    def save(self, *args, **kwargs):
        obj = super(EditTeamVideoForm, self).save(*args, **kwargs)

        video = obj.video
        team = obj.team

        if feature_is_on("MODERATION"):
            if self.should_add_moderation:
                try:
                    add_moderation(video, team, self.user)
                except Exception ,e:
                    raise
                    self._errors["should_moderate"] = [e]
            elif self.should_remove_moderation:

                    try:
                        remove_moderation(video, team, self.user)
                    except Exception ,e:
                        raise
                        self._errors["should_moderate"] = [e]