src/pyams_content/shared/view/interfaces.py
changeset 1167 04429c162338
parent 1134 35e8b9cd9070
child 1207 a97f2023131a
equal deleted inserted replaced
1166:32668a609c7b 1167:04429c162338
   121                 required=False)
   121                 required=False)
   122 
   122 
   123     is_using_context = Attribute("Check if view is using context settings")
   123     is_using_context = Attribute("Check if view is using context settings")
   124 
   124 
   125     def get_results(self, context, sort_index=None, reverse=True, limit=None,
   125     def get_results(self, context, sort_index=None, reverse=True, limit=None,
   126                     start=0, length=999, ignore_cache=False, get_count=False):
   126                     start=0, length=999, ignore_cache=False, get_count=False, request=None):
   127         """Get results of catalog query"""
   127         """Get results of catalog query"""
   128 
   128 
   129 
   129 
   130 class IWfViewFactory(Interface):
   130 class IWfViewFactory(Interface):
   131     """View factory interface"""
   131     """View factory interface"""
   142 
   142 
   143 
   143 
   144 class IViewQuery(Interface):
   144 class IViewQuery(Interface):
   145     """View query interface"""
   145     """View query interface"""
   146 
   146 
   147     def get_params(self, context):
   147     def get_params(self, context, request=None):
   148         """Get static view query params"""
   148         """Get static view query params"""
   149 
   149 
   150     def get_results(self, context, sort_index, reverse, limit):
   150     def get_results(self, context, sort_index, reverse, limit, request=None):
   151         """Get tuple of limited results and total results count"""
   151         """Get tuple of limited results and total results count"""
   152 
   152 
   153 
   153 
   154 class IViewUserQuery(Interface):
   154 class IViewUserQuery(Interface):
   155     """View user search query interface"""
   155     """View user search query interface"""
   156 
   156 
   157     def get_user_params(self, request):
   157     def get_user_params(self, request=None):
   158         """Get dynamic user query params"""
   158         """Get dynamic user query params"""
   159 
   159 
   160 
   160 
   161 class IViewQueryExtension(Interface):
   161 class IViewQueryExtension(Interface):
   162     """Base view query extension"""
   162     """Base view query extension"""
   165 
   165 
   166 
   166 
   167 class IViewQueryParamsExtension(IViewQueryExtension):
   167 class IViewQueryParamsExtension(IViewQueryExtension):
   168     """View query extension interface"""
   168     """View query extension interface"""
   169 
   169 
   170     def get_params(self, context):
   170     def get_params(self, context, request=None):
   171         """Add params to catalog query"""
   171         """Add params to catalog query"""
   172 
   172 
   173 
   173 
   174 class IViewQueryEsParamsExtension(IViewQueryExtension):
   174 class IViewQueryEsParamsExtension(IViewQueryExtension):
   175     """View query parameters extension for Elasticsearch"""
   175     """View query parameters extension for Elasticsearch"""
   176 
   176 
   177     def get_es_params(self, context):
   177     def get_es_params(self, context, request=None):
   178         """Add params to Elasticsearch query"""
   178         """Add params to Elasticsearch query"""
   179 
   179 
   180 
   180 
   181 class IViewQueryFilterExtension(IViewQueryExtension):
   181 class IViewQueryFilterExtension(IViewQueryExtension):
   182     """View query filter extension"""
   182     """View query filter extension"""
   183 
   183 
   184     def filter(self, context, items):
   184     def filter(self, context, items, request=None):
   185         """Filter items after catalog query"""
   185         """Filter items after catalog query"""
   186 
   186 
   187 
   187 
   188 VIEW_REFERENCES_SETTINGS_KEY = 'pyams_content.view.references'
   188 VIEW_REFERENCES_SETTINGS_KEY = 'pyams_content.view.references'
   189 
   189 
   285     """Interface used to define views mergers
   285     """Interface used to define views mergers
   286 
   286 
   287     Mergers are used to merge results of several views.
   287     Mergers are used to merge results of several views.
   288     """
   288     """
   289 
   289 
   290     def get_results(self, views, context, ignore_cache=False):
   290     def get_results(self, views, context, ignore_cache=False, request=None):
   291         """Merge results of several views together"""
   291         """Merge results of several views together"""