diff --git a/contracts/views.py b/contracts/views.py index c2b4915607a99dc6a8d22195767536125c611a86..2c57b6f0c755bd3cd8bced2a88de7641c2ee3b6e 100644 --- a/contracts/views.py +++ b/contracts/views.py @@ -4,7 +4,7 @@ import requests from django.conf import settings from django.core.paginator import Paginator from django.http import HttpResponse -from django.shortcuts import render +from django.shortcuts import get_object_or_404, render from django_downloadview import ObjectDownloadView from django_http_exceptions import HTTPExceptions from guardian.shortcuts import get_objects_for_user @@ -89,10 +89,12 @@ def view_contract(request, id: int): if not request.user.has_perm("contracts.view_confidential"): filter["is_public"] = True - contract = ( - get_objects_for_user(request.user, "contracts.view_contract") - .filter(**filter) - .get(id=id) + contract = get_object_or_404( + ( + get_objects_for_user(request.user, "contracts.view_contract") + .filter(**filter) + ), + id=id ) return render( @@ -111,9 +113,10 @@ def view_contract(request, id: int): def view_contract_filing_area(request, id: int): - filing_area = get_objects_for_user( - request.user, "contracts.view_contractfilingarea" - ).get(id=id) + filing_area = get_object_or_404( + get_objects_for_user(request.user, "contracts.view_contractfilingarea"), + id=id + ) contracts_page, contracts_paginator = get_paginated_contracts( request, {"filing_area": filing_area} @@ -137,7 +140,8 @@ def view_contract_filing_area(request, id: int): def view_contract_issue(request, id: int): - issue = get_objects_for_user(request.user, "contracts.view_contractissue").get( + issue = get_object_or_404( + get_objects_for_user(request.user, "contracts.view_contractissue"), id=id ) @@ -160,7 +164,10 @@ def view_contract_issue(request, id: int): def view_contract_type(request, id: int): - type_ = get_objects_for_user(request.user, "contracts.view_contracttype").get(id=id) + type_ = get_object_or_404( + get_objects_for_user(request.user, "contracts.view_contracttype"), + id=id + ) contracts_page, contracts_paginator = get_paginated_contracts( request, {"types": type_} @@ -181,7 +188,8 @@ def view_contract_type(request, id: int): def view_contractee(request, id: int): - contractee = get_objects_for_user(request.user, "contracts.view_contractee").get( + contractee = get_object_or_404( + get_objects_for_user(request.user, "contracts.view_contractee"), id=id ) @@ -204,7 +212,10 @@ def view_contractee(request, id: int): def view_signee(request, id: int): - signee = get_objects_for_user(request.user, "contracts.view_signee").get(id=id) + signee = get_object_or_404( + get_objects_for_user(request.user, "contracts.view_signee"), + id=id + ) contracts_page, contracts_paginator = get_paginated_contracts( request, {"signee_signatures__signee": signee}