mirror of
https://github.com/jazzband/django-auditlog.git
synced 2026-03-16 22:20:26 +00:00
raise AuditLogRegistrationError on invalid app in settings (#492)
Co-authored-by: Hasan Ramezani <hasan.r67@gmail.com>
This commit is contained in:
parent
ffa6d34b11
commit
b9a86df456
2 changed files with 19 additions and 1 deletions
|
|
@ -261,7 +261,13 @@ class AuditlogModelRegistry:
|
|||
self.unregister(model_class)
|
||||
self.register(model_class)
|
||||
elif isinstance(model, dict):
|
||||
model["model"] = self._get_model_classes(model["model"])[0]
|
||||
appmodel = self._get_model_classes(model["model"])
|
||||
if not appmodel:
|
||||
raise AuditLogRegistrationError(
|
||||
f"An error was encountered while registering model '{model['model']}' - "
|
||||
"make sure the app is registered correctly."
|
||||
)
|
||||
model["model"] = appmodel[0]
|
||||
self.unregister(model["model"])
|
||||
self.register(**model)
|
||||
|
||||
|
|
|
|||
|
|
@ -1158,6 +1158,18 @@ class RegisterModelSettingsTest(TestCase):
|
|||
):
|
||||
self.test_auditlog.register_from_settings()
|
||||
|
||||
with override_settings(
|
||||
AUDITLOG_INCLUDE_TRACKING_MODELS=({"model": "notanapp.test"},)
|
||||
):
|
||||
with self.assertRaisesMessage(
|
||||
AuditLogRegistrationError,
|
||||
(
|
||||
"An error was encountered while registering model 'notanapp.test'"
|
||||
" - make sure the app is registered correctly."
|
||||
),
|
||||
):
|
||||
self.test_auditlog.register_from_settings()
|
||||
|
||||
with override_settings(AUDITLOG_DISABLE_ON_RAW_SAVE="bad value"):
|
||||
with self.assertRaisesMessage(
|
||||
TypeError, "Setting 'AUDITLOG_DISABLE_ON_RAW_SAVE' must be a boolean"
|
||||
|
|
|
|||
Loading…
Reference in a new issue