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', []) })
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', []) })