Fixed by using the singularname translation for the class as values in the page types array used for the page types dropdown field.
… cases (fixes #7694)
…#7694) Original bug fix contributed by @kmayo-ss
This is caused by the input date values entered by the user are passed into query without converting in a correct format first.
Ideally we could do this without session, but pragmatically we still need it, because of the inflexible routing system, and because of performance considerations. Example: The tree is lazy loaded via a generic URL (admin/pages/treeview). While we could add ?ID=<currentpage> to make the view (more or less) stateless, it would trigger a full tree reload on every tree navigation action. Instead, we assume that all "reachable" nodes are already cached, and simply mark a different one as current. For this to work, we need shared session state between CMS controllers. See http://open.silverstripe.org/ticket/7815 for detail.
Was fetching the record from live (and its direct URLSegment), but all of its parents from the current stage, which might be draft, leading to "mixed" draft/live nested URLs which might no longer be reachable in live mode.
… the list should not filter by folder ID
Might be called sapphire instead, in which case routing rules will end up in the wrong place
VirtualPageTest was adding fields to Page via a decorator, but Page might not have any fields itself. This changed Page from not having a table to having a table, which then caused a problem on tearDown
By renaming fields to "StageLink" and "LiveLink", which means they don't get influenced by the model getters on Form->loadDataFrom(). Its also a more accurate name for the field value, since it contains a full (nested) URL rather than just a segment. Only used internally, so no API change.