MishkaDocument. Resources. Validations. SectionAddress
(Mishka Document v0.0.1)
Copy Markdown
View Source
Refuses a page whose whole address in its version (MishkaDocument.Address) another page of the
version already has.
A slug is unique among the pages that share a parent, which kept every address unique while each
address held every slug above it. A front page's and a group's slugs are in no address, so two
pages under two parents can now meet at one: a top-level breadcrumb and a breadcrumb filed
under the group navigation are both /chelekom/docs/breadcrumb.
A group with a page of its own is read at its own slug while the pages under it leave that slug
out, so a page filed under the group navigation with the slug navigation meets the group's own
page at /navigation, and is refused.
Checked on a create, and on an update that changes the slug, the parent, the version, or whether
the page is a front page, a group or a group with a page — which moves the pages under it as well,
so their addresses are checked too. The version's other pages not archived are read as the
system, since the address must be free whether or not the writer may read them. A group with no
page has no address and is never refused; two front pages are refused by
unique_front_page_per_version.
Each refusal is written in the Gettext locale of the process the action runs in, errors domain
of MishkaCmsCore.Gettext.
Usage
validate MishkaDocument.Resources.Validations.SectionAddress