'Obtain the list of filters available for the user on the given model.
:param action_id: optional ID of action to restrict filters to this action
plus global filters. If missing only global filters are returned.
The action does not have to correspond to the model, it may only be
a contextual action.
:return: list of :meth:`~osv.read`-like dicts containing the
``name``, ``is_default``, ``domain``, ``user_id`` (m2o tuple),
``action_id`` (m2o tuple) and ``context`` of the matching ``ir.filters``.'

@api.model
def get_filters(self, model, action_id=None):

    action_domain = self._get_action_domain(action_id)
    filters = self.search((action_domain + [('model_id', '=', model), ('user_id', 'in', [self._uid, False])]))
    user_context = self.env.user.context_get()
    return filters.with_context(user_context).read(['name', 'is_default', 'domain', 'context', 'user_id', 'sort'])
