1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

30 lines
968 B
Python
Raw Normal View History

2016-03-01 11:23:03 -05:00
from django.contrib import messages
def handle_protectederror(obj, request, e):
"""
Generate a user-friendly error message in response to a ProtectedError exception.
"""
dependent_objects = e[1]
try:
dep_class = dependent_objects[0]._meta.verbose_name_plural
except IndexError:
raise e
# Handle multiple triggering objects
if type(obj) in (list, tuple):
messages.error(request, "Unable to delete the requested {}. The following dependent {} were found: {}".format(
obj[0]._meta.verbose_name_plural,
dep_class,
', '.join([str(o) for o in dependent_objects])
))
# Handle a single triggering object
else:
messages.error(request, "Unable to delete {} {}. The following dependent {} were found: {}".format(
obj._meta.verbose_name,
obj,
dep_class,
', '.join([str(o) for o in dependent_objects])
))