|
|
@@ -744,7 +744,6 @@ class BulkRenameView(GetReturnURLMixin, BaseMultiObjectView):
|
|
|
renamed_pks = []
|
|
|
|
|
|
for obj in selected_objects:
|
|
|
-
|
|
|
# Take a snapshot of change-logged models
|
|
|
if hasattr(obj, 'snapshot'):
|
|
|
obj.snapshot()
|
|
|
@@ -758,7 +757,7 @@ class BulkRenameView(GetReturnURLMixin, BaseMultiObjectView):
|
|
|
except re.error:
|
|
|
obj.new_name = obj.name
|
|
|
else:
|
|
|
- obj.new_name = obj.name.replace(find, replace)
|
|
|
+ obj.new_name = (obj.name or '').replace(find, replace)
|
|
|
renamed_pks.append(obj.pk)
|
|
|
|
|
|
return renamed_pks
|
|
|
@@ -793,6 +792,10 @@ 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 (AbortRequest, PermissionsViolation) as e:
|
|
|
logger.debug(e.message)
|
|
|
form.add_error(None, e.message)
|