Hello All:
We are running Moodle 2.4, and were *very* happy to find this thread, because we've been walking down the exact same road that Gregor describes above. No need to repeat any details, because it's exactly the same. Seeing as how there were no replies to his last post, and we can't find any additional documentation on the topic, we went ahead and modified the code in /mod/forum/lib.php as well. Specifically, we commented out this code:
if (!is_viewing($context, $user->id) and !is_enrolled($context, $user->id, '', true)) {
return false;
}
This solved the problem for us.
As best as I can see from this code, and the definitions of is_viewing and is_enrolled, it seems to have been a safe move - given that we've got our permissions properly set, which we do.
So, I'll echo Gregor's question by saying, "Does anyone see anything particularly poor about doing this?" Feedback is most welcome. If not, then I'm inclined to agree with Gregor in calling this a bug that ought to be fixed.
Thanks
Joe