Hi,
We use Moodle 3.1 to run courses for clients as well as internal staff training. We have created 5 user profile fields: one to identify internal staff and four used for clients to identify which product(s) they have.
Our courses are broken down into the following Course Categories:
- General - These courses are available to all site users
- Product A - This category and its courses should only available to clients with user profile field Product A selected.
- Product B - This category and its courses should only available to clients with user profile field Product B selected.
- Product C - This category and its courses should only available to clients with user profile field Product C selected.
- Product D - This category and its courses should only available to clients with user profile field Product D selected.
- Internal - This category and its courses should only be available to internal staff
We can manage our Internal category as we've hidden it and set up a new role (based off the default student role) and changed it so only users on this role can see hidden categories/courses.
Our problem is with the client courses.
I initially tried using access restrictions, but that is only within the course content, where as we want to hide the course as a whole.
I have tried using cohorts, but that isn't working for us as we don't want to automatically enroll users into the courses and they can still see all the categories and and courses.
I tried using groups, but that only applies to the specific course the groups are set up against, rather than across the site.
Is there anyway to achieve this? Our site is hosted with vanilla Moodle with a custom theme. We don't have the option to add plugins or change any of the Moodle source files, so we need to be able to achieve this with existing functionality via the user interface.
Any input from the community is much appreciated.
Quintin