kopia lustrzana https://github.com/wagtail/wagtail
Set default slug / draft_title / locale independently of full_clean method
rodzic
a80f40999e
commit
13dbf61323
|
@ -625,9 +625,11 @@ class Page(AbstractPage, index.Indexed, ClusterableModel, metaclass=PageBase):
|
||||||
"""
|
"""
|
||||||
return self.admin_default_ordering
|
return self.admin_default_ordering
|
||||||
|
|
||||||
def full_clean(self, *args, **kwargs):
|
def _set_core_field_defaults(self):
|
||||||
# Apply fixups that need to happen before per-field validation occurs
|
"""
|
||||||
|
Set default values for core fields (slug, draft_title, locale) that need to be
|
||||||
|
in place before validating or saving
|
||||||
|
"""
|
||||||
if not self.slug:
|
if not self.slug:
|
||||||
# Try to auto-populate slug from title
|
# Try to auto-populate slug from title
|
||||||
allow_unicode = getattr(settings, "WAGTAIL_ALLOW_UNICODE_SLUGS", True)
|
allow_unicode = getattr(settings, "WAGTAIL_ALLOW_UNICODE_SLUGS", True)
|
||||||
|
@ -644,6 +646,8 @@ class Page(AbstractPage, index.Indexed, ClusterableModel, metaclass=PageBase):
|
||||||
if self.locale_id is None:
|
if self.locale_id is None:
|
||||||
self.locale = self.get_default_locale()
|
self.locale = self.get_default_locale()
|
||||||
|
|
||||||
|
def full_clean(self, *args, **kwargs):
|
||||||
|
self._set_core_field_defaults()
|
||||||
super().full_clean(*args, **kwargs)
|
super().full_clean(*args, **kwargs)
|
||||||
|
|
||||||
def clean(self):
|
def clean(self):
|
||||||
|
@ -695,6 +699,8 @@ class Page(AbstractPage, index.Indexed, ClusterableModel, metaclass=PageBase):
|
||||||
"""
|
"""
|
||||||
if clean:
|
if clean:
|
||||||
self.full_clean()
|
self.full_clean()
|
||||||
|
else:
|
||||||
|
self._set_core_field_defaults()
|
||||||
|
|
||||||
slug_changed = False
|
slug_changed = False
|
||||||
is_new = self.id is None
|
is_new = self.id is None
|
||||||
|
|
Ładowanie…
Reference in New Issue