Example #1
0
File: views.py Project: awlzac/th
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)
Example #2
0
File: views.py Project: awlzac/th
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)