added join workspace button if policy allows self joining

I disagree that this is 'obscure'. It's the way that methods are protected throughout plone:
https://pypi.python.org/pypi/plone.protect/3.0.0

Again it's only one line (excluding the import). It also means that you don't have to indent everything below line 16 making it more readable.