I run a Drupal 7 site with several forums. Access to some forums is restricted based on user role permissions, e.g. users with user role 1 have access to forum 1 etc. I need a calendar functionality on my site. When a user with the user e.g. role 1 creates an event in the calendar, he should be able to decide which users with which user roles are able to see that event (either by creating the event when he is in the access restricted forum according to that role or by choosing the role from a drop down menu, both two possibilities will work for me, one is sufficient). The end result I'd like to have is that different users with different roles can look at the same calendar and see different entries based on the roles they have. They are supposed to see every entry that has been made available for at least one role the possess. They must not see entries that have only been made available for user roles that they do not possess.
So far I've tinkered around with the calendar module, views, rules and context. I have yet to find a way to make this work. Does anyone have an idea how to implement this?