Example #1
0
def activate_contest(request, contest):
    request.contest = contest
    set_cc_id(contest.id if contest else None)

    if not contest:
        return

    recent_contests = request.session.get('recent_contests', [])
    if not recent_contests or recent_contests[0] != contest.id:
        try:
            del recent_contests[recent_contests.index(contest.id)]
        except ValueError:
            pass
        recent_contests = [contest.id] + recent_contests
        recent_contests = \
            recent_contests[:getattr(settings, 'NUM_RECENT_CONTESTS', 5)]
        request.session['recent_contests'] = recent_contests

    if not request.real_user.is_anonymous() \
            and not request.session.get('first_view_after_logging', False):
        cv, created = ContestView.objects \
                .get_or_create(user=request.real_user, contest=contest)
        # Do not repeatedly update timestamp for latest contest.
        if cv != ContestView.objects.filter(user=request.real_user).latest() \
                or created:
            cv.timestamp = request.timestamp
            cv.save()
Example #2
0
 def response_delete(self, request):
     set_cc_id(None)
     return super(ContestAdmin, self).response_delete(request)
Example #3
0
 def response_delete(self, request):
     set_cc_id(None)
     return super(ContestAdmin, self).response_delete(request)
Example #4
0
def pytest_runtest_setup(item):
    set_cc_id(None)
Example #5
0
 def startTest(self, test):
     set_cc_id(None)