diff --git a/horilla/decorators.py b/horilla/decorators.py index 1236f6b78..dbeae8429 100755 --- a/horilla/decorators.py +++ b/horilla/decorators.py @@ -8,6 +8,7 @@ from django.contrib import messages from django.http import HttpResponse, HttpResponseRedirect from django.shortcuts import redirect, render from django.urls import reverse +from django.utils.datastructures import MultiValueDictKeyError from django.utils.translation import gettext as _ from horilla import settings @@ -266,6 +267,8 @@ def login_required(view_func): return redirect(redirect_url) try: func = view_func(request, *args, **kwargs) + except MultiValueDictKeyError: + raise except Exception as e: logger.error(e) if ( @@ -281,7 +284,7 @@ def login_required(view_func): if not settings.DEBUG: messages.error(request, str(e)) return render(request, "went_wrong.html", status=404) - return view_func(request, *args, **kwargs) + raise e return func return wrapped_view diff --git a/horilla_views/cbv_methods.py b/horilla_views/cbv_methods.py index ac3424ed9..3d1aadd0a 100644 --- a/horilla_views/cbv_methods.py +++ b/horilla_views/cbv_methods.py @@ -35,6 +35,7 @@ from django.template import loader from django.template.defaultfilters import register from django.template.loader import render_to_string from django.urls import reverse +from django.utils.datastructures import MultiValueDictKeyError from django.utils.functional import lazy from django.utils.html import format_html from django.utils.safestring import SafeString @@ -178,12 +179,14 @@ def login_required(view_func): return redirect(url) try: func = view_func(self, request, *args, **kwargs) + except MultiValueDictKeyError: + raise except Exception as e: logger.exception(e) if not settings.DEBUG: messages.error(request, str(e)) return render(request, "went_wrong.html", status=404) - return view_func(self, *args, **kwargs) + raise e return func return wrapped_view