コード例 #1
0
ファイル: tests.py プロジェクト: bbliss/agon
 def test_improperly_configured_point_value(self):
     self.setup_users(1)
     user = self.users[0]
     try:
         award_points(user, "JOINED_SITE")
     except ImproperlyConfigured, e:
         self.assertEqual(str(e), "PointValue for 'JOINED_SITE' does not exist")
コード例 #2
0
 def test_unicode_user_one_off_point_award(self):
     self.setup_users(1)
     user = self.users[0]
     award_points(user, 500)
     apv = AwardedPointValue.objects.all()[0]
     self.assertEqual(unicode(apv),
                      u"%s points awarded to %s" % (500, unicode(user)))
コード例 #3
0
ファイル: tests.py プロジェクト: bbliss/agon
 def test_unicode_simple_user_point_award(self):
     self.setup_users(1)
     self.setup_points({"JOINED_SITE": 1})
     user = self.users[0]
     award_points(user, "JOINED_SITE")
     apv = AwardedPointValue.objects.all()[0]
     self.assertEqual(unicode(apv), u"%s points for %s awarded to %s" % (1, "JOINED_SITE", unicode(user)))
コード例 #4
0
ファイル: tests.py プロジェクト: asavoy/agon
 def test_simple_generic_point_award(self):
     self.setup_points({
         "ATE_SOMETHING": 5,
     })
     group = Group.objects.create(name="Dwarfs")
     award_points(group, "ATE_SOMETHING")
     self.assertEqual(points_awarded(group), 5)
コード例 #5
0
 def test_simple_generic_point_award(self):
     self.setup_points({
         "ATE_SOMETHING": 5,
     })
     group = Group.objects.create(name="Dwarfs")
     award_points(group, "ATE_SOMETHING")
     self.assertEqual(points_awarded(group), 5)
コード例 #6
0
 def test_improperly_configured_point_value(self):
     self.setup_users(1)
     user = self.users[0]
     try:
         award_points(user, "JOINED_SITE")
     except ImproperlyConfigured, e:
         self.assertEqual(str(e),
                          "PointValue for 'JOINED_SITE' does not exist")
コード例 #7
0
ファイル: tests.py プロジェクト: bbliss/agon
 def test_user_object_with_limit_30_days(self):
     self.setup_users(1)
     ap = award_points(self.users[0], 10)
     ap.timestamp = ap.timestamp - timedelta(days=14)
     ap.save()
     award_points(self.users[0], 18)
     t = Template("{% load agon_tags %}{% points_for_object user limit 30 days as points %}{{ points }} Points")
     self.assertEqual(t.render(Context({"user": self.users[0]})), "28 Points")
コード例 #8
0
 def test_simple_user_point_award(self):
     self.setup_users(1)
     self.setup_points({
         "JOINED_SITE": 1,
     })
     user = self.users[0]
     award_points(user, "JOINED_SITE")
     self.assertEqual(points_awarded(user), 1)
コード例 #9
0
 def test_user_object_with_as(self):
     self.setup_users(1)
     award_points(self.users[0], 10)
     t = Template(
         '{% load agon_tags %}{% points_for_object user as points %}{{ points }} Points'
     )
     self.assertEqual(t.render(Context({"user": self.users[0]})),
                      "10 Points")
コード例 #10
0
ファイル: tests.py プロジェクト: asavoy/agon
 def test_simple_user_point_award(self):
     self.setup_users(1)
     self.setup_points({
         "JOINED_SITE": 1,
     })
     user = self.users[0]
     award_points(user, "JOINED_SITE")
     self.assertEqual(points_awarded(user), 1)
コード例 #11
0
ファイル: tests.py プロジェクト: asavoy/agon
 def test_unicode_generic_one_off_point_award(self):
     group = Group.objects.create(name="Dwarfs")
     award_points(group, 500)
     apv = AwardedPointValue.objects.all()[0]
     self.assertEqual(
         unicode(apv),
         u"%s points awarded to %s" % (500, unicode(group))
     )
コード例 #12
0
ファイル: tests.py プロジェクト: asavoy/agon
 def test_unicode_user_one_off_point_award(self):
     self.setup_users(1)
     user = self.users[0]
     award_points(user, 500)
     apv = AwardedPointValue.objects.all()[0]
     self.assertEqual(
         unicode(apv),
         u"%s points awarded to %s" % (500, unicode(user))
     )
コード例 #13
0
ファイル: tests.py プロジェクト: asavoy/agon
 def test_improperly_configured(self):
     self.setup_users(1)
     user = self.users[0]
     try:
         award_points(user, True)
     except ImproperlyConfigured, e:
         self.assertEqual(str(e), "award_points didn't receive a valid value"
             " for it's 2nd argument.  It must be either a string that matches a"
             " PointValue or an integer amount of points to award."
         )
