예제 #1
0
def afegirResposta(request):
    if request.method == 'POST':
        form = formulariResposta(request.POST)
        if form.is_valid():
            idPregunta = form.cleaned_data['idPregunta']
            respostes = form.cleaned_data['respostes']
            pregun = get_object_or_404(pregunta,pk=idPregunta)
            nota = 0
            correcte = 0
            incorrecte = 0
            arrayRespostesUsuari = respostes.split(',')
            #El model té una funció que retorna les respostes en un array
            arrayRespostesCorrectes = pregun.getRespostes()
            #Comprovació de les respostes
            if arrayRespostesCorrectes == arrayRespostesUsuari:
                nota = 10
                correcte = len(arrayRespostesCorrectes)
            else:
                
                for i in xrange(len(arrayRespostesCorrectes)):
                    if arrayRespostesCorrectes[i] == arrayRespostesUsuari[i]:
                        correcte= correcte+1
                    else:
                        incorrecte = incorrecte+1
                notaPerPregunta = 10/(correcte+incorrecte)
                nota = correcte*notaPerPregunta
            puntu = puntuacio()
            puntu.pregunta = pregun
            puntu.usuari = request.user
            puntu.notaUsuari = nota
            puntu.correctes = correcte
            puntu.incorrectes = incorrecte
            puntu.save()
            #Sumar punts si ha aprovat!
            if nota >= 5:
                useret = usuari.objects.filter(user = request.user).get()
                useret.punts = useret.punts+2
                useret.save()
                messages.info(request,'Has guanyat dos punts al contestar la pregunta')
            #messages.success(request,'Dades enviadades correctament')
            #preparem la llista de noms a enviar
            resposteta =  {"idPregunta": idPregunta, 
                            "nota": nota,
                            "correctes":correcte,
                            "incorrectes":incorrecte
                            }
        return HttpResponse(json.dumps(resposteta), content_type="application/json")
            
    else:
        messages.error(request,'No tens permís per veure això!')
        return HttpResponseRedirect(reverse('home'))
예제 #2
0
def modificarPreguntes(request):
    medalles = medallesUsuari.objects.filter(usuari = request.user)
    pot = False
    for m in medalles:
        if m.medalla.nomMedalla == 'EliminarPreguntes':
            pot = True
    
    if pot:
        if request.method == 'POST':
            form = formulariResposta(request.POST)
            if form.is_valid():
                idP=form.cleaned_data['id']
                enunP = form.cleaned_data['enunciat']
                form.save()
                messages.success(request,'Notificació enviada')
                #return HttpResponseRedirect(reverse('home'))
                msg = "ok"
            else:
                msg = "fail"
                messages.error(request, 'Hi ha hagut un error al notificar')
            return HttpResponse(msg)
    else:
        messages.error(request,'No tens permís per veure això!')
        return HttpResponseRedirect(reverse('home'))