Update Page.route API so that it returns a Page instance rather than an HttpResponse; catch the latter in the 'serve' view for backward compatibility
Catch the deprecation warning for old-style routes during unit tests
Implement before_serve_page hook
Add PageViewRestriction model, and apply permission check in the 'serve' view
simplified get_ancestors logic
Delegate serving of the 'password required' response to the Page model
implement form submission logic for the password form
Keep track of passed page view restrictions in the session
add public/private indicator on explorer and page editor
Implement (mostly-empty) views for setting view restrictions, accessible from the permission indicator
implement form for setting access restrictions
make view permission indicator update dynamically after permissions are set
make password a required field when restriction_type = password
move check_view_restrictions into the Page model, so that sites with non-standard routing requirements can use it independently of the before_serve_page hook
Add note that access restrictions will take effect on child pages
Add 'private' indicator in page chooser for pages with view restrictions
'view restrictions' renamed 'privacy' and general wagtail styling of privacy status completed
return a RouteResult object back from route() rather than a Page, making it possible to transfer params between route() and serve()
Appending to the passed_page_view_restrictions list doesn't write it back to the session - need to explicitly write it back to the session dict
remove stray angle bracket