Beispiel #1
0
    def form_valid( self, form ):
        features = form.cleaned_data['features'].split( ',' ) if form.cleaned_data['features'] else []
        similar_films = form.cleaned_data['similar_films']
        
        FilmFeatureVote.objects.filter( film=self.object, user=self.request.user ).delete()
        for t in features:
            FilmFeatureVote.objects.get_or_create( film=self.object, user=self.request.user, type=t )

        SimilarFilm.remove_vote( user=self.request.user, film_a=self.object )
        for sf in similar_films:
            SimilarFilm.add_vote( user=self.request.user, film_a=self.object, film_b=sf )

        return self.render_to_response({ 'success': True, 'features': features })
Beispiel #2
0
    def form_valid(self, form):
        features = form.cleaned_data['features'].split(
            ',') if form.cleaned_data['features'] else []
        similar_films = form.cleaned_data['similar_films']

        FilmFeatureVote.objects.filter(film=self.object,
                                       user=self.request.user).delete()
        for t in features:
            FilmFeatureVote.objects.get_or_create(film=self.object,
                                                  user=self.request.user,
                                                  type=t)

        SimilarFilm.remove_vote(user=self.request.user, film_a=self.object)
        for sf in similar_films:
            SimilarFilm.add_vote(user=self.request.user,
                                 film_a=self.object,
                                 film_b=sf)

        return self.render_to_response({'success': True, 'features': features})
    def test_votes( self ):
        SimilarFilm.add_vote( user=self.u1, film_a=self.f1, film_b=self.f2 )#1
        SimilarFilm.add_vote( user=self.u2, film_a=self.f1, film_b=self.f2 )#2
        SimilarFilm.add_vote( user=self.u3, film_a=self.f1, film_b=self.f2 )#3
        
        SimilarFilm.add_vote( user=self.u3, film_a=self.f2, film_b=self.f1 )#4
        

        self.assertEqual( SimilarFilm.objects.filter( film_a=self.f1 ).count(), 1 )
        
        similar = SimilarFilm.objects.get( film_a=self.f1 )
        self.assertEqual( similar.number_of_votes, 3 )

        SimilarFilm.remove_vote( user=self.u1, film_a=self.f1, film_b=self.f2 )#2

        similar = SimilarFilm.objects.get( film_a=self.f1 )
        self.assertEqual( similar.number_of_votes, 2 )

        SimilarFilm.remove_vote( user=self.u2, film_a=self.f1, film_b=self.f2 )#1

        similar = SimilarFilm.objects.get( film_a=self.f1 )
        self.assertEqual( similar.number_of_votes, 1 )

        SimilarFilm.remove_vote( user=self.u3, film_a=self.f1, film_b=self.f2 )#1

        self.assertEqual( SimilarFilm.objects.filter( film_a=self.f1 ).count(), 0 )
    def test_votes(self):
        SimilarFilm.add_vote(user=self.u1, film_a=self.f1, film_b=self.f2)  #1
        SimilarFilm.add_vote(user=self.u2, film_a=self.f1, film_b=self.f2)  #2
        SimilarFilm.add_vote(user=self.u3, film_a=self.f1, film_b=self.f2)  #3

        SimilarFilm.add_vote(user=self.u3, film_a=self.f2, film_b=self.f1)  #4

        self.assertEqual(SimilarFilm.objects.filter(film_a=self.f1).count(), 1)

        similar = SimilarFilm.objects.get(film_a=self.f1)
        self.assertEqual(similar.number_of_votes, 3)

        SimilarFilm.remove_vote(user=self.u1, film_a=self.f1,
                                film_b=self.f2)  #2

        similar = SimilarFilm.objects.get(film_a=self.f1)
        self.assertEqual(similar.number_of_votes, 2)

        SimilarFilm.remove_vote(user=self.u2, film_a=self.f1,
                                film_b=self.f2)  #1

        similar = SimilarFilm.objects.get(film_a=self.f1)
        self.assertEqual(similar.number_of_votes, 1)

        SimilarFilm.remove_vote(user=self.u3, film_a=self.f1,
                                film_b=self.f2)  #1

        self.assertEqual(SimilarFilm.objects.filter(film_a=self.f1).count(), 0)