コード例 #14
0
 def test_improperly_configured(self):
     self.setup_users(1)
     user = self.users[0]
     try:
         award_points(user, True)
     except ImproperlyConfigured, e:
         self.assertEqual(
             str(e), "award_points didn't receive a valid value"
             " for it's 2nd argument.  It must be either a string that matches a"
             " PointValue or an integer amount of points to award.")
コード例 #15
0
 def test_unicode_simple_generic_point_award(self):
     self.setup_points({
         "ATE_SOMETHING": 5,
     })
     group = Group.objects.create(name="Dwarfs")
     award_points(group, "ATE_SOMETHING")
     apv = AwardedPointValue.objects.all()[0]
     self.assertEqual(
         unicode(apv), u"%s points for %s awarded to %s" %
         (5, "ATE_SOMETHING", unicode(group)))
コード例 #16
0
 def test_user_object_with_limit_30_days(self):
     self.setup_users(1)
     ap = award_points(self.users[0], 10)
     ap.timestamp = ap.timestamp - timedelta(days=14)
     ap.save()
     award_points(self.users[0], 18)
     t = Template(
         '{% load agon_tags %}{% points_for_object user limit 30 days as points %}{{ points }} Points'
     )
     self.assertEqual(t.render(Context({"user": self.users[0]})),
                      "28 Points")
コード例 #17
0
 def test_unicode_simple_user_point_award(self):
     self.setup_users(1)
     self.setup_points({
         "JOINED_SITE": 1,
     })
     user = self.users[0]
     award_points(user, "JOINED_SITE")
     apv = AwardedPointValue.objects.all()[0]
     self.assertEqual(
         unicode(apv), u"%s points for %s awarded to %s" %
         (1, "JOINED_SITE", unicode(user)))
コード例 #18
0
ファイル: tests.py プロジェクト: asavoy/agon
 def test_unicode_simple_generic_point_award(self):
     self.setup_points({
         "ATE_SOMETHING": 5,
     })
     group = Group.objects.create(name="Dwarfs")
     award_points(group, "ATE_SOMETHING")
     apv = AwardedPointValue.objects.all()[0]
     self.assertEqual(
         unicode(apv),
         u"%s points for %s awarded to %s" % (5, "ATE_SOMETHING", unicode(group))
     )
コード例 #19
0
def inc_user_karma(sender, instance, created, **kwargs):
    if created:
        now = datetime.datetime.utcnow().replace(tzinfo=utc)
        today = now.date()
        user = instance.user
        action = "award_daily_points"
        awarded = False
        try:
            key = md5("{}{}{}".format(user.id, action, today)).hexdigest()
            lock, created = Lock.objects.get_or_create(key=key,
                                                       defaults={
                                                           "user": user,
                                                           "action": action
                                                       })
            if not created:
                awarded = True
        except IntegrityError:
            awarded = True
        if awarded:
            return  #: no award again today
        else:
            try:
                stat = user.targetstat_targets
                level = stat.level
            except TargetStat.DoesNotExist:
                level = 1
            award_points(user, 'daily_bookmark_' + str(level))
            total = Bookmark.objects.filter(user=user, id__gt=5000).count()
            stat = user.targetstat_targets
            next_level = level
            if 1000 > total >= 500:
                next_level = 2
            elif 5000 > total >= 1000:
                next_level = 3
            elif total >= 5000:
                next_level = 4
            if next_level != level:
                stat.level = next_level
                stat.save()
コード例 #20
0
ファイル: models.py プロジェクト: enml/lianpeng
def inc_user_karma(sender, instance, created, **kwargs):
    if created:
        now = datetime.datetime.utcnow().replace(tzinfo=utc)
        today = now.date()
        user = instance.user
        action = "award_daily_points"
        awarded = False
        try:
            key = md5("{}{}{}".format(user.id, action, today)).hexdigest()
            lock, created = Lock.objects.get_or_create(key=key,
                      defaults={"user": user, "action": action})
            if not created:
                awarded = True
        except IntegrityError:
            awarded = True
        if awarded:
            return #: no award again today
        else:
            try:
                stat = user.targetstat_targets
                level = stat.level
            except TargetStat.DoesNotExist:
                level = 1
            award_points(user, 'daily_bookmark_' + str(level))
            total = Bookmark.objects.filter(user=user, id__gt=5000).count()
            stat = user.targetstat_targets
            next_level = level
            if 1000 > total >= 500:
                next_level = 2
            elif 5000 > total >= 1000:
                next_level = 3
            elif total >= 5000:
                next_level = 4
            if next_level != level:
                stat.level = next_level
                stat.save()
コード例 #21
0
ファイル: tests.py プロジェクト: asavoy/agon
 def test_user_object_without_as(self):
     self.setup_users(1)
     award_points(self.users[0], 15)
     t = Template('{% load agon_tags %}{% points_for_object user %} Points')
     self.assertEqual(t.render(Context({"user": self.users[0]})), "15 Points")
コード例 #22
0
ファイル: tests.py プロジェクト: bbliss/agon
 def test_generic_one_off_point_award_value_is_null(self):
     group = Group.objects.create(name="Dwarfs")
     award_points(group, 500)
     apv = AwardedPointValue.objects.all()[0]
     self.assertTrue(apv.value is None)
