def index(request, template_name): """ This is the view for the travelcat index screen. Currently, travelcat's main purpose is: given minimal input from a user, (currently user's preferences and target area) generate list of desirable destinations. """ if request.user.is_active: return HttpResponseRedirect(reverse('travelcat:placedetail')+"?revalert") else: return thviews.toplevel(request, template_name)
def index(request, template_name): """ This is the view for the home memhammer screen. """ if request.user.is_active: vardict = {VK_USER:request.user} quizpools = [] mnqp = None userp = request.user.userprofile quizpools = userp.quizzes.all() #quizpools = QuizPool.objects.filter(owner__djuser = request.user) #quizpools = QuizPool.objects.filter(id__in == request.user.userprofile.quizzes) for qp in quizpools: qpents = Entry.objects.filter(quizpool=qp) qp.ent_tot = qpents.count() qp.ent_new = qpents.exclude( entrystats__user=userp).count() qp.ent_learning = Entry.objects.filter(quizpool=qp, entrystats__user=userp, entrystats__is_learning=True).count() qp.last_date = EntryStats.objects.filter(entry__quizpool=qp, user=userp).aggregate( Max('last_succ_date'))['last_succ_date__max'] qp.reviewitems = Entry.objects.filter(quizpool=qp, entrystats__user=userp, entrystats__is_learning=False, entrystats__next_review_date__lte=timezone.now()).count() qp.learned_pct = int(100 * (1 - (qp.ent_new + qp.ent_learning + qp.reviewitems) / qp.ent_tot)) if qp.last_date is None: qp.last_studied_date = "Never" # note, this will give preference to the *last* listed set # never studied mnqp = qp else: qp.last_studied_date = qp.last_date if mnqp is None or (mnqp.last_date is not None and qp.last_date < mnqp.last_date): mnqp = qp vardict.update({VK_USER:request.user, VK_POOLS:quizpools, VK_MOSTNEEDEDQP:mnqp}) vardict.update(thviews.get_extra_view_context()) addToVarDict(VK_MESSAGE, vardict, request.session) request.session[VK_MESSAGE]='' return render_to_response(template_name, RequestContext(request, vardict)) else: return thviews.toplevel(request, template_name)