示例#1
0
def valid_result_given_debate(debate):
    result = Result(debate=debate)
    result.ogsp1, result.ogsp2 = 90, 90
    result.oosp1, result.oosp2 = 80, 80
    result.cgsp1, result.cgsp2 = 70, 70
    result.cosp1, result.cosp2 = 60, 60

    result.og, result.oo, result.cg, result.co = 3, 2, 1, 0
    result.save()

    return result
示例#2
0
文件: views.py 项目: klusark/arch-ci
def add(request):
#	if get_client_ip(request) != "162.243.149.218":
#	return HttpResponse("NO AUTH\n");
	package = request.POST['package']
	repo = request.POST['repo']
	try:
		r = Result.objects.get(package=package, repo__name=repo)
	except Result.DoesNotExist:
		rep = Repo.objects.get(name=repo)
		r = Result(package=package, repo=rep)
		r.status = -1
		r.save()

	return HttpResponse("OK")
示例#3
0
def class_result_update(request, slug):
    subject = Subject.objects.get(slug=slug)
    if request.user != subject.teacher.user:
        return HttpResponse(
            "<h1>You are not allowed to access the given details<h1>")
    students = Student.objects.filter(
        current_standard=subject.standard).order_by('roll_number')
    examinations = Examination.objects.filter(standard=subject.standard)

    if request.method == 'POST':
        for student in students:
            for examination in examinations:
                exam = examination.name
                result = Result.objects.get(student=student,
                                            subject=subject,
                                            examination=examination)
                x = str(student.roll_number) + " " + exam.name
                marks = request.POST.get(x)
                try:
                    result.marks_secured = int(marks)
                except:
                    result.marks_secured = None
                result.save()
        return redirect('teachers:home')

    results = {}
    for student in students:
        results[student] = {}
        for examination in examinations:
            try:
                result = Result.objects.get(student=student,
                                            subject=subject,
                                            examination=examination)
            except Result.DoesNotExist:
                result = Result(student=student,
                                subject=subject,
                                examination=examination)
                result.save()
            results[student][examination] = result

    my_dict = {
        'results': results,
        'subject': subject,
        'students': students,
        'examinations': examinations,
        'size': str(len(examinations))
    }

    return render(request, 'teachers/update_result.html', context=my_dict)
示例#4
0
def valid_result_with_debate():
    debate = valid_debate()
    debate.save()
    result = Result(debate=debate)
    result.og = 0
    result.oo = 1
    result.cg = 2
    result.co = 3

    result.ogsp1 = 65
    result.ogsp2 = 66
    result.oosp1 = 67
    result.oosp2 = 68
    result.cgsp1 = 69
    result.cgsp2 = 70
    result.cosp1 = 71
    result.cosp2 = 72

    result.save()
    return result
def publish(request, qid):
	try:
		Naire = Questions()
		Naire.clean()
 		Naire.qid = qid
		Naire.read(get_object_or_404(Questionnaire, pk=qid).contents)
		result = []
		for x in xrange(1,Naire.count+1):
			if Naire.questionList[x-1].qtype == 'single':
				result.append([str(request.POST[str(x)])])
			elif Naire.questionList[x-1].qtype == 'multiply':
				rlist = request.REQUEST.getlist(str(x))
				if len(rlist)==0:
					raise Exception()
				m = []
				for r in rlist:
					m .append(r)
				result.append(m)
			elif Naire.questionList[x-1].qtype == 'judge':
				result.append([str(request.POST[str(x)])])
			elif Naire.questionList[x-1].qtype == 'essay':
				if str(request.POST[str(x)]) !=  '' or str(request.POST[str(x)]) !=' ':
					result.append([str(request.POST[str(x)])])

		auth = Authentication(request)
		user = auth.get_user()
		if user == None:
			user = "******"
			
		Questionnaire_answered = Questionnaire.objects.get(pk=qid)
		r = Result(questionnaire_id=Questionnaire_answered,participant_id=user,answer=str(result))
		#print str(result)
		r.save()
		return render(request, "homepage/message.html", {"message": AlertMessage("success", "Success!", "You have already posted your answers", "/naire"+str(qid)+"/results"),})
	except:
		q = get_object_or_404(Questionnaire, pk=qid)
		Naire = Questions()
		Naire.clean()
		Naire.qid = qid
		Naire.read(get_object_or_404(Questionnaire, pk=qid).contents)
		return render(request, 'results/answer.html',{'Questionnaire':q ,'naire':Naire ,'qid':qid, 'errorMsg':'Not finished yet!'})
