Add multilingual audit CI pipeline + extract mandelblog_content_guard
This commit is contained in:
19
mandelblog_content_guard/mixins.py
Normal file
19
mandelblog_content_guard/mixins.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from django.core.exceptions import ValidationError
|
||||
|
||||
|
||||
class MultilingualValidationMixin:
|
||||
"""Opt-in mixin for project models that want explicit clean()-time enforcement."""
|
||||
|
||||
def clean(self):
|
||||
from .types import format_issue
|
||||
from .validators.multilingual import validate_snippet_instance
|
||||
|
||||
super_clean = getattr(super(), "clean", None)
|
||||
if callable(super_clean):
|
||||
super_clean()
|
||||
issues = validate_snippet_instance(self)
|
||||
blocking = [issue for issue in issues if issue.blocks]
|
||||
if blocking:
|
||||
raise ValidationError({"content_guard": [format_issue(issue) for issue in blocking]})
|
||||
Reference in New Issue
Block a user