Auth log
Some checks failed
API CI / api-tests (pull_request) Failing after 30s
CI / test (pull_request) Failing after 32s

This commit is contained in:
Tim Lorsbach
2026-07-23 23:30:05 +02:00
parent 3241bc2648
commit aaa87c5f2f
4 changed files with 81 additions and 10 deletions

View File

@ -61,6 +61,7 @@ from .models import (
)
logger = logging.getLogger(__name__)
auth_log = logging.getLogger("auth")
Package = s.GET_PACKAGE_MODEL()
@ -147,6 +148,19 @@ def handler500(request):
return render(request, "errors/error.html", context, status=500)
def delete_with_log(request, obj):
caller = request.user
obj_type = obj.__class__.__name__
try:
obj.delete()
except Exception as e:
logger.info(f"Tried to delete {obj_type}: {obj.name} ({obj.url}) but deletion failed! Exception {e}")
auth_log.error(
f"{caller.username} ({caller.url}) tried to delete {obj_type}: {obj.name} ({obj.url}) but deletion failed!")
raise e
def login(request):
context = get_base_context(request)
@ -1282,7 +1296,8 @@ def package(request, package_uuid):
"You cannot delete the default package. If you want to delete this package you have to set another default package first.",
)
logger.debug(current_package.delete())
delete_with_log(request, current_package)
return redirect(s.SERVER_URL + "/package")
elif hidden == "publish-package":
for g in Group.objects.filter(public=True):
@ -2273,7 +2288,7 @@ def package_pathway(request, package_uuid, pathway_uuid):
elif request.method == "POST":
if hidden := request.POST.get("hidden", None):
if hidden == "delete":
current_pathway.delete()
delete_with_log(request, current_pathway)
return redirect(current_package.url + "/pathway")
else:
return HttpResponseBadRequest()
@ -2491,7 +2506,7 @@ def package_pathway_node(request, package_uuid, pathway_uuid, node_uuid):
if hidden := request.POST.get("hidden", None):
if hidden == "delete":
# pre_delete signal will take care of edge deletion
current_node.delete()
delete_with_log(request, current_node)
return redirect(current_pathway.url)
else:
@ -2645,7 +2660,7 @@ def package_pathway_edge(request, package_uuid, pathway_uuid, edge_uuid):
if hidden := request.POST.get("hidden", None):
if hidden == "delete":
current_edge.delete()
delete_with_log(request, current_edge)
return redirect(current_pathway.url)
if "selected-scenarios" in request.POST:
@ -3007,7 +3022,7 @@ def group(request, group_uuid):
if hidden := request.POST.get("hidden", None):
if hidden == "delete":
current_group.delete()
delete_with_log(request, current_group)
return redirect(s.SERVER_URL + "/group")
else:
return HttpResponseBadRequest()