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 })
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 })
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 })
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
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 })
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