In this post we’re told that content owner permissions are going to be introduced. (If not already) Which is great.
I’m wanting a more fine-grained approach to permissions if possible.
We’ve currently got a Content Page tailor model. And we’re using content groups to allow our client to select a page type. For example…
Dynamic Page
Simple Page
Contact Page
We’ve then got separate Tailor models for what we’re calling “system pages”… For things like the login and registration etc… These pages do have content on them that should be editable, but the client shouldn’t be allowed to delete them, or change certain fields like the slug.
Ideally, we’d like to list these system pages with the content pages list in the backend.
Is this possible “out of the box” (I hate that phrase) with October?
At the moment we’ve got a menu structure in the backend pages that works, but we’ve found it’s a little convoluted, and confusing for clients.
This is certainly possible by extending the model constructor to inspect the changes and throw a validation error if something isn’t right. Here’s a link to the docs:
You could register custom permissions / admin groups and check things like $model->isDirty('slug') with throw new ValidationException(['slug' => 'Oops! No no no']);
The tailor models are like regular models, but must be extended from the outside. Eventually we will give you the option to extend them completely for specific blueprints.