Example #1
0
def solution_download(request,solution_id):
	solution = get_object_or_404(Solution, pk=solution_id)	
	if (not (solution.author == request.user or in_group(request.user,'Trainer,Tutor'))):
		return access_denied(request)
	zip_file = get_solutions_zip([solution])
	response = HttpResponse(zip_file.read(), mimetype="application/zip")
	response['Content-Disposition'] = 'attachment; filename=Solution.zip'
	return response
Example #2
0
def solution_download(request,solution_id,full):
	solution = get_object_or_404(Solution, pk=solution_id)	
        if (not (solution.author == request.user or request.user.is_tutor or request.user.is_trainer)):
		return access_denied(request)
	zip_file = get_solutions_zip([solution], full and (request.user.is_tutor or request.user.is_trainer))
	response = HttpResponse(zip_file.read(), content_type="application/zip")
	response['Content-Disposition'] = 'attachment; filename=Solution.zip'
	return response
Example #3
0
def solution_download(request, solution_id):
    solution = get_object_or_404(Solution, pk=solution_id)
    if (not (solution.author == request.user
             or in_group(request.user, 'Trainer,Tutor'))):
        return access_denied(request)
    zip_file = get_solutions_zip([solution])
    response = HttpResponse(zip_file.read(), mimetype="application/zip")
    response['Content-Disposition'] = 'attachment; filename=Solution.zip'
    return response
Example #4
0
def solution_download_for_task(request, task_id):
	if (not in_group(request.user,'Trainer,Tutor')):
		return access_denied(request)

	task = get_object_or_404(Task, pk=task_id)
	solutions = task.solution_set.filter(final=True)
	if not in_group(request.user,'Trainer'):
		solutions = solutions.filter(author__tutorial__id__in=request.user.tutored_tutorials.values_list('id', flat=True))
	zip_file = get_solutions_zip(solutions)
	response = HttpResponse(zip_file.read(), mimetype="application/zip")
	response['Content-Disposition'] = 'attachment; filename=Solutions.zip'
	return response
Example #5
0
def solution_download_for_task(request, task_id,full):
	if not (request.user.is_tutor or request.user.is_trainer):
		return access_denied(request)

	task = get_object_or_404(Task, pk=task_id)
	solutions = task.solution_set.filter(final=True)
        if not request.user.is_trainer:
		solutions = solutions.filter(author__tutorial__id__in=request.user.tutored_tutorials.values_list('id', flat=True))
	zip_file = get_solutions_zip(solutions,full)
	response = HttpResponse(zip_file.read(), content_type="application/zip")
	response['Content-Disposition'] = 'attachment; filename=Solutions.zip'
	return response