Exemplo n.º 1
0
def done(request):
    if QotdGame.disabled():
        return redirect('wouso.interface.views.homepage')
    # Do not show results until done
    if not request.user.get_profile().get_extension(QotdUser).has_answered:
        return redirect('games.qotd.views.history')

    user = request.user.get_profile().get_extension(QotdUser)
    qotd = user.my_question

    if not qotd:
        return redirect("homepage")

    choice = user.last_answer
    ans = [a for a in qotd.answers if a.id == choice]
    if ans:
        ans = ans[0]
        valid = ans.correct
    else:
        ans = None
        valid = False

    return render_to_response('qotd/done.html', {
        'question': qotd,
        'choice': ans,
        'valid': valid,
    },
                              context_instance=RequestContext(request))
Exemplo n.º 2
0
def sidebar_widget(context):
    # TODO: nothing should happen in the sidebar_widget
    user = context.get('user', None)
    if not user or not user.is_authenticated():
        return ''

    if QotdGame.disabled():
        return ''
    qotd = QotdGame.get_for_today()
    qotd_user = user.get_profile().get_extension(QotdUser)

    if not qotd_user.has_question:
        qotd_user.set_question(qotd)
    else:
        qotd = qotd_user.my_question

    if qotd_user.has_answered:
        time_passed = datetime.now() - qotd_user.last_answered
        qotd_user.reset_question()
        if time_passed > timedelta(seconds=120):  # two minutes
            return ''
    return render_to_string('qotd/sidebar.html', {
        'question': qotd,
        'quser': qotd_user,
        'qotd': QotdGame,
        'id': 'qotd'
    })
Exemplo n.º 3
0
def sidebar_widget(context):
    # TODO: nothing should happen in the sidebar_widget
    user = context.get('user', None)
    if not user or not user.is_authenticated():
        return ''

    if QotdGame.disabled():
        return ''
    qotd = QotdGame.get_for_today()
    qotd_user = user.get_profile().get_extension(QotdUser)

    if not qotd_user.has_question:
        qotd_user.set_question(qotd)
    else:
        qotd = qotd_user.my_question

    if qotd_user.has_answered:
        time_passed = datetime.now() - qotd_user.last_answered
        qotd_user.reset_question()
        if time_passed > timedelta(seconds=120):  # two minutes
            return ''
    return render_to_string('qotd/sidebar.html',
                            {'question': qotd,
                             'quser': qotd_user,
                             'qotd': QotdGame,
                             'id': 'qotd'})
Exemplo n.º 4
0
def done(request):
    if QotdGame.disabled():
        return redirect('wouso.interface.views.homepage')
    # Do not show results until done
    if not request.user.get_profile().get_extension(QotdUser).has_answered:
        return redirect('games.qotd.views.history')

    user = request.user.get_profile().get_extension(QotdUser)
    qotd = user.my_question

    if not qotd:
        return redirect("homepage")

    choice = user.last_answer
    ans = [a for a in qotd.answers if a.id == choice]
    if ans:
        ans = ans[0]
        valid = ans.correct
    else:
        ans = None
        valid = False

    return render_to_response('qotd/done.html',
                              {'question': qotd,
                               'choice': ans,
                               'valid': valid},
                              context_instance=RequestContext(request))
Exemplo n.º 5
0
def index(request):
    if QotdGame.disabled():
        return HttpResponseRedirect(reverse('wouso.interface.views.homepage'))
    qotd = QotdGame.get_for_today()

    profile = request.user.get_profile()
    qotd_user = profile.get_extension(QotdUser)

    if qotd_user.has_answered:
        return HttpResponseRedirect(reverse('games.qotd.views.done'))

    if qotd is None:
        form = None

    elif request.method == "POST":
        form = QotdForm(qotd, request.POST)
        if form.is_valid():
            choice = int(form.cleaned_data['answers'])
            QotdGame.answered(qotd_user, qotd, choice)

            return HttpResponseRedirect(reverse('games.qotd.views.done'))
    else:
        form = QotdForm(qotd)

    return render_to_response('qotd/index.html',
            {'question': qotd, 'form': form},
            context_instance=RequestContext(request))
