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
|
||||
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')
|
||||
class DeviceContactsView(ObjectContactsView):
|
||||
|
@ -776,6 +776,14 @@ class BulkRenameView(GetReturnURLMixin, BaseMultiObjectView):
|
||||
)
|
||||
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:
|
||||
logger.debug(e.message)
|
||||
form.add_error(None, e.message)
|
||||
|
Loading…
Reference in New Issue
Block a user