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
Pipeline #25878 failed with stage
...@@ -9,19 +9,19 @@ if portal_type in context.getPortalVariationTypeList(): ...@@ -9,19 +9,19 @@ if portal_type in context.getPortalVariationTypeList():
from Products.ERP5Type.Cache import CachingMethod 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): def getIndividualVariationBaseCategoryList(portal_type):
result = [] 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: for url in url_list:
base_category = context.portal_categories[url] base_category = context.portal_categories[url]
result.append((base_category.getTranslatedTitle(), base_category.getRelativeUrl())) result.append((base_category.getTranslatedTitle(), base_category.getRelativeUrl()))
return result return result
getIndividualVariationBaseCategoryList = CachingMethod(getIndividualVariationBaseCategoryList, 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') cache_factory='erp5_ui_long')
base_category_list = [y for x, y in getIndividualVariationBaseCategoryList(portal_type)] base_category_list = [y for x, y in getIndividualVariationBaseCategoryList(portal_type)]
......
...@@ -10,19 +10,20 @@ if portal_type in context.getPortalVariationTypeList(): ...@@ -10,19 +10,20 @@ if portal_type in context.getPortalVariationTypeList():
from Products.ERP5Type.Cache import CachingMethod 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): def getIndividualVariationBaseCategoryList(portal_type):
result = [] 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: for url in url_list:
base_category = context.portal_categories[url] base_category = context.portal_categories[url]
result.append((base_category.getTranslatedTitle(), base_category.getRelativeUrl())) result.append((base_category.getTranslatedTitle(), base_category.getRelativeUrl()))
return result return result
getIndividualVariationBaseCategoryList = CachingMethod(getIndividualVariationBaseCategoryList, 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') cache_factory='erp5_ui_long')
return getIndividualVariationBaseCategoryList(portal_type) return getIndividualVariationBaseCategoryList(portal_type)
...@@ -8,19 +8,20 @@ portal_type = context.getPortalType() ...@@ -8,19 +8,20 @@ portal_type = context.getPortalType()
from Products.ERP5Type.Cache import CachingMethod 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): def getOptionalVariationBaseCategoryList(portal_type):
result = [] 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: for url in url_list:
base_category = context.portal_categories[url] base_category = context.portal_categories[url]
result.append((base_category.getTranslatedTitle(), base_category.getRelativeUrl())) result.append((base_category.getTranslatedTitle(), base_category.getRelativeUrl()))
return result return result
getOptionalVariationBaseCategoryList = CachingMethod(getOptionalVariationBaseCategoryList, 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') cache_factory='erp5_ui_long')
return getOptionalVariationBaseCategoryList(portal_type) return getOptionalVariationBaseCategoryList(portal_type)
...@@ -8,19 +8,20 @@ portal_type = context.getPortalType() ...@@ -8,19 +8,20 @@ portal_type = context.getPortalType()
from Products.ERP5Type.Cache import CachingMethod 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): def getVariationsBaseCategoryList(portal_type):
result = [] 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: for url in url_list:
base_category = context.portal_categories[url] base_category = context.portal_categories[url]
result.append((base_category.getTranslatedTitle(), base_category.getRelativeUrl())) result.append((base_category.getTranslatedTitle(), base_category.getRelativeUrl()))
return result return result
getVariationsBaseCategoryList = CachingMethod(getVariationsBaseCategoryList, 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') cache_factory='erp5_ui_long')
return getVariationsBaseCategoryList(portal_type) return getVariationsBaseCategoryList(portal_type)
...@@ -5,8 +5,9 @@ Use Auditor proxy role to let anonymous users accessing resources. ...@@ -5,8 +5,9 @@ Use Auditor proxy role to let anonymous users accessing resources.
from Products.ERP5Type.Cache import CachingMethod from Products.ERP5Type.Cache import CachingMethod
portal = context.getPortalObject() portal = context.getPortalObject()
use_uid = portal.portal_categories.getCategoryUid(portal.portal_preferences.getPreferredEventUse(), base_category='use')
sql_kw = {'portal_type': portal.getPortalResourceTypeList(), 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', 'validation_state': 'validated',
'sort_on': 'title'} 'sort_on': 'title'}
...@@ -14,7 +15,7 @@ def getResourceItemList(): ...@@ -14,7 +15,7 @@ def getResourceItemList():
return [('', '')] + [(result.getTitle(), result.getRelativeUrl()) for result in portal.portal_catalog(**sql_kw)] return [('', '')] + [(result.getTitle(), result.getRelativeUrl()) for result in portal.portal_catalog(**sql_kw)]
getResourceItemList = CachingMethod(getResourceItemList, 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') cache_factory='erp5_ui_long')
return getResourceItemList() 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