Commit 16a5460d authored by Xiaowu Zhang's avatar Xiaowu Zhang

fix data inconsistency after change preference

See merge request nexedi/erp5!1723
parents 784c5ab2 457abc78
......@@ -9,19 +9,19 @@ if portal_type in context.getPortalVariationTypeList():
from Products.ERP5Type.Cache import CachingMethod
#xxx default preference value [] for fix a bug
method_name = 'getPreferred%sIndividualVariationBaseCategoryList' % portal_type.replace(' ', '')
method = getattr(context.portal_preferences, method_name)
url_list = method([])
def getIndividualVariationBaseCategoryList(portal_type):
result = []
#xxx default preference value [] for fix a bug
method_name = 'getPreferred%sIndividualVariationBaseCategoryList' % portal_type.replace(' ', '')
method = getattr(context.portal_preferences, method_name)
url_list = method([])
for url in url_list:
base_category = context.portal_categories[url]
result.append((base_category.getTranslatedTitle(), base_category.getRelativeUrl()))
return result
getIndividualVariationBaseCategoryList = CachingMethod(getIndividualVariationBaseCategoryList,
id=(script.id, context.Localizer.get_selected_language()),
id=(script.id, context.Localizer.get_selected_language(), url_list),
cache_factory='erp5_ui_long')
base_category_list = [y for x, y in getIndividualVariationBaseCategoryList(portal_type)]
......
......@@ -10,19 +10,20 @@ if portal_type in context.getPortalVariationTypeList():
from Products.ERP5Type.Cache import CachingMethod
#xxx default preference value [] for fix a bug
method_name = 'getPreferred%sIndividualVariationBaseCategoryList' % portal_type.replace(' ', '')
method = getattr(context.portal_preferences, method_name)
url_list = method([])
def getIndividualVariationBaseCategoryList(portal_type):
result = []
#xxx default preference value [] for fix a bug
method_name = 'getPreferred%sIndividualVariationBaseCategoryList' % portal_type.replace(' ', '')
method = getattr(context.portal_preferences, method_name)
url_list = method([])
for url in url_list:
base_category = context.portal_categories[url]
result.append((base_category.getTranslatedTitle(), base_category.getRelativeUrl()))
return result
getIndividualVariationBaseCategoryList = CachingMethod(getIndividualVariationBaseCategoryList,
id=(script.id, context.Localizer.get_selected_language()),
id=(script.id, context.Localizer.get_selected_language(), url_list),
cache_factory='erp5_ui_long')
return getIndividualVariationBaseCategoryList(portal_type)
......@@ -8,19 +8,20 @@ portal_type = context.getPortalType()
from Products.ERP5Type.Cache import CachingMethod
#xxx default preference value [] for fix a bug
method_name = 'getPreferred%sOptionalVariationBaseCategoryList' % portal_type.replace(' ', '')
method = getattr(context.portal_preferences, method_name)
url_list = method([])
def getOptionalVariationBaseCategoryList(portal_type):
result = []
#xxx default preference value [] for fix a bug
method_name = 'getPreferred%sOptionalVariationBaseCategoryList' % portal_type.replace(' ', '')
method = getattr(context.portal_preferences, method_name)
url_list = method([])
for url in url_list:
base_category = context.portal_categories[url]
result.append((base_category.getTranslatedTitle(), base_category.getRelativeUrl()))
return result
getOptionalVariationBaseCategoryList = CachingMethod(getOptionalVariationBaseCategoryList,
id=(script.id, context.Localizer.get_selected_language()),
id=(script.id, context.Localizer.get_selected_language(), url_list),
cache_factory='erp5_ui_long')
return getOptionalVariationBaseCategoryList(portal_type)
......@@ -8,19 +8,20 @@ portal_type = context.getPortalType()
from Products.ERP5Type.Cache import CachingMethod
#xxx default preference value [] for fix a bug
method_name = 'getPreferred%sVariationBaseCategoryList' % portal_type.replace(' ', '')
method = getattr(context.portal_preferences, method_name)
url_list = method([])
def getVariationsBaseCategoryList(portal_type):
result = []
#xxx default preference value [] for fix a bug
method_name = 'getPreferred%sVariationBaseCategoryList' % portal_type.replace(' ', '')
method = getattr(context.portal_preferences, method_name)
url_list = method([])
for url in url_list:
base_category = context.portal_categories[url]
result.append((base_category.getTranslatedTitle(), base_category.getRelativeUrl()))
return result
getVariationsBaseCategoryList = CachingMethod(getVariationsBaseCategoryList,
id=(script.id, context.Localizer.get_selected_language()),
id=(script.id, context.Localizer.get_selected_language(), url_list),
cache_factory='erp5_ui_long')
return getVariationsBaseCategoryList(portal_type)
......@@ -5,8 +5,9 @@ Use Auditor proxy role to let anonymous users accessing resources.
from Products.ERP5Type.Cache import CachingMethod
portal = context.getPortalObject()
use_uid = portal.portal_categories.getCategoryUid(portal.portal_preferences.getPreferredEventUse(), base_category='use')
sql_kw = {'portal_type': portal.getPortalResourceTypeList(),
'use_uid': portal.portal_categories.getCategoryUid(portal.portal_preferences.getPreferredEventUse(), base_category='use'),
'use_uid': use_uid,
'validation_state': 'validated',
'sort_on': 'title'}
......@@ -14,7 +15,7 @@ def getResourceItemList():
return [('', '')] + [(result.getTitle(), result.getRelativeUrl()) for result in portal.portal_catalog(**sql_kw)]
getResourceItemList = CachingMethod(getResourceItemList,
id=(script.id, context.Localizer.get_selected_language()),
id=(script.id, context.Localizer.get_selected_language(), use_uid),
cache_factory='erp5_ui_long')
return getResourceItemList()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment