code: def transitions(self, current=True):
          
          if current and isinstance(self.obj, RoleMixin):
              proxy = self.obj.current_access()
          else:
              proxy = {}
              current = False  # In case the host object is not a RoleMixin
          return OrderedDict((name, transition) for name, transition in
              # Retrieve transitions from the host object to activate the descriptor.
              ((name, getattr(self.obj, name)) for name in self.statemanager.transitions)
              if transition.is_available and (name in proxy if current else True))
docs: Returns available transitions for the current state, as a dictionary of
          name: :class:`StateTransitionWrapper`.
  
          :param bool current: Limit to transitions available in ``obj.``
             :meth:`~coaster.sqlalchemy.mixins.RoleMixin.current_access`