コード例 #23
0
ファイル: tests.py プロジェクト: bbliss/agon
 def test_user_one_off_point_award_value_is_null(self):
     self.setup_users(1)
     user = self.users[0]
     award_points(user, 500)
     apv = AwardedPointValue.objects.all()[0]
     self.assertTrue(apv.value is None)
コード例 #24
0
ファイル: tests.py プロジェクト: bbliss/agon
 def test_generic_one_off_point_award(self):
     group = Group.objects.create(name="Dwarfs")
     award_points(group, 500)
     self.assertEqual(points_awarded(group), 500)
コード例 #25
0
ファイル: tests.py プロジェクト: bbliss/agon
 def test_user_one_off_point_award(self):
     self.setup_users(1)
     user = self.users[0]
     award_points(user, 500)
     self.assertEqual(points_awarded(user), 500)
コード例 #26
0
 def test_user_one_off_point_award(self):
     self.setup_users(1)
     user = self.users[0]
     award_points(user, 500)
     self.assertEqual(points_awarded(user), 500)
コード例 #27
0
ファイル: forms.py プロジェクト: asavoy/agon
 def award(self):
     user = self.cleaned_data["user"]
     points = self.cleaned_data["points"]
     reason = self.cleaned_data["reason"]
     award_points(user, points, reason=reason)
コード例 #28
0
 def run():
     award_points(user, "INVITED_USER")
コード例 #29
0
ファイル: tests.py プロジェクト: bbliss/agon
 def setUp(self):
     self.setup_users(5)
     self.setup_points({"TEST_THIS_TAG": 10})
     group = Group.objects.create(name="Eldarion")
     user = self.users[0]
     # award 40 now and 10 set three weeks ago
     award_points(group, "TEST_THIS_TAG")
     apv = award_points(group, "TEST_THIS_TAG")
     apv.timestamp = apv.timestamp - timedelta(days=14)
     apv.save()
     award_points(user, "TEST_THIS_TAG")
     award_points(user, "TEST_THIS_TAG")
     award_points(user, "TEST_THIS_TAG")
     award_points(user, "TEST_THIS_TAG")
     apv = award_points(user, "TEST_THIS_TAG")
     apv.timestamp = apv.timestamp - timedelta(days=21)
     apv.save()
コード例 #30
0
ファイル: tests.py プロジェクト: bbliss/agon
 def run():
     award_points(user, "INVITED_USER")
コード例 #31
0
 def test_generic_one_off_point_award_value_is_null(self):
     group = Group.objects.create(name="Dwarfs")
     award_points(group, 500)
     apv = AwardedPointValue.objects.all()[0]
     self.assertTrue(apv.value is None)
コード例 #32
0
 def test_user_one_off_point_award_value_is_null(self):
     self.setup_users(1)
     user = self.users[0]
     award_points(user, 500)
     apv = AwardedPointValue.objects.all()[0]
     self.assertTrue(apv.value is None)
コード例 #33
0
 def test_generic_one_off_point_award(self):
     group = Group.objects.create(name="Dwarfs")
     award_points(group, 500)
     self.assertEqual(points_awarded(group), 500)
コード例 #34
0
ファイル: tests.py プロジェクト: bbliss/agon
 def test_user_object_with_as(self):
     self.setup_users(1)
     award_points(self.users[0], 10)
     t = Template("{% load agon_tags %}{% points_for_object user as points %}{{ points }} Points")
     self.assertEqual(t.render(Context({"user": self.users[0]})), "10 Points")
コード例 #35
0
 def test_unicode_generic_one_off_point_award(self):
     group = Group.objects.create(name="Dwarfs")
     award_points(group, 500)
     apv = AwardedPointValue.objects.all()[0]
     self.assertEqual(unicode(apv),
                      u"%s points awarded to %s" % (500, unicode(group)))
コード例 #36
0
 def award(self):
     user = self.cleaned_data["user"]
     points = self.cleaned_data["points"]
     reason = self.cleaned_data["reason"]
     award_points(user, points, reason=reason)
コード例 #37
0
 def setUp(self):
     self.setup_users(5)
     self.setup_points({
         "TEST_THIS_TAG": 10,
     })
     group = Group.objects.create(name="Eldarion")
     user = self.users[0]
     # award 40 now and 10 set three weeks ago
     award_points(group, "TEST_THIS_TAG")
     apv = award_points(group, "TEST_THIS_TAG")
     apv.timestamp = apv.timestamp - timedelta(days=14)
     apv.save()
     award_points(user, "TEST_THIS_TAG")
     award_points(user, "TEST_THIS_TAG")
     award_points(user, "TEST_THIS_TAG")
     award_points(user, "TEST_THIS_TAG")
     apv = award_points(user, "TEST_THIS_TAG")
     apv.timestamp = apv.timestamp - timedelta(days=21)
     apv.save()