Exemplo n.º 6
0
def index(request):
    if QotdGame.disabled():
        return HttpResponseRedirect(reverse('wouso.interface.views.homepage'))
    qotd = QotdGame.get_for_today()

    profile = request.user.get_profile()
    qotd_user = profile.get_extension(QotdUser)

    if qotd_user.has_answered:
        return HttpResponseRedirect(reverse('games.qotd.views.done'))

    if qotd is None:
        form = None

    elif request.method == "POST":
        form = QotdForm(qotd, request.POST)
        if form.is_valid():
            choice = int(form.cleaned_data['answers'])
            QotdGame.answered(qotd_user, qotd, choice)

            return HttpResponseRedirect(reverse('games.qotd.views.done'))
    else:
        form = QotdForm(qotd)

    return render_to_response('qotd/index.html', {
        'question': qotd,
        'form': form
    },
                              context_instance=RequestContext(request))
Exemplo n.º 7
0
def done(request):
    if QotdGame.disabled():
        return HttpResponseRedirect(reverse("wouso.interface.views.homepage"))
    # Do not show results until done
    if not request.user.get_profile().get_extension(QotdUser).has_answered:
        return HttpResponseRedirect(reverse("games.qotd.views.index"))

    user = request.user.get_profile().get_extension(QotdUser)
    qotd = user.my_question

    if not qotd:
        return redirect("homepage")

    choice = user.last_answer
    ans = [a for a in qotd.answers if a.id == choice]
    if ans:
        ans = ans[0]
        valid = ans.correct
    else:
        ans = None
        valid = False

    return render_to_response(
        "qotd/done.html", {"question": qotd, "choice": ans, "valid": valid}, context_instance=RequestContext(request)
    )
Exemplo n.º 8
0
def index(request):
    if QotdGame.disabled():
        return HttpResponseRedirect(reverse('wouso.interface.views.homepage'))

    profile = request.user.get_profile()
    qotd_user = profile.get_extension(QotdUser)

    if qotd_user.magic.has_modifier('qotd-blind'):
        messages.error(
            request,
            _("You have been blinded,you cannot answer to the Question of the Day"
              ))
        return redirect('games.qotd.views.history')
    elif not qotd_user.has_question:
        qotd = QotdGame.get_for_today()
        qotd_user.set_question(qotd)
    else:
        qotd = qotd_user.my_question

    if qotd_user.has_answered:
        qotd_user.reset_question()
        extra = request.GET.urlencode()
        if extra:
            extra = '?' + extra
        return HttpResponseRedirect(
            reverse('games.qotd.views.history') + extra)

    if qotd is None:
        form = None

    elif request.method == "POST":
        form = QotdForm(qotd, request.POST)
        if form.is_valid():
            choice = int(form.cleaned_data['answers'])
            QotdGame.answered(qotd_user, qotd, choice)
            extra = request.GET.urlencode()
            if extra:
                extra = '?' + extra
            return HttpResponseRedirect(
                reverse('games.qotd.views.done') + extra)
    else:
        form = QotdForm(qotd)

    return render_to_response('qotd/index.html', {
        'question': qotd,
        'form': form
    },
                              context_instance=RequestContext(request))
