diff --git a/netbox/utilities/error_handlers.py b/netbox/utilities/error_handlers.py index e456b8fb2..1691b41cd 100644 --- a/netbox/utilities/error_handlers.py +++ b/netbox/utilities/error_handlers.py @@ -5,20 +5,19 @@ 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 + dep_class = e.protected_objects[0]._meta.verbose_name_plural except IndexError: raise e # Grammar for single versus multiple triggering objects if type(obj) in (list, tuple): - err_message = "Unable to delete the requested {}. The following dependent {} were found: ".format( + err_message = u"Unable to delete the requested {}. The following dependent {} were found: ".format( obj[0]._meta.verbose_name_plural, dep_class, ) else: - err_message = "Unable to delete {} {}. The following dependent {} were found: ".format( + err_message = u"Unable to delete {} {}. The following dependent {} were found: ".format( obj._meta.verbose_name, obj, dep_class, @@ -26,11 +25,11 @@ def handle_protectederror(obj, request, e): # Append dependent objects to error message dependent_objects = [] - for o in e[1]: + for o in e.protected_objects: if hasattr(o, 'get_absolute_url'): - dependent_objects.append('{}'.format(o.get_absolute_url(), str(o))) + dependent_objects.append(u'{}'.format(o.get_absolute_url(), o)) else: dependent_objects.append(str(o)) - err_message += ', '.join(dependent_objects) + err_message += u', '.join(dependent_objects) messages.error(request, err_message)