I guess the first thing to say is to highlight the fact that user groups and access levels are not the same thing. You can choose to configure your Joomla instance to give access levels and user groups the same names, but adopting this solution to your question will place constraints on how your user data must be configured. A user may also be assigned to more than one usergroup, so again I'm assuming that you're constraining your data to use only one usergroup for users who will edit articles.
As regards the solution, you'll need to write code to implement what you want. I haven't coded this up, but I'm fairly confident it will work.
Firstly you have to write a custom form field for the Access field which you want to implement. Make your class extend JFormFieldList
, and in your getOptions()
method get the current user's usergroup name, and find the access level value which matches that usergroup name.
The Joomla User API Guide provides direction in using the User APIs, but I think you might need to do a direct query on the viewlevels
table to get the name of the access levels on your system, to match against the user's usergroup.
Then you can implement a content plugin which listens for onContentPrepareForm. Your plugin will be called when com_content
has built the form for editing an article, but before it has rendered it. You need to manipulate the form to swap out the standard Access field and replace it with your own custom field. Help and examples relating to dynamically changing forms can be found at Joomla Advanced Form Guide.
Best of luck!