Exemplo n.º 1
0
def seeques(request, useeques, slugtext):
    searchform = searchbox()
    if request.user.is_authenticated():
        ques = get_object_or_404(questions, pk=useeques)
        ques.views = ques.views + 1
        ques.save()
        ans = ques.answer_set.all()
        link = request.build_absolute_uri()
        return render(
            request, "userques.html", {
                "search": searchform,
                "headers": ques,
                "list": ans,
                "username": request.user,
                "link": link
            })
    else:
        ques = get_object_or_404(questions, pk=useeques)
        ques.views = ques.views + 1
        ques.save()
        ans = ques.answer_set.all()
        link = request.build_absolute_uri()
        return render(request, "ques.html", {
            "search": searchform,
            "headers": ques,
            "list": ans,
            "link": link
        })
Exemplo n.º 2
0
def postques(request):
    searchform = searchbox()
    if request.method == "POST":
        form = Ask(request.POST)
        if form.is_valid():
            sluged = slugify(form.cleaned_data["user_question"])
            currentq = questions(
                header=form.cleaned_data["user_question"].capitalize(),
                ucode=form.cleaned_data["question_code"],
                body=form.cleaned_data["question_body"],
                user=request.user,
                dateqtime=datetime.now(),
                slug=sluged)
            currentq.save()
            return redirect(
                reverse("seeques",
                        kwargs={
                            "useeques": currentq.id,
                            "slugtext": sluged
                        }))
        else:
            return render(request, "useraskques.html", {
                "search": searchform,
                "username": request.user,
                "form": form
            })
    else:
        form = Ask()
        return render(request, "useraskques.html", {
            "search": searchform,
            "username": request.user,
            "form": form
        })
Exemplo n.º 3
0
def homepage(request):
    aulogout(request)
    searchform = searchbox()
    queslist = questions.objects.defer("body",
                                       "ucode").order_by("-dateqtime")[0:10]
    hotlist = questions.objects.defer("body", "ucode").order_by("-views")[0:10]
    return render(request, "index.html", {
        "list": queslist,
        "hotlist": hotlist,
        "search": searchform
    })
Exemplo n.º 4
0
def searchengine(request):
    hotlist = questions.objects.defer("body", "ucode").order_by("-reply")[0:10]
    searchform = searchbox(request.GET)
    if searchform.is_valid():
        limit = questions.objects.annotate(
            search=SearchVector("body", "header", "ucode")).filter(
                search=searchform.cleaned_data["searchinfo"]).count()
        page = request.GET.get("page")
        totalpages = int(ceil(limit / 10.0))
        last = limit % 10
        try:
            page = int(page)
            if page <= limit and page >= 0:
                currentpage = (page / 10) + 1
                searchlist = questions.objects.annotate(
                    search=SearchVector("body", "header", "ucode")).filter(
                        search=searchform.cleaned_data["searchinfo"]
                    )[page:page + 10]
                npage = page + 10
                ppage = page - 10
            else:
                currentpage = totalpages
                searchlist = questions.objects.annotate(
                    search=SearchVector("body", "header", "ucode")).filter(
                        search=searchform.cleaned_data["searchinfo"]
                    )[limit - last:limit]
                npage = 10
                ppage = limit - last - 10
        except:
            currentpage = 1
            searchlist = questions.objects.annotate(
                search=SearchVector("body", "header", "ucode")).filter(
                    search=searchform.cleaned_data["searchinfo"])[0:10]
            npage = 10
            ppage = -10
        return render(
            request, "search.html", {
                "search": searchform,
                "list": hotlist,
                "contacts": searchlist,
                "username": request.user,
                "srch": searchform.cleaned_data["searchinfo"],
                "page": npage,
                "totalpages": totalpages,
                "current": currentpage,
                "previouspage": ppage
            })
    else:
        raise Http404
Exemplo n.º 5
0
def answersub(request, uanswersub):
    searchform = searchbox()
    ques = get_object_or_404(questions, pk=uanswersub)
    if request.method == "POST":
        form = Answer(request.POST)
        if form.is_valid():
            answer.objects.create(question=ques,
                                  userans=request.user,
                                  answer=form.cleaned_data["answer"],
                                  acode=form.cleaned_data["answer_code"],
                                  datentime=datetime.now())
            ques.reply = ques.reply + 1
            ques.save()
            return redirect(
                reverse("seeques",
                        kwargs={
                            "useeques": ques.id,
                            "slugtext": ques.slug
                        }))
        else:
            return render(
                request, "answerform.html", {
                    "search": searchform,
                    "question": ques,
                    "username": request.user,
                    "form": form
                })
    else:
        form = Answer()
        return render(
            request, "answerform.html", {
                "search": searchform,
                "question": ques,
                "username": request.user,
                "form": form
            })
Exemplo n.º 6
0
def indexnav(request, choice):
    aulogout(request)
    searchform = searchbox()
    hotlist = questions.objects.defer("body", "ucode").order_by("-reply")[0:10]
    if choice == "new":
        page = request.GET.get("page")
        limit = questions.objects.count()
        totalpages = int(ceil(limit / 10.0))
        last = limit % 10
        try:
            page = int(page)
            if page <= limit and page >= 0:
                currentpage = (page / 10) + 1
                queslist = questions.objects.defer(
                    "body", "ucode").order_by("-dateqtime")[page:page + 10]
                npage = page + 10
                ppage = page - 10
            else:
                currentpage = totalpages
                queslist = questions.objects.defer(
                    "body", "ucode").order_by("-dateqtime")[limit - last:limit]
                npage = 10
                ppage = limit - last - 10
        except:
            currentpage = 1
            queslist = questions.objects.defer(
                "body", "ucode").order_by("-dateqtime")[0:10]
            npage = 10
            ppage = -10
        return render(
            request, "indexqueslist.html", {
                "contacts": queslist,
                "search": searchform,
                "choice": "new",
                "page": npage,
                "totalpages": totalpages,
                "current": currentpage,
                "previouspage": ppage,
                "hotlist": hotlist
            })
    elif choice == "top":
        page = request.GET.get("page")
        limit = questions.objects.count()
        totalpages = int(ceil(limit / 10.0))
        last = limit % 10
        try:
            page = int(page)
            if page <= limit and page >= 0:
                currentpage = (page / 10) + 1
                queslist = questions.objects.defer(
                    "body", "ucode").order_by("-views")[page:page + 10]
                npage = page + 10
                ppage = page - 10
            else:
                currentpage = totalpages
                queslist = questions.objects.defer(
                    "body", "ucode").order_by("-views")[limit - last:limit]
                npage = 10
                ppage = limit - last - 10
        except:
            currentpage = 1
            queslist = questions.objects.defer(
                "body", "ucode").order_by("-views")[0:10]
            npage = 10
            ppage = -10
        return render(
            request, "indexqueslist.html", {
                "contacts": queslist,
                "search": searchform,
                "choice": "top",
                "page": npage,
                "totalpages": totalpages,
                "current": currentpage,
                "previouspage": ppage,
                "hotlist": hotlist
            })
    else:
        raise Http404