If Who Can Publish is set to anything other than Editor, they can't actually Publish
Summary: For instance, create a "Maintainer" Custom Role, and set Who Can Publish and Who Can Edit Instances to that Role. They can edit, but the Publish buttons in the Advanced Editor are disabled.
This is actually a dumb bug on the ModelDesignerPage. It snuck through due to a collection of subtle factors:
- The page is checking
model.hasPerm(canPublishPerm)
. Now that the permission is on the Space, this isn't ever actually set.
- But, the Owner presumptively has all permissions, so the buttons work fine for zim.
- Worse, the default value for
CanPublishPermission
is Roles.EditorRole
. So it still works fine so long as the person has Editor, but not for any other Role.
The fix should be simply to change model
to space
there.