def download_private(request, attr_name, pk=None): if request.user.groups.filter(name='student'): profile = StudentProfile.objects.get(user=request.user) elif request.user.is_superuser: profile = StudentProfile.objects.get(pk=pk) else: return HttpResponseForbidden() if hasattr(profile, attr_name): return serve_file(request, getattr(profile, attr_name), save_as=False) else: return HttpResponseNotFound()
def download_contract(request, attr_name, contract, name): if hasattr(contract, attr_name): return serve_file(request, getattr(contract, attr_name), '%s.pdf' % getattr(contract, 'public_id', name)) else: return HttpResponseNotFound()