mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-04 06:38:16 -06:00
Fixes: #14044 - Allow regex renaming of unnamed devices
* Allow regex renaming of unnamed devices (already allowed actually) * Catch errors relating to unnamed devices or integrity errors as a result of the rename process
This commit is contained in:
parent
96802b4edb
commit
75b0bea22b
@ -2122,6 +2122,17 @@ class DeviceBulkRenameView(generic.BulkRenameView):
|
|||||||
filterset = filtersets.DeviceFilterSet
|
filterset = filtersets.DeviceFilterSet
|
||||||
table = tables.DeviceTable
|
table = tables.DeviceTable
|
||||||
|
|
||||||
|
def _rename_objects(self, form, selected_objects):
|
||||||
|
# Check devices for any unnamed devices and enforce requirements on the renaming of devices
|
||||||
|
for obj in selected_objects:
|
||||||
|
if not form.cleaned_data['use_regex'] and not obj.name:
|
||||||
|
from django.core.exceptions import ValidationError
|
||||||
|
raise ValidationError({
|
||||||
|
'use_regex': 'You must use regex to rename a unnamed device and must pass device uniqueness checks'
|
||||||
|
})
|
||||||
|
|
||||||
|
super()._rename_objects(form, selected_objects)
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(Device, 'contacts')
|
@register_model_view(Device, 'contacts')
|
||||||
class DeviceContactsView(ObjectContactsView):
|
class DeviceContactsView(ObjectContactsView):
|
||||||
|
@ -776,6 +776,14 @@ class BulkRenameView(GetReturnURLMixin, BaseMultiObjectView):
|
|||||||
)
|
)
|
||||||
return redirect(self.get_return_url(request))
|
return redirect(self.get_return_url(request))
|
||||||
|
|
||||||
|
except IntegrityError as e:
|
||||||
|
messages.error(self.request, ", ".join(e.args))
|
||||||
|
clear_events.send(sender=self)
|
||||||
|
|
||||||
|
except ValidationError as e:
|
||||||
|
messages.error(self.request, ", ".join(e.messages))
|
||||||
|
clear_events.send(sender=self)
|
||||||
|
|
||||||
except (AbortRequest, PermissionsViolation) as e:
|
except (AbortRequest, PermissionsViolation) as e:
|
||||||
logger.debug(e.message)
|
logger.debug(e.message)
|
||||||
form.add_error(None, e.message)
|
form.add_error(None, e.message)
|
||||||
|
Loading…
Reference in New Issue
Block a user