def available(self): """If ICheckedOut is provided by context then return empty list. If ICheckedIn is provided and context is not the latest version return empty list, else default.""" if ICheckedOut.providedBy(self.context): return [] if ICheckedIn.providedBy(self.context): vc = getToolByName(self.context, 'upfront_versioning_catalog') ob = vc.getLatestVersionOf(self.context) if ob != self.context: return [] return BaseWorkflowSubMenuItem.available(self)