Exemple #1
0
def view_dashboard(request, me):
    announcements = []
    try:
        board = DiscussionBoard.objects.get(slug="news")
        topics = list(DiscussionTopic.objects.filter(board=board, hidden=False))[:5]
        for t in topics:
            announcements.append( (DiscussionPost.objects.filter(topic=t, hidden=False)[0]) )
    except: pass
    return render(request,
                  "dashboard.html",
                  {'challenges': Challenge.show_for(me),
                   'announcements': announcements,
                   'alerts': request.session.pop('alerts', []) })
Exemple #2
0
def user_profile(request, username):
    try: student = User.objects.get(username=username).student
    except exceptions.ObjectDoesNotExist:
        request.session["alerts"].append(("alert-error","That user does not exist."))
        return redirect("index")
    me = Student.from_request(request)
    
    if request.method == "POST":
        if me.ta and "ban" in request.POST:
            student.banned = not student.banned
            student.agreed = False
            student.save()
        return redirect("profile", username=username)
    
    return render(request,
                  "profile.html",
                  {'student': student,
                   'challenges': Challenge.show_for(student),
                   'published': CodeSubmission.objects.filter(published__gt=0, student=student).order_by('-timestamp'),
                   'alerts': request.session.pop('alerts', []) })