def render_form_buttons(self, serializer: Serializer, position: str): """ Renders form buttons :return: List[Action] """ request = serializer.context.get('request', None) viewset = serializer.context.get('view', None) res = '' for button in self.actions: if isinstance(button, FormButtonAction) and position in button.positions and \ not serializer.suppress_action(button, request, viewset): res += button.render(serializer, position=position) return res
def actions_not_suppressed(self, serializer: Serializer): request = serializer.context.get('request', None) viewset = serializer.context.get('view', None) return (a for a in self.actions if not serializer.suppress_action(a, request, viewset))
def renderable_actions(self, serializer: Serializer): request = serializer.context.get('request', None) viewset = serializer.context.get('view', None) return (a for a in self.actions if isinstance(a, TableAction) and not serializer.suppress_action(a, request, viewset))