def compobidragview(request, composlug): c = {} if not request.user.is_authenticated() or not user_is_crew(request.user): return HttpResponseForbidden() # fetch compo try: theCompo = Compo.objects.get(pk=composlug) except Compo.DoesNotExist: raise Http404("Compo was not found") # is the compo published? if not theCompo.isPublished: return HttpResponseRedirect("/?error=1") c['pageTitle'] = theCompo.name c['compo'] = theCompo c['bidrags'] = theCompo.get_bidrag() c['isLoggedin'] = True c['user'] = request.user c['isCrew'] = user_is_crew(request.user) if request.GET.get("shighvote"): c['bidrags'] = Bidrag.objects.order_by("-votes") return render(request, 'compos/see_bidrags.html', c)
def composinglebidragview(request, composlug, bidragslug): c = {} if request.user.is_authenticated() is False: return HttpResponseForbidden("You are not logged in") # fetch compo and bidrag try: theCompo = Compo.objects.get(pk=composlug) theBidrag = Bidrag.objects.get(id=bidragslug, compo=theCompo) except Compo.DoesNotExist: raise Http404("Compo was not found") except Bidrag.DoesNotExist: raise Http404("Bidrag was not found") # is the compo published? if not theCompo.isPublished: return HttpResponseRedirect("/?error=1") isOwner = (request.user.id == theBidrag.creator.id) # Check if user in session has access to this page. # Only crew or uploader can view. # When in voting mode, everyone can view an bidrag. if not theCompo.isVotingMode and not user_is_crew(request.user) and not isOwner: return HttpResponseForbidden("No access") # No access to view this.. # Set params for view c['pageTitle'] = theBidrag.name + ' / ' + theCompo.name c['compo'] = theCompo c['bidrag'] = theBidrag c['bnumfiles'] = theBidrag.get_num_files() c['bfiles'] = theBidrag.get_files() c['isLoggedin'] = True c['user'] = request.user c['isCrew'] = user_is_crew(request.user) c['hasAccess'] = True # Access forbidden is be catched over c['compoIsVoting'] = theCompo.isVotingMode # Show success message? if request.GET.get("uploaded", False): c['successMessage'] = "Ditt bidrag har blitt innlevert!" # Show error message? if request.GET.get("error"): c['errorMessage'] = "Du har allerede levert et bidrag!" return render(request, 'compos/view_bidrag.html', c)
def bidrageditsave(request, composlug, bidragslug): c = {} if not request.user.is_authenticated(): return HttpResponseForbidden() # fetch compo try: theCompo = Compo.objects.get(pk=composlug) theBidrag = Bidrag.objects.get(id=bidragslug, compo=theCompo) except Compo.DoesNotExist: raise Http404("Compo was not found") except Bidrag.DoesNotExist: raise Http404("Bidrag was not found") isOwner = (request.user.id == theBidrag.creator.id) # Check if user in session has access to this page. # Only crew or uploader can view. if not user_is_crew(request.user) and not isOwner: return HttpResponseForbidden("No access") # No access to view this.. # Save this bidrag theBidrag.name = request.POST["title"] theBidrag.data = request.POST["data"] theBidrag.save() # Redir to compo return HttpResponseRedirect("/view/" + str(theCompo.id) + "/b/" + str(theBidrag.id) + "/")
def compovotingview(request, c): # User has already sent bidrag? if request.user.is_authenticated(): c['isLoggedin'] = True c['user'] = request.user c['isCrew'] = user_is_crew(request.user) return render(request, 'compos/voting.html', c)
def componormalview(request, c): theCompo = c['compo'] # User has already sent bidrag? if request.user.is_authenticated(): c['isLoggedin'] = True c['user'] = request.user c['isCrew'] = user_is_crew(request.user) bidragUserCompo = Bidrag.objects.filter(compo=theCompo, creator=request.user) if bidragUserCompo.count() > 0: bidragUserCompo = bidragUserCompo[0] c['userHasBidragID'] = bidragUserCompo return render(request, 'compos/view.html', c)