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