Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
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) + "/")
Esempio n. 4
0
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)
Esempio n. 5
0
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)