예제 #1
0
파일: test_tasks.py 프로젝트: tadgh/KW
    def test_locking_level_removes_level_from_unlocked_list(self):
        self.user.profile.unlocked_levels.get_or_create(level=7)
        self.user.profile.unlocked_levels.get_or_create(level=6)
        self.vocabulary.readings.create(level=6, kana="猫二", character="whatever2")

        lock_level_for_user(6, self.user)
        self.assertListEqual(self.user.profile.unlocked_levels_list(), [5, 7])
예제 #2
0
    def test_locking_level_removes_level_from_unlocked_list(self):
        self.user.profile.unlocked_levels.get_or_create(level=7)
        self.user.profile.unlocked_levels.get_or_create(level=6)
        self.vocabulary.readings.create(level=6, kana="猫二", character="whatever2")

        lock_level_for_user(6, self.user)
        self.assertListEqual(self.user.profile.unlocked_levels_list(), [5, 7])
예제 #3
0
    def test_locking_level_removes_all_reviews_at_that_level(self):
        self.vocabulary.readings.create(level=5, kana="猫", character="whatever")
        self.vocabulary.readings.create(level=5, kana="猫二", character="whatever2")

        lock_level_for_user(5, self.user)

        available_reviews = UserSpecific.objects.filter(user=self.user, vocabulary__readings__level=5).all()
        self.assertFalse(available_reviews)
예제 #4
0
파일: test_tasks.py 프로젝트: tadgh/KW
    def test_locking_level_removes_all_reviews_at_that_level(self):
        self.vocabulary.readings.create(level=5, kana="猫", character="whatever")
        self.vocabulary.readings.create(level=5, kana="猫二", character="whatever2")

        lock_level_for_user(5, self.user)

        available_reviews = UserSpecific.objects.filter(
            user=self.user, vocabulary__readings__level=5
        ).all()
        self.assertFalse(available_reviews)
예제 #5
0
    def lock(self, request, pk=None):
        requested_level = pk
        removed_count = lock_level_for_user(requested_level, request.user)
        if request.user.profile.level == int(requested_level):
            request.user.profile.follow_me = False
            request.user.profile.save()

        return Response({"locked": removed_count})
예제 #6
0
파일: views.py 프로젝트: tadgh/KW
    def lock(self, request, pk=None):
        requested_level = pk
        removed_count = lock_level_for_user(requested_level, request.user)
        if request.user.profile.level == int(requested_level):
            request.user.profile.follow_me = False
            request.user.profile.save()

        return Response({"locked": removed_count})
예제 #7
0
    def post(self, request, *args, **kwargs):
        user = self.request.user
        requested_level = request.POST['level']
        # if user locks their current level, prevent WK syncing new stuff.
        if user.profile.level == int(requested_level):
            user.profile.follow_me = False
            user.profile.save()
        removed_count = lock_level_for_user(requested_level, user)

        return HttpResponse("{} items removed from your study queue.".format(removed_count))