Exemplo n.º 9
0
def index(request):
    if QotdGame.disabled():
        return HttpResponseRedirect(reverse('wouso.interface.views.homepage'))

    profile = request.user.get_profile()
    qotd_user = profile.get_extension(QotdUser)
    
    if qotd_user.has_modifier('qotd-blind'):
        return render_to_response('qotd/index.html', {"error":_("You have been blinded,you cannot answer to the Question of the Day")}, context_instance=RequestContext(request))

    if not qotd_user.has_question:
        qotd = QotdGame.get_for_today()
        qotd_user.set_question(qotd)
    else:
        qotd = qotd_user.my_question

    if qotd_user.has_answered:
        qotd_user.reset_question()
        extra = request.GET.urlencode()
        if extra:
            extra = '?' + extra
        return HttpResponseRedirect(reverse('games.qotd.views.done') + extra)

    if qotd is None:
        form = None

    elif request.method == "POST":
        form = QotdForm(qotd, request.POST)
        if form.is_valid():
            choice = int(form.cleaned_data['answers'])
            QotdGame.answered(qotd_user, qotd, choice)
            extra = request.GET.urlencode()
            if extra:
                extra = '?' + extra
            return HttpResponseRedirect(reverse('games.qotd.views.done') + extra)
    else:
        form = QotdForm(qotd)

    return render_to_response('qotd/index.html',
            {'question': qotd, 'form': form},
            context_instance=RequestContext(request))
Exemplo n.º 10
0
def index(request):
    if QotdGame.disabled():
        return HttpResponseRedirect(reverse("wouso.interface.views.homepage"))

    profile = request.user.get_profile()
    qotd_user = profile.get_extension(QotdUser)

    if qotd_user.magic.has_modifier("qotd-blind"):
        messages.error(request, _("You have been blinded,you cannot answer to the Question of the Day"))
        return redirect("games.qotd.views.history")
    elif not qotd_user.has_question:
        qotd = QotdGame.get_for_today()
        qotd_user.set_question(qotd)
    else:
        qotd = qotd_user.my_question

    if qotd_user.has_answered:
        qotd_user.reset_question()
        extra = request.GET.urlencode()
        if extra:
            extra = "?" + extra
        return HttpResponseRedirect(reverse("games.qotd.views.done") + extra)

    if qotd is None:
        form = None

    elif request.method == "POST":
        form = QotdForm(qotd, request.POST)
        if form.is_valid():
            choice = int(form.cleaned_data["answers"])
            QotdGame.answered(qotd_user, qotd, choice)
            extra = request.GET.urlencode()
            if extra:
                extra = "?" + extra
            return HttpResponseRedirect(reverse("games.qotd.views.done") + extra)
    else:
        form = QotdForm(qotd)

    return render_to_response(
        "qotd/index.html", {"question": qotd, "form": form}, context_instance=RequestContext(request)
    )
Exemplo n.º 11
0
    def dispatch(self, request, *args, **kwargs):
        if QotdGame.disabled():
            return redirect('wouso.interface.views.homepage')

        profile = request.user.get_profile()
        self.qotd_user = profile.get_extension(QotdUser)

        if self.qotd_user.magic.has_modifier('qotd-blind'):
            messages.error(request, _("You have been blinded, you cannot answer to the Question of the Day"))
            return redirect('games.qotd.views.history')
        elif not self.qotd_user.has_question:
            self.qotd = QotdGame.get_for_today()
            self.qotd_user.set_question(self.qotd)
        else:
            self.qotd = self.qotd_user.my_question

        if self.qotd_user.has_answered:
            self.qotd_user.reset_question()
            return redirect('games.qotd.views.history')

        return super(QotdView, self).dispatch(request, *args, **kwargs)
Exemplo n.º 12
0
    def dispatch(self, request, *args, **kwargs):
        if QotdGame.disabled():
            return redirect('wouso.interface.views.homepage')

        profile = request.user.get_profile()
        self.qotd_user = profile.get_extension(QotdUser)

        if self.qotd_user.magic.has_modifier('qotd-blind'):
            messages.error(
                request,
                _("You have been blinded, you cannot answer to the Question of the Day"
                  ))
            return redirect('games.qotd.views.history')
        elif not self.qotd_user.has_question:
            self.qotd = QotdGame.get_for_today()
            self.qotd_user.set_question(self.qotd)
        else:
            self.qotd = self.qotd_user.my_question

        if self.qotd_user.has_answered:
            self.qotd_user.reset_question()
            return redirect('games.qotd.views.history')

        return super(QotdView, self).dispatch(request, *args, **kwargs)