Commit 79d1e814 authored by Ayush Tiwari's avatar Ayush Tiwari

erp5_catalog: Add default_erp5_catalog_id property and its getter functions for ERP5Catalog object.

parent a8e52edf
...@@ -44,6 +44,7 @@ from Products.CMFActivity.ActivityTool import GroupedMessage ...@@ -44,6 +44,7 @@ from Products.CMFActivity.ActivityTool import GroupedMessage
from Products.ERP5Type.TransactionalVariable import getTransactionalVariable from Products.ERP5Type.TransactionalVariable import getTransactionalVariable
from Products.ERP5Type.Core.Folder import Folder from Products.ERP5Type.Core.Folder import Folder
from Products.ERP5Type.Tool.BaseTool import BaseTool from Products.ERP5Type.Tool.BaseTool import BaseTool
from Products.ERP5Type import PropertySheet
from AccessControl.PermissionRole import rolesForPermissionOn from AccessControl.PermissionRole import rolesForPermissionOn
...@@ -321,6 +322,22 @@ class CatalogTool (ZCatalog, CMFCoreCatalogTool, BaseTool): ...@@ -321,6 +322,22 @@ class CatalogTool (ZCatalog, CMFCoreCatalogTool, BaseTool):
manage_options = ({ 'label' : 'Overview', 'action' : 'manage_overview' }, manage_options = ({ 'label' : 'Overview', 'action' : 'manage_overview' },
) + Folder.manage_options ) + Folder.manage_options
property_sheets = ( PropertySheet.Base
, PropertySheet.SimpleItem
, PropertySheet.Folder
, PropertySheet.CatalogTool
)
_properties = ZCatalog._properties + (
{ 'id' : 'default_erp5_catalog_id',
'description' : 'Default ERP5 Catalog Id',
'type' : 'selection',
'select_variable' : 'getERP5CatalogIdList',
'mode' : 'w' },
)
default_erp5_catalog_id = None
# Use reindexObject method from BaseTool class and declare it public # Use reindexObject method from BaseTool class and declare it public
reindexObject = BaseTool.reindexObject reindexObject = BaseTool.reindexObject
security.declarePublic('reindexObject') security.declarePublic('reindexObject')
...@@ -351,6 +368,35 @@ class CatalogTool (ZCatalog, CMFCoreCatalogTool, BaseTool): ...@@ -351,6 +368,35 @@ class CatalogTool (ZCatalog, CMFCoreCatalogTool, BaseTool):
allowedContentTypes = BaseTool.allowedContentTypes allowedContentTypes = BaseTool.allowedContentTypes
getVisibleAllowedContentTypeList = BaseTool.getVisibleAllowedContentTypeList getVisibleAllowedContentTypeList = BaseTool.getVisibleAllowedContentTypeList
# The functions 'getERP5CatalogIdList' and 'getERP5Catalog' are meant to
# be used in restricted environment, cause the reason they were created is
# the transition of Catalog from SQLCatalog to ERP5Catalog, which basically
# means Catalog is going to be an ERP5 object, which is why we need these
# functions to be declared public.
security.declarePublic('getERP5CatalogIdList')
def getERP5CatalogIdList(self):
"""
Get ERP5 Catalog Ids
"""
self.objectIds(spec=('ERP5 Catalog',))
security.declarePublic('getERP5Catalog')
def getERP5Catalog(self):
"""
Get current ERP5 Catalog
"""
if id is None:
if not self.default_erp5_catalog_id:
id_list = self.getERP5CatalogIdList()
if len(id_list) > 0:
self.default_erp5_catalog_id = id_list[0]
else:
return default_value
id = self.default_erp5_catalog_id
return self._getOb(id, default_value)
security.declarePublic('getPreferredSQLCatalogId') security.declarePublic('getPreferredSQLCatalogId')
def getPreferredSQLCatalogId(self, id=None): def getPreferredSQLCatalogId(self, id=None):
""" """
......
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