Example #1
0
    def test_recommendation(self):
        self.clean_up()
        # lets praise user1
        content = 'Goooooood!'
        r1 = Recommendation.add(self.user2, self.user1, content)
        assert r1.from_user == self.user2
        assert r1.to_user == self.user1
        assert r1.content == content

        r2 = Recommendation.add(self.user3, self.user1, content)
        assert r2.from_user == self.user3
        assert r2.to_user == self.user1
        assert r2.content == content

        r3 = Recommendation.add(self.user4, self.user1, content)
        assert r3.from_user == self.user4
        assert r3.to_user == self.user1
        assert r3.content == content

        r4 = Recommendation.add(self.user1, self.user1, content)
        assert r4 is None

        rs = Recommendation.gets_by_user(self.user1)
        assert len(rs) == len([self.user2, self.user3, self.user4])
        # check default sort
        assert rs[0].id == r3.id
Example #2
0
    def test_recommendation(self):
        # lets praise user1
        content = 'Goooooood!'
        r1 = Recommendation.add(self.user2, self.user1, content)
        assert r1.from_user == self.user2
        assert r1.to_user == self.user1
        assert r1.content == content

        r2 = Recommendation.add(self.user3, self.user1, content)
        assert r2.from_user == self.user3
        assert r2.to_user == self.user1
        assert r2.content == content

        r3 = Recommendation.add(self.user4, self.user1, content)
        assert r3.from_user == self.user4
        assert r3.to_user == self.user1
        assert r3.content == content

        r4 = Recommendation.add(self.user1, self.user1, content)
        assert r4 is None

        rs = Recommendation.gets_by_user(self.user1)
        assert len(rs) == len([self.user2, self.user3, self.user4])
        # check default sort
        assert rs[0].id == r3.id
Example #3
0
def _q_index(request):
    """recommendations timeline"""
    start = request.get_form_var('start')
    start = start and start.isdigit() and int(start) or 0
    limit = 20
    recs = Recommendation.gets(start=start, limit=limit)
    return st('recommendations.html', **locals())
Example #4
0
 def add_rec(self, request):
     name = self.name
     if request.method == "POST":
         content = request.get_form_var("content")
         user = request.user
         r = Recommendation.add(from_user=user.name, to_user=self.name, content=content)
         return request.redirect("/people/%s/praises" % name)
     return st("people_add_rec.html", **locals())
Example #5
0
def vote(request):
    user = request.user
    if user:
        rec_id = request.get_form_var('rec_id')
        r = Recommendation.get(rec_id)
        if r:
            r.add_vote(user.name)
            return json.dumps({'r': 1})
    return json.dumps({'r': 0})
Example #6
0
 def add_rec(self, request):
     name = self.name
     if request.method == "POST":
         content = request.get_form_var('content')
         user = request.user
         r = Recommendation.add(from_user=user.name,
                                to_user=self.name,
                                content=content)
         return request.redirect('/people/%s/praises' % name)
     return st('people_add_rec.html', **locals())
Example #7
0
    def test_recommendation_vote(self):
        self.clean_up()
        content = 'Goooooood!'
        r1 = Recommendation.add(self.user2, self.user1, content)
        assert r1.from_user == self.user2
        assert r1.to_user == self.user1
        assert r1.content == content

        r1.add_vote(self.user3)
        r1.add_vote(self.user4)

        assert Recommendation.get(
            r1.id).n_vote == len([self.user3, self.user4])

        # duplicate vote
        r1.add_vote(self.user3)
        r1 = Recommendation.get(r1.id)
        assert Recommendation.get(
            r1.id).n_vote == len([self.user3, self.user4])

        assert r1.is_voted(self.user5) is False

        # last vote
        r1.add_vote(self.user5)
        assert Recommendation.get(
            r1.id).n_vote == len([self.user3, self.user4, self.user5])

        # check sord, more vote more ahead
        r2 = Recommendation.add(self.user3, self.user1, content)
        rs = Recommendation.gets_by_user(self.user1)
        assert len(rs) == len([self.user2, self.user3])
        # check default sort
        assert rs[0].id == r1.id

        assert r1.is_voted(self.user3)
        assert r1.is_voted(self.user4)
        assert r1.is_voted(self.user5)
        assert r1.is_voted(self.user1) is False

        assert r2.is_voted(self.user2) is False
        assert r2.is_voted(self.user3) is False
        assert r2.is_voted(self.user5) is False
Example #8
0
 def get_praises(self):
     from vilya.models.recommendation import Recommendation
     return Recommendation.gets_by_user(self.username)
Example #9
0
 def get_praises(self):
     from vilya.models.recommendation import Recommendation
     return Recommendation.gets_by_user(self.username)
Example #10
0
 def praises(self, request):
     name = self.name
     recs = Recommendation.gets_by_user(name)
     return st("people_recs.html", **locals())
Example #11
0
 def praises(self, request):
     name = self.name
     recs = Recommendation.gets_by_user(name)
     return st('people_recs.html', **locals())
Example #12
0
 def clean_up(self):
     rcs = Recommendation.gets()
     for rc in rcs:
         rc.delete()