refactor(forum): move the screens of the panel into the forum module
The panel held the whole forum section: the dashboard, the structure editor, the
settings and the lists of hidden topics and posts. They belong to the module they
administer, and now live in it.
Controllers move to Application/Controllers/Admin/ and their templates to
templates/admin/, the way collections, contacts and consent already ship their
sections. The repositories lose the Eloquent prefix that nothing else in that
directory carries: ForumAdminRepository, ForumStructureRepository,
HiddenForumRepository.
The routes move with them. URLs and route names are unchanged, and so are the
gates: the group is behind AdminAccessMiddleware, the settings behind
SuperAdminAccessMiddleware, both marked adminArea().
Two permissions change their key along with their group:
admin.forum.structure.destroy -> forum.structure.destroy
admin.forum.hidden.purge -> forum.hidden.purge
Neither is granted to a role by default, but a site that handed one out by hand
has to hand it out again.
The routes now belong to the forum, so the pages resolve __() against its domain.
Seventy strings move from the admin domain to the forum one, with their
translations, across all 23 languages.
What stays in the panel is not a forum screen: the dashboard tile counting today's
posts and the read marks dropped when inactive accounts are cleaned up. Moving
those needs an extension point the CMS does not have yet.
settings and the lists of hidden topics and posts. They belong to the module they
administer, and now live in it.
Controllers move to Application/Controllers/Admin/ and their templates to
templates/admin/, the way collections, contacts and consent already ship their
sections. The repositories lose the Eloquent prefix that nothing else in that
directory carries: ForumAdminRepository, ForumStructureRepository,
HiddenForumRepository.
The routes move with them. URLs and route names are unchanged, and so are the
gates: the group is behind AdminAccessMiddleware, the settings behind
SuperAdminAccessMiddleware, both marked adminArea().
Two permissions change their key along with their group:
admin.forum.structure.destroy -> forum.structure.destroy
admin.forum.hidden.purge -> forum.hidden.purge
Neither is granted to a role by default, but a site that handed one out by hand
has to hand it out again.
The routes now belong to the forum, so the pages resolve __() against its domain.
Seventy strings move from the admin domain to the forum one, with their
translations, across all 23 languages.
What stays in the panel is not a forum screen: the dashboard tile counting today's
posts and the read marks dropped when inactive accounts are cleaned up. Moving
those needs an extension point the CMS does not have yet.