def setup_handler(context): """SENAITE setup handler """ if context.readDataFile("bika.lims_various.txt") is None: return logger.info("SENAITE setup handler [BEGIN]") portal = context.getSite() # Run Installers remove_default_content(portal) hide_navbar_items(portal) reindex_content_structure(portal) setup_groups(portal) setup_catalog_mappings(portal) setup_core_catalogs(portal) # Setting up all LIMS catalogs defined in catalog folder setup_catalogs(portal, getCatalogDefinitions()) # Run after all catalogs have been setup setup_auditlog_catalog(portal) logger.info("SENAITE setup handler [DONE]")
def setupCatalogs(self, portal): # an item should belong to only one catalog. # that way looking it up means first looking up *the* catalog # in which it is indexed, as well as making it cheaper to index. def addIndex(cat, *args): # noinspection PyBroadException try: cat.addIndex(*args) except: pass def addColumn(cat, col): # noinspection PyBroadException try: cat.addColumn(col) except: pass # create lexicon wordSplitter = Empty() wordSplitter.group = 'Word Splitter' wordSplitter.name = 'Unicode Whitespace splitter' caseNormalizer = Empty() caseNormalizer.group = 'Case Normalizer' caseNormalizer.name = 'Unicode Case Normalizer' stopWords = Empty() stopWords.group = 'Stop Words' stopWords.name = 'Remove listed and single char words' elem = [wordSplitter, caseNormalizer, stopWords] zc_extras = Empty() zc_extras.index_type = 'Okapi BM25 Rank' zc_extras.lexicon_id = 'Lexicon' # bika_catalog bc = getToolByName(portal, 'bika_catalog', None) if bc is None: logger.warning('Could not find the bika_catalog tool.') return # noinspection PyBroadException try: bc.manage_addProduct['ZCTextIndex'].manage_addLexicon( 'Lexicon', 'Lexicon', elem) except: logger.warning('Could not add ZCTextIndex to bika_catalog') pass at = getToolByName(portal, 'archetype_tool') at.setCatalogsByType('Batch', ['bika_catalog', 'portal_catalog']) # TODO Remove in >v1.3.0 at.setCatalogsByType('Sample', ['bika_catalog', 'portal_catalog']) # TODO Remove in >v1.3.0 at.setCatalogsByType('SamplePartition', ['bika_catalog', 'portal_catalog']) at.setCatalogsByType('ReferenceSample', ['bika_catalog', 'portal_catalog']) addIndex(bc, 'path', 'ExtendedPathIndex', 'getPhysicalPath') addIndex(bc, 'allowedRolesAndUsers', 'KeywordIndex') addIndex(bc, 'UID', 'FieldIndex') addIndex(bc, 'SearchableText', 'ZCTextIndex', zc_extras) addIndex(bc, 'Title', 'ZCTextIndex', zc_extras) addIndex(bc, 'Description', 'ZCTextIndex', zc_extras) addIndex(bc, 'id', 'FieldIndex') addIndex(bc, 'getId', 'FieldIndex') addIndex(bc, 'Type', 'FieldIndex') addIndex(bc, 'portal_type', 'FieldIndex') addIndex(bc, 'created', 'DateIndex') addIndex(bc, 'Creator', 'FieldIndex') addIndex(bc, 'getObjPositionInParent', 'GopipIndex') addIndex(bc, 'title', 'FieldIndex', 'Title') addIndex(bc, 'sortable_title', 'FieldIndex') addIndex(bc, 'description', 'FieldIndex', 'Description') addIndex(bc, 'review_state', 'FieldIndex') addIndex(bc, 'Identifiers', 'KeywordIndex') addIndex(bc, 'is_active', 'BooleanIndex') addIndex(bc, 'BatchDate', 'DateIndex') addIndex(bc, 'getClientTitle', 'FieldIndex') addIndex(bc, 'getClientUID', 'FieldIndex') addIndex(bc, 'getClientID', 'FieldIndex') addIndex(bc, 'getClientBatchID', 'FieldIndex') addIndex(bc, 'getDateReceived', 'DateIndex') addIndex(bc, 'getDateSampled', 'DateIndex') addIndex(bc, 'getDueDate', 'DateIndex') addIndex(bc, 'getExpiryDate', 'DateIndex') addIndex(bc, 'getReferenceDefinitionUID', 'FieldIndex') addIndex(bc, 'getSampleTypeTitle', 'FieldIndex') addIndex(bc, 'getSampleTypeUID', 'FieldIndex') # https://github.com/senaite/senaite.core/pull/1091 addIndex(bc, 'getSupportedServices', 'KeywordIndex') addIndex(bc, 'getBlank', 'BooleanIndex') addIndex(bc, 'isValid', 'BooleanIndex') addColumn(bc, 'path') addColumn(bc, 'UID') addColumn(bc, 'id') addColumn(bc, 'getId') addColumn(bc, 'Type') addColumn(bc, 'portal_type') addColumn(bc, 'creator') addColumn(bc, 'Created') addColumn(bc, 'Title') addColumn(bc, 'Description') addColumn(bc, 'sortable_title') addColumn(bc, 'getClientTitle') addColumn(bc, 'getClientID') addColumn(bc, 'getClientBatchID') addColumn(bc, 'getSampleTypeTitle') addColumn(bc, 'getDateReceived') addColumn(bc, 'getDateSampled') addColumn(bc, 'review_state') # bika_setup_catalog bsc = getToolByName(portal, 'bika_setup_catalog', None) if bsc is None: logger.warning('Could not find the setup catalog tool.') return # noinspection PyBroadException try: bsc.manage_addProduct['ZCTextIndex'].manage_addLexicon( 'Lexicon', 'Lexicon', elem) except: logger.warning('Could not add ZCTextIndex to bika_setup_catalog') pass at = getToolByName(portal, 'archetype_tool') at.setCatalogsByType('Department', ['bika_setup_catalog', "portal_catalog", ]) at.setCatalogsByType('Container', ['bika_setup_catalog', ]) at.setCatalogsByType('ContainerType', ['bika_setup_catalog', ]) at.setCatalogsByType('AnalysisCategory', ['bika_setup_catalog', ]) at.setCatalogsByType('AnalysisService', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('AnalysisSpec', ['bika_setup_catalog', ]) at.setCatalogsByType('SampleCondition', ['bika_setup_catalog']) at.setCatalogsByType('SampleMatrix', ['bika_setup_catalog', ]) at.setCatalogsByType('SampleType', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('SamplePoint', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('StorageLocation', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('SamplingDeviation', ['bika_setup_catalog', ]) at.setCatalogsByType('IdentifierType', ['bika_setup_catalog', ]) at.setCatalogsByType('Instrument', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('InstrumentType', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('InstrumentLocation', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('Method', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('Multifile', ['bika_setup_catalog']) at.setCatalogsByType('AttachmentType', ['bika_setup_catalog', ]) at.setCatalogsByType('Attachment', ['portal_catalog']) at.setCatalogsByType('Calculation', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('AnalysisProfile', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('ARTemplate', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('LabProduct', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('LabContact', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('Manufacturer', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('Preservation', ['bika_setup_catalog', ]) at.setCatalogsByType('ReferenceDefinition', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('SRTemplate', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('SubGroup', ['bika_setup_catalog', ]) at.setCatalogsByType('Supplier', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('Unit', ['bika_setup_catalog', ]) at.setCatalogsByType('WorksheetTemplate', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('BatchLabel', ['bika_setup_catalog', ]) addIndex(bsc, 'path', 'ExtendedPathIndex', 'getPhysicalPath') addIndex(bsc, 'allowedRolesAndUsers', 'KeywordIndex') addIndex(bsc, 'UID', 'FieldIndex') addIndex(bsc, 'SearchableText', 'ZCTextIndex', zc_extras) addIndex(bsc, 'Title', 'ZCTextIndex', zc_extras) addIndex(bsc, 'Description', 'ZCTextIndex', zc_extras) addIndex(bsc, 'id', 'FieldIndex') addIndex(bsc, 'getId', 'FieldIndex') addIndex(bsc, 'Type', 'FieldIndex') addIndex(bsc, 'portal_type', 'FieldIndex') addIndex(bsc, 'created', 'DateIndex') addIndex(bsc, 'Creator', 'FieldIndex') addIndex(bsc, 'getObjPositionInParent', 'GopipIndex') addIndex(bc, 'Identifiers', 'KeywordIndex') addIndex(bsc, 'title', 'FieldIndex', 'Title') addIndex(bsc, 'sortable_title', 'FieldIndex') addIndex(bsc, 'description', 'FieldIndex', 'Description') addIndex(bsc, 'review_state', 'FieldIndex') addIndex(bsc, 'getAccredited', 'FieldIndex') addIndex(bsc, 'getAnalyst', 'FieldIndex') addIndex(bsc, 'getBlank', 'FieldIndex') addIndex(bsc, 'getCalculationTitle', 'FieldIndex') addIndex(bsc, 'getCalculationUID', 'FieldIndex') addIndex(bsc, 'getCalibrationExpiryDate', 'FieldIndex') addIndex(bsc, 'getCategoryTitle', 'FieldIndex') addIndex(bsc, 'getCategoryUID', 'FieldIndex') addIndex(bsc, 'getClientUID', 'FieldIndex') addIndex(bsc, 'getDepartmentTitle', 'FieldIndex') addIndex(bsc, 'getDocumentID', 'FieldIndex') addIndex(bsc, 'getDuplicateVariation', 'FieldIndex') addIndex(bsc, 'getFormula', 'FieldIndex') addIndex(bsc, 'getFullname', 'FieldIndex') addIndex(bsc, 'getHazardous', 'FieldIndex') addIndex(bsc, 'getInstrumentLocationName', 'FieldIndex') addIndex(bsc, 'getInstrumentTitle', 'FieldIndex') addIndex(bsc, 'getInstrumentType', 'FieldIndex') addIndex(bsc, 'getInstrumentTypeName', 'FieldIndex') addIndex(bsc, 'getKeyword', 'FieldIndex') addIndex(bsc, 'getManagerEmail', 'FieldIndex') addIndex(bsc, 'getManagerName', 'FieldIndex') addIndex(bsc, 'getManagerPhone', 'FieldIndex') addIndex(bsc, 'getMaxTimeAllowed', 'FieldIndex') addIndex(bsc, 'getMethodID', 'FieldIndex') addIndex(bsc, 'getAvailableMethodUIDs', 'KeywordIndex') addIndex(bsc, 'getModel', 'FieldIndex') addIndex(bsc, 'getName', 'FieldIndex') addIndex(bsc, 'getPointOfCapture', 'FieldIndex') addIndex(bsc, 'getPrice', 'FieldIndex') addIndex(bsc, 'getSamplePointTitle', 'KeywordIndex') addIndex(bsc, 'getSamplePointUID', 'FieldIndex') addIndex(bsc, 'getSampleTypeTitle', 'FieldIndex') addIndex(bsc, 'getSampleTypeTitles', 'KeywordIndex') addIndex(bsc, 'getSampleTypeUID', 'FieldIndex') addIndex(bsc, 'getServiceUID', 'FieldIndex') addIndex(bsc, 'getServiceUIDs', 'KeywordIndex') addIndex(bsc, 'getTotalPrice', 'FieldIndex') addIndex(bsc, 'getUnit', 'FieldIndex') addIndex(bsc, 'getVATAmount', 'FieldIndex') addIndex(bsc, 'getVolume', 'FieldIndex') addIndex(bsc, 'is_active', 'BooleanIndex') addColumn(bsc, 'path') addColumn(bsc, 'UID') addColumn(bsc, 'id') addColumn(bsc, 'getId') addColumn(bsc, 'Type') addColumn(bsc, 'portal_type') addColumn(bsc, 'getObjPositionInParent') addColumn(bsc, 'Title') addColumn(bsc, 'Description') addColumn(bsc, 'title') addColumn(bsc, 'sortable_title') addColumn(bsc, 'description') addColumn(bsc, 'review_state') addColumn(bsc, 'getAccredited') addColumn(bsc, 'getInstrumentType') addColumn(bsc, 'getInstrumentTypeName') addColumn(bsc, 'getInstrumentLocationName') addColumn(bsc, 'getBlank') addColumn(bsc, 'getCalculationTitle') addColumn(bsc, 'getCalculationUID') addColumn(bsc, 'getCalibrationExpiryDate') addColumn(bsc, 'getCategoryTitle') addColumn(bsc, 'getCategoryUID') addColumn(bsc, 'getClientUID') addColumn(bsc, 'getDepartmentTitle') addColumn(bsc, 'getDuplicateVariation') addColumn(bsc, 'getFormula') addColumn(bsc, 'getFullname') addColumn(bsc, 'getHazardous') addColumn(bsc, 'getInstrumentTitle') addColumn(bsc, 'getKeyword') addColumn(bsc, 'getManagerName') addColumn(bsc, 'getManagerPhone') addColumn(bsc, 'getManagerEmail') addColumn(bsc, 'getMaxTimeAllowed') addColumn(bsc, 'getModel') addColumn(bsc, 'getName') addColumn(bsc, 'getPointOfCapture') addColumn(bsc, 'getPrice') addColumn(bsc, 'getSamplePointTitle') addColumn(bsc, 'getSamplePointUID') addColumn(bsc, 'getSampleTypeTitle') addColumn(bsc, 'getSampleTypeUID') addColumn(bsc, 'getServiceUID') addColumn(bsc, 'getTotalPrice') addColumn(bsc, 'getUnit') addColumn(bsc, 'getVATAmount') addColumn(bsc, 'getVolume') # portal_catalog pc = getToolByName(portal, 'portal_catalog', None) if pc is None: logger.warning('Could not find the portal_catalog tool.') return addIndex(pc, 'Analyst', 'FieldIndex') addColumn(pc, 'Analyst') # TODO: Nmrl addColumn(pc, 'getProvince') addColumn(pc, 'getDistrict') # Setting up all LIMS catalogs defined in catalog folder setup_catalogs(portal, getCatalogDefinitions())
def setupCatalogs(self, portal): # an item should belong to only one catalog. # that way looking it up means first looking up *the* catalog # in which it is indexed, as well as making it cheaper to index. def addIndex(cat, *args): # noinspection PyBroadException try: cat.addIndex(*args) except: pass def addColumn(cat, col): # noinspection PyBroadException try: cat.addColumn(col) except: pass # create lexicon wordSplitter = Empty() wordSplitter.group = 'Word Splitter' wordSplitter.name = 'Unicode Whitespace splitter' caseNormalizer = Empty() caseNormalizer.group = 'Case Normalizer' caseNormalizer.name = 'Unicode Case Normalizer' stopWords = Empty() stopWords.group = 'Stop Words' stopWords.name = 'Remove listed and single char words' elem = [wordSplitter, caseNormalizer, stopWords] zc_extras = Empty() zc_extras.index_type = 'Okapi BM25 Rank' zc_extras.lexicon_id = 'Lexicon' # bika_catalog bc = getToolByName(portal, 'bika_catalog', None) if bc is None: logger.warning('Could not find the bika_catalog tool.') return # noinspection PyBroadException try: bc.manage_addProduct['ZCTextIndex'].manage_addLexicon( 'Lexicon', 'Lexicon', elem) except: logger.warning('Could not add ZCTextIndex to bika_catalog') pass at = getToolByName(portal, 'archetype_tool') at.setCatalogsByType('Batch', ['bika_catalog', 'portal_catalog']) at.setCatalogsByType('Sample', ['bika_catalog', 'portal_catalog']) at.setCatalogsByType('SamplePartition', ['bika_catalog', 'portal_catalog']) at.setCatalogsByType('ReferenceSample', ['bika_catalog', 'portal_catalog']) addIndex(bc, 'path', 'ExtendedPathIndex', 'getPhysicalPath') addIndex(bc, 'allowedRolesAndUsers', 'KeywordIndex') addIndex(bc, 'UID', 'FieldIndex') addIndex(bc, 'SearchableText', 'ZCTextIndex', zc_extras) addIndex(bc, 'Title', 'ZCTextIndex', zc_extras) addIndex(bc, 'Description', 'ZCTextIndex', zc_extras) addIndex(bc, 'id', 'FieldIndex') addIndex(bc, 'getId', 'FieldIndex') addIndex(bc, 'Type', 'FieldIndex') addIndex(bc, 'portal_type', 'FieldIndex') addIndex(bc, 'created', 'DateIndex') addIndex(bc, 'Creator', 'FieldIndex') addIndex(bc, 'getObjPositionInParent', 'GopipIndex') addIndex(bc, 'title', 'FieldIndex', 'Title') addIndex(bc, 'sortable_title', 'FieldIndex') addIndex(bc, 'description', 'FieldIndex', 'Description') addIndex(bc, 'review_state', 'FieldIndex') addIndex(bc, 'inactive_state', 'FieldIndex') addIndex(bc, 'worksheetanalysis_review_state', 'FieldIndex') addIndex(bc, 'cancellation_state', 'FieldIndex') addIndex(bc, 'Identifiers', 'KeywordIndex') addIndex(bc, 'getDepartmentUIDs', 'KeywordIndex') addIndex(bc, 'getAnalysisService', 'KeywordIndex') addIndex(bc, 'getAnalyst', 'FieldIndex') addIndex(bc, 'getAnalysts', 'KeywordIndex') addIndex(bc, 'getAnalysesUIDs', 'KeywordIndex') addIndex(bc, 'BatchDate', 'DateIndex') addIndex(bc, 'getClientOrderNumber', 'FieldIndex') addIndex(bc, 'getClientReference', 'FieldIndex') addIndex(bc, 'getClientSampleID', 'FieldIndex') addIndex(bc, 'getClientTitle', 'FieldIndex') addIndex(bc, 'getClientUID', 'FieldIndex') addIndex(bc, 'getContactTitle', 'FieldIndex') addIndex(bc, 'getDateDisposed', 'DateIndex') addIndex(bc, 'getDateExpired', 'DateIndex') addIndex(bc, 'getDateOpened', 'DateIndex') addIndex(bc, 'getDatePublished', 'DateIndex') addIndex(bc, 'getDateReceived', 'DateIndex') addIndex(bc, 'getDateSampled', 'DateIndex') addIndex(bc, 'getDisposalDate', 'DateIndex') addIndex(bc, 'getDueDate', 'DateIndex') addIndex(bc, 'getExpiryDate', 'DateIndex') addIndex(bc, 'getInvoiced', 'FieldIndex') addIndex(bc, 'getPreserver', 'FieldIndex') addIndex(bc, 'getReferenceDefinitionUID', 'FieldIndex') addIndex(bc, 'getSampleID', 'FieldIndex') addIndex(bc, 'getSamplePointTitle', 'FieldIndex') addIndex(bc, 'getSamplePointUID', 'FieldIndex') addIndex(bc, 'getSampler', 'FieldIndex') addIndex(bc, 'getScheduledSamplingSampler', 'FieldIndex') addIndex(bc, 'getSampleTypeTitle', 'FieldIndex') addIndex(bc, 'getSampleTypeUID', 'FieldIndex') addIndex(bc, 'getSampleUID', 'FieldIndex') addIndex(bc, 'getSamplingDate', 'DateIndex') addIndex(bc, 'getWorksheetTemplateTitle', 'FieldIndex') addIndex(bc, 'BatchUID', 'FieldIndex') addColumn(bc, 'path') addColumn(bc, 'UID') addColumn(bc, 'id') addColumn(bc, 'getId') addColumn(bc, 'Type') addColumn(bc, 'portal_type') addColumn(bc, 'creator') addColumn(bc, 'Created') addColumn(bc, 'Title') addColumn(bc, 'Description') addColumn(bc, 'sortable_title') addColumn(bc, 'review_state') addColumn(bc, 'inactive_state') addColumn(bc, 'cancellation_state') addColumn(bc, 'getAnalysts') addColumn(bc, 'getSampleID') addColumn(bc, 'getClientOrderNumber') addColumn(bc, 'getClientReference') addColumn(bc, 'getClientSampleID') addColumn(bc, 'getContactTitle') addColumn(bc, 'getClientTitle') addColumn(bc, 'getSamplePointTitle') addColumn(bc, 'getSampleTypeTitle') addColumn(bc, 'getAnalysisService') addColumn(bc, 'getDatePublished') addColumn(bc, 'getDateReceived') addColumn(bc, 'getDateSampled') addColumn(bc, 'review_state') # bika_setup_catalog bsc = getToolByName(portal, 'bika_setup_catalog', None) if bsc is None: logger.warning('Could not find the setup catalog tool.') return # noinspection PyBroadException try: bsc.manage_addProduct['ZCTextIndex'].manage_addLexicon( 'Lexicon', 'Lexicon', elem) except: logger.warning('Could not add ZCTextIndex to bika_setup_catalog') pass at = getToolByName(portal, 'archetype_tool') at.setCatalogsByType('Department', ['bika_setup_catalog', "portal_catalog", ]) at.setCatalogsByType('Container', ['bika_setup_catalog', ]) at.setCatalogsByType('ContainerType', ['bika_setup_catalog', ]) at.setCatalogsByType('AnalysisCategory', ['bika_setup_catalog', ]) at.setCatalogsByType('AnalysisService', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('AnalysisSpec', ['bika_setup_catalog', ]) at.setCatalogsByType('SampleCondition', ['bika_setup_catalog']) at.setCatalogsByType('SampleMatrix', ['bika_setup_catalog', ]) at.setCatalogsByType('SampleType', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('SamplePoint', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('StorageLocation', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('SamplingDeviation', ['bika_setup_catalog', ]) at.setCatalogsByType('IdentifierType', ['bika_setup_catalog', ]) at.setCatalogsByType('Instrument', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('InstrumentType', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('InstrumentLocation', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('Method', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('Multifile', ['bika_setup_catalog']) at.setCatalogsByType('AttachmentType', ['bika_setup_catalog', ]) at.setCatalogsByType('Attachment', ['portal_catalog']) at.setCatalogsByType('Calculation', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('AnalysisProfile', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('ARTemplate', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('LabProduct', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('LabContact', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('Manufacturer', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('Preservation', ['bika_setup_catalog', ]) at.setCatalogsByType('ReferenceDefinition', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('SRTemplate', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('SubGroup', ['bika_setup_catalog', ]) at.setCatalogsByType('Supplier', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('Unit', ['bika_setup_catalog', ]) at.setCatalogsByType('WorksheetTemplate', ['bika_setup_catalog', 'portal_catalog']) at.setCatalogsByType('BatchLabel', ['bika_setup_catalog', ]) addIndex(bsc, 'path', 'ExtendedPathIndex', 'getPhysicalPath') addIndex(bsc, 'allowedRolesAndUsers', 'KeywordIndex') addIndex(bsc, 'UID', 'FieldIndex') addIndex(bsc, 'SearchableText', 'ZCTextIndex', zc_extras) addIndex(bsc, 'Title', 'ZCTextIndex', zc_extras) addIndex(bsc, 'Description', 'ZCTextIndex', zc_extras) addIndex(bsc, 'id', 'FieldIndex') addIndex(bsc, 'getId', 'FieldIndex') addIndex(bsc, 'Type', 'FieldIndex') addIndex(bsc, 'portal_type', 'FieldIndex') addIndex(bsc, 'created', 'DateIndex') addIndex(bsc, 'Creator', 'FieldIndex') addIndex(bsc, 'getObjPositionInParent', 'GopipIndex') addIndex(bc, 'Identifiers', 'KeywordIndex') addIndex(bsc, 'title', 'FieldIndex', 'Title') addIndex(bsc, 'sortable_title', 'FieldIndex') addIndex(bsc, 'description', 'FieldIndex', 'Description') addIndex(bsc, 'review_state', 'FieldIndex') addIndex(bsc, 'inactive_state', 'FieldIndex') addIndex(bsc, 'cancellation_state', 'FieldIndex') addIndex(bsc, 'getAccredited', 'FieldIndex') addIndex(bsc, 'getAnalyst', 'FieldIndex') addIndex(bsc, 'getBlank', 'FieldIndex') addIndex(bsc, 'getCalculationTitle', 'FieldIndex') addIndex(bsc, 'getCalculationUID', 'FieldIndex') addIndex(bsc, 'getCalibrationExpiryDate', 'FieldIndex') addIndex(bsc, 'getCategoryTitle', 'FieldIndex') addIndex(bsc, 'getCategoryUID', 'FieldIndex') addIndex(bsc, 'getClientUID', 'FieldIndex') addIndex(bsc, 'getDepartmentTitle', 'FieldIndex') addIndex(bsc, 'getDepartmentUID', 'FieldIndex') addIndex(bsc, 'getDocumentID', 'FieldIndex') addIndex(bsc, 'getDuplicateVariation', 'FieldIndex') addIndex(bsc, 'getFormula', 'FieldIndex') addIndex(bsc, 'getFullname', 'FieldIndex') addIndex(bsc, 'getHazardous', 'FieldIndex') addIndex(bsc, 'getInstrumentLocationName', 'FieldIndex') addIndex(bsc, 'getInstrumentTitle', 'FieldIndex') addIndex(bsc, 'getInstrumentType', 'FieldIndex') addIndex(bsc, 'getInstrumentTypeName', 'FieldIndex') addIndex(bsc, 'getKeyword', 'FieldIndex') addIndex(bsc, 'getManagerEmail', 'FieldIndex') addIndex(bsc, 'getManagerName', 'FieldIndex') addIndex(bsc, 'getManagerPhone', 'FieldIndex') addIndex(bsc, 'getMaxTimeAllowed', 'FieldIndex') addIndex(bsc, 'getMethodID', 'FieldIndex') addIndex(bsc, 'getAvailableMethodUIDs', 'KeywordIndex') addIndex(bsc, 'getModel', 'FieldIndex') addIndex(bsc, 'getName', 'FieldIndex') addIndex(bsc, 'getPointOfCapture', 'FieldIndex') addIndex(bsc, 'getPrice', 'FieldIndex') addIndex(bsc, 'getSamplePointTitle', 'KeywordIndex') addIndex(bsc, 'getSamplePointUID', 'FieldIndex') addIndex(bsc, 'getSampleTypeTitle', 'FieldIndex') addIndex(bsc, 'getSampleTypeTitles', 'KeywordIndex') addIndex(bsc, 'getSampleTypeUID', 'FieldIndex') addIndex(bsc, 'getServiceUID', 'FieldIndex') addIndex(bsc, 'getServiceUIDs', 'KeywordIndex') addIndex(bsc, 'getTotalPrice', 'FieldIndex') addIndex(bsc, 'getUnit', 'FieldIndex') addIndex(bsc, 'getVATAmount', 'FieldIndex') addIndex(bsc, 'getVolume', 'FieldIndex') addColumn(bsc, 'path') addColumn(bsc, 'UID') addColumn(bsc, 'id') addColumn(bsc, 'getId') addColumn(bsc, 'Type') addColumn(bsc, 'portal_type') addColumn(bsc, 'getObjPositionInParent') addColumn(bsc, 'Title') addColumn(bsc, 'Description') addColumn(bsc, 'title') addColumn(bsc, 'sortable_title') addColumn(bsc, 'description') addColumn(bsc, 'review_state') addColumn(bsc, 'inactive_state') addColumn(bsc, 'cancellation_state') addColumn(bsc, 'getAccredited') addColumn(bsc, 'getInstrumentType') addColumn(bsc, 'getInstrumentTypeName') addColumn(bsc, 'getInstrumentLocationName') addColumn(bsc, 'getBlank') addColumn(bsc, 'getCalculationTitle') addColumn(bsc, 'getCalculationUID') addColumn(bsc, 'getCalibrationExpiryDate') addColumn(bsc, 'getCategoryTitle') addColumn(bsc, 'getCategoryUID') addColumn(bsc, 'getClientUID') addColumn(bsc, 'getDepartmentTitle') addColumn(bsc, 'getDuplicateVariation') addColumn(bsc, 'getFormula') addColumn(bsc, 'getFullname') addColumn(bsc, 'getHazardous') addColumn(bsc, 'getInstrumentTitle') addColumn(bsc, 'getKeyword') addColumn(bsc, 'getManagerName') addColumn(bsc, 'getManagerPhone') addColumn(bsc, 'getManagerEmail') addColumn(bsc, 'getMaxTimeAllowed') addColumn(bsc, 'getModel') addColumn(bsc, 'getName') addColumn(bsc, 'getPointOfCapture') addColumn(bsc, 'getPrice') addColumn(bsc, 'getSamplePointTitle') addColumn(bsc, 'getSamplePointUID') addColumn(bsc, 'getSampleTypeTitle') addColumn(bsc, 'getSampleTypeUID') addColumn(bsc, 'getServiceUID') addColumn(bsc, 'getTotalPrice') addColumn(bsc, 'getUnit') addColumn(bsc, 'getVATAmount') addColumn(bsc, 'getVolume') # portal_catalog pc = getToolByName(portal, 'portal_catalog', None) if pc is None: logger.warning('Could not find the portal_catalog tool.') return addIndex(pc, 'Analyst', 'FieldIndex') addColumn(pc, 'Analyst') # TODO: Nmrl addColumn(pc, 'getProvince') addColumn(pc, 'getDistrict') # Setting up all LIMS catalogs defined in catalog folder setup_catalogs(portal, getCatalogDefinitions())