diff --git a/product/ERP5/Variated.py b/product/ERP5/Variated.py index 2a8a28483829b3cb2496edfbb7002674b44fcc42..6623350e15133284e34e408a7dc2e49c05d45a7a 100755 --- a/product/ERP5/Variated.py +++ b/product/ERP5/Variated.py @@ -55,6 +55,23 @@ class Variated(Base): # Declarative interfaces __implements__ = (Interface.Variated, ) + security.declareProtected(Permissions.AccessContentsInformation, + 'getVariationBaseCategoryList') + def getVariationBaseCategoryList(self, omit_option_base_category=0): + """ + Return the list of variation base category. + If omit_option_base_category==1, do not include base category + considered as option (ex: industrial_phase). + """ + vbcl = self._baseGetVariationBaseCategoryList() + if omit_option_base_category == 1: + # XXX First implementation + # option base category list is a portal method, until the creation + # of a good API. + option_base_category_list = self.getPortalOptionBaseCategoryList() + vbcl = [x for x in vbcl if x not in option_base_category_list] + return vbcl + security.declareProtected(Permissions.AccessContentsInformation, '_getVariationCategoryList') def _getVariationCategoryList(self, base_category_list = ()): @@ -64,7 +81,8 @@ class Variated(Base): security.declareProtected(Permissions.AccessContentsInformation, 'getVariationCategoryList') - def getVariationCategoryList(self, base_category_list=()): + def getVariationCategoryList(self, base_category_list=(), + omit_option_base_category=0): """ Returns the list of possible variations """