def publish(request, qid):
	try:
		Naire = Questions()
		Naire.clean()
 		Naire.qid = qid

 		q = get_object_or_404(Questionnaire, pk=qid)		
 		if q.closed or not q.released:
			return render(request, "homepage/message.html", {"message": AlertMessage("danger", "Page 404!", "You have no right to answer this questionnaire!", "/"),})

		auth = Authentication(request)
		user = auth.get_user()

		if q.anonymous_limit and user == None:
			return render(request, "homepage/message.html", {"message": AlertMessage("danger", "Page 404!", "You have no right to answer this questionnaire!", "/"),})
		elif user != None:
			if q.permitobjects_limit != '[]':
				limitlist = eval(q.permitobjects_limit)
				if user.email in limitlist:
					pass
				else:
					return render(request, "homepage/message.html", {"message": AlertMessage("danger", "Page 404!", "You have no right to answer this questionnaire!", "/"),})
			if q.forbidobjects_limit != '[]':
				limitlist = eval(q.forbidobjects_limit)
				if user.email not in limitlist:
					pass
				else:
					return render(request, "homepage/message.html", {"message": AlertMessage("danger", "Page 404!", "You have no right to answer this questionnaire!", "/"),})

			rts = Result.objects.filter(questionnaire_id=qid)
			for r in rts:
				if r.participant_id == user.email:
					return render(request, "homepage/message.html", {"message": AlertMessage("warning", "Don't answer same naire twice!", "You've already answered this Questionnaire", "/"),})
		
		Naire.read(q.contents)
		result = []
		for x in xrange(1,Naire.count+1):
			if Naire.questionList[x-1].qtype == 'single':
				result.append([str(request.POST[str(x)])])
			elif Naire.questionList[x-1].qtype == 'multiply':
				rlist = request.REQUEST.getlist(str(x))
				if len(rlist)==0:
					raise Exception()
				m = []
				for r in rlist:
					m .append(r)
				result.append(m)
			elif Naire.questionList[x-1].qtype == 'judge':
				result.append([str(request.POST[str(x)])])
			elif Naire.questionList[x-1].qtype == 'essay':
				if str(request.POST[str(x)]) !=  '' or str(request.POST[str(x)]) !=' ':
					result.append([str(request.POST[str(x)])])

		email = ''
		if user == None:
			email = "*****@*****.**"
			Questionnaire_answered = Questionnaire.objects.get(pk=qid)
			r = Result(questionnaire_id=Questionnaire_answered,participant_id=email,answer=str(result))
			r.save()
			print email
			return render(request, "homepage/message.html", {"message": AlertMessage("success", "Success!", "You have already posted your answers", "/naire"+str(qid)+"/results"),})
		elif user != None:
			rts = Result.objects.filter(questionnaire_id=qid)
			for r in rts:
				if r.participant_id == user.email:
					print user.email
					return render(request, "homepage/message.html", {"message": AlertMessage("warning", "Don't answer same naire twice!", "You've already answered this Questionnaire", "/"),})
		Questionnaire_answered = Questionnaire.objects.get(pk=qid)
		r = Result(questionnaire_id=Questionnaire_answered,participant_id=user.email,answer=str(result))
		r.save()
		print user.email
		return render(request, "homepage/message.html", {"message": AlertMessage("success", "Success!", "You have already posted your answers", "/naire"+str(qid)+"/results"),})
	except:
		q = get_object_or_404(Questionnaire, pk=qid)
		Naire = Questions()
		Naire.clean()
		Naire.qid = qid
		Naire.read(get_object_or_404(Questionnaire, pk=qid).contents)
		# print 'f**k'
		return render(request, 'results/answer.html',{'Questionnaire':q ,'naire':Naire ,'qid':qid, 'errorMsg':'Not finished yet!'})