コード例 #1
0
ファイル: views.py プロジェクト: hcxiong/wouso
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'
    })
コード例 #2
0
ファイル: views.py プロジェクト: ArmandNM/wouso
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'})
コード例 #3
0
ファイル: views.py プロジェクト: alexef/wouso-1
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))
コード例 #4
0
ファイル: views.py プロジェクト: vladfulgeanu/wouso
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))
コード例 #5
0
ファイル: views.py プロジェクト: jessepollak/wouso
    def post(self, request, *args, **kwargs):
        if self.qotd is None:
            form = None
        else:
            form = QotdForm(self.qotd, request.POST)
            if form.is_valid():
                choice = int(form.cleaned_data["answers"])
                QotdGame.answered(self.qotd_user, self.qotd, choice)
                return redirect("games.qotd.views.done")

        return render_to_response(
            "qotd/index.html", {"question": self.qotd, "form": form}, context_instance=RequestContext(request)
        )
コード例 #6
0
ファイル: views.py プロジェクト: ArmandNM/wouso
    def post(self, request, *args, **kwargs):
        if self.qotd is None:
            form = None
        else:
            form = QotdForm(self.qotd, request.POST)
            if form.is_valid():
                choice = int(form.cleaned_data['answers'])
                QotdGame.answered(self.qotd_user, self.qotd, choice)
                return redirect('games.qotd.views.done')

        return render_to_response('qotd/index.html',
                                  {'question': self.qotd, 'form': form},
                                  context_instance=RequestContext(request))
コード例 #7
0
ファイル: views.py プロジェクト: flaviusanton/wouso
    def post(self, request, *args, **kwargs):
        if self.qotd is None:
            form = None
        else:
            form = QotdForm(self.qotd, request.POST)
            if form.is_valid():
                choice = int(form.cleaned_data['answers'])
                QotdGame.answered(self.qotd_user, self.qotd, choice)
                return redirect('games.qotd.views.done')

        return render_to_response('qotd/index.html', {
            'question': self.qotd,
            'form': form
        },
                                  context_instance=RequestContext(request))
コード例 #8
0
ファイル: views.py プロジェクト: dragoscalinescu/wouso
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))
コード例 #9
0
ファイル: views.py プロジェクト: tiriplicamihai/wouso
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)
    )
コード例 #10
0
ファイル: views.py プロジェクト: ArmandNM/wouso
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))
コード例 #11
0
ファイル: views.py プロジェクト: flaviusanton/wouso
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))
コード例 #12
0
ファイル: views.py プロジェクト: alexef/wouso-1
def sidebar_widget(request):
    qotd = QotdGame.get_for_today()
    qotd_user = request.user.get_profile().get_extension(QotdUser)

    if qotd_user.has_answered:
        time_passed = datetime.now() - qotd_user.last_answered
        if time_passed > timedelta(seconds=120): # two minutes
            return ''
    return render_to_string('qotd/sidebar.html', {'question': qotd, 'quser': qotd_user, 'qotd': QotdGame})
コード例 #13
0
 def read(self, request):
     question = QotdGame.get_for_today()
     try:
         qotduser = request.user.get_profile().get_extension(QotdUser)
     except models.Model.DoesNotExist:
         raise Http404()
     if question:
         return {'text': question.text, 'answers': dict([(a.id, a.text) for a in question.answers]),
                 'had_answered': qotduser.has_answered}
     return {}
コード例 #14
0
ファイル: views.py プロジェクト: TomyRO/wouso
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))
コード例 #15
0
ファイル: views.py プロジェクト: tiriplicamihai/wouso
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)
    )
コード例 #16
0
ファイル: views.py プロジェクト: Ciocirlan/wouso
    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)
コード例 #17
0
ファイル: views.py プロジェクト: vladfulgeanu/wouso
def sidebar_widget(request):
    qotd = QotdGame.get_for_today()
    qotd_user = request.user.get_profile().get_extension(QotdUser)

    if qotd_user.has_answered:
        time_passed = datetime.now() - qotd_user.last_answered
        if time_passed > timedelta(seconds=120):  # two minutes
            return ''
    return render_string('qotd/sidebar.html', {
        'question': qotd,
        'quser': qotd_user,
        'qotd': QotdGame
    })
コード例 #18
0
ファイル: views.py プロジェクト: tiriplicamihai/wouso
def sidebar_widget(request):
    qotd = QotdGame.get_for_today()
    qotd_user = request.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})
コード例 #19
0
ファイル: views.py プロジェクト: flaviusanton/wouso
    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)
コード例 #20
0
ファイル: views.py プロジェクト: dragoscalinescu/wouso
def sidebar_widget(request):
    # TODO: nothing should happen in the sidebar_widget
    qotd = QotdGame.get_for_today()
    qotd_user = request.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})
コード例 #21
0
 def create(self, request):
     question = QotdGame.get_for_today()
     try:
         qotduser = request.user.get_profile().get_extension(QotdUser)
     except models.Model.DoesNotExist:
         raise Http404()
     if not question:
         return {'success': False, 'error': 'No question for today'}
     if qotduser.has_answered:
         return {'success': False, 'error': 'User already answered'}
     attrs = self.flatten_dict(request.data)
     if 'answer' not in attrs.keys():
         return {'success': False, 'error': 'Answer not provided'}
     try:
         answer_id = int(attrs['answer'])
         answer = Answer.objects.get(pk=answer_id)
     except ValueError, Answer.DoesNotExist:
         return {'success': False, 'error': 'Invalid answer'}
コード例 #22
0
ファイル: api.py プロジェクト: AndreiRO/wouso
 def create(self, request):
     question = QotdGame.get_for_today()
     try:
         qotduser = request.user.get_profile().get_extension(QotdUser)
     except models.Model.DoesNotExist:
         raise Http404()
     if not question:
         return {'success': False, 'error': 'No question for today'}
     if qotduser.has_answered:
         return {'success': False, 'error': 'User already answered'}
     attrs = self.flatten_dict(request.data)
     if 'answer' not in attrs.keys():
         return {'success': False, 'error': 'Answer not provided'}
     try:
         answer_id = int(attrs['answer'])
         answer = Answer.objects.get(pk=answer_id)
     except ValueError, Answer.DoesNotExist:
         return {'success': False, 'error': 'Invalid answer'}
コード例 #23
0
ファイル: views.py プロジェクト: jessepollak/wouso
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 ""
    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"})
コード例 #24
0
ファイル: views.py プロジェクト: dragoscalinescu/wouso
def sidebar_widget(request):
    # TODO: nothing should happen in the sidebar_widget
    qotd = QotdGame.get_for_today()
    qotd_user = request.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
    })
コード例 #25
0
ファイル: views.py プロジェクト: flaviusanton/wouso
def history(request):
    return render_to_response('qotd/history.html',
                              {'history': QotdGame.get_history()},
                              context_instance=RequestContext(request))
コード例 #26
0
ファイル: views.py プロジェクト: ArmandNM/wouso
def history(request):
    return render_to_response(
        'qotd/history.html',
        {'history': QotdGame.get_history()},
        context_instance=RequestContext(request))
コード例 #27
0
ファイル: views.py プロジェクト: jessepollak/wouso
def history(request):
    return render_to_response(
        "qotd/history.html", {"history": QotdGame.get_history()}, context_instance=RequestContext(request)
    )