Extend permission handling in partner dashboard

Added a 'user role' choice field. Adds and removes both staff status and
dashboard_access appropriately.