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 setup_health_catalogs(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): try: cat.addIndex(*args) except: pass def addColumn(cat, col): try: cat.addColumn(col) except: pass logger.info("Setup catalogs ...") # bika_catalog bc = getToolByName(portal, 'bika_catalog', None) if not bc: logger.warning('Could not find the bika_catalog tool.') return addIndex(bc, 'getClientTitle', 'FieldIndex') addIndex(bc, 'getPatientID', 'FieldIndex') addIndex(bc, 'getPatientUID', 'FieldIndex') addIndex(bc, 'getPatientTitle', 'FieldIndex') addIndex(bc, 'getDoctorID', 'FieldIndex') addIndex(bc, 'getDoctorUID', 'FieldIndex') addIndex(bc, 'getDoctorTitle', 'FieldIndex') addIndex(bc, 'getClientPatientID', 'FieldIndex') addColumn(bc, 'getClientTitle') addColumn(bc, 'getPatientID') addColumn(bc, 'getPatientUID') addColumn(bc, 'getPatientTitle') addColumn(bc, 'getDoctorID') addColumn(bc, 'getDoctorUID') addColumn(bc, 'getDoctorTitle') addColumn(bc, 'getClientPatientID') # portal_catalog pc = getToolByName(portal, 'portal_catalog', None) if not pc: logger.warning('Could not find the portal_catalog tool.') return addIndex(pc, 'getDoctorID', 'FieldIndex') addIndex(pc, 'getDoctorUID', 'FieldIndex') addIndex(pc, 'getPrimaryReferrerUID', 'FieldIndex') addColumn(pc, 'getDoctorID') addColumn(pc, 'getDoctorUID') # bika_setup_catalog bsc = getToolByName(portal, 'bika_setup_catalog', None) if not bsc: logger.warning('Could not find the bika_setup_catalog tool.') return at = getToolByName(portal, 'archetype_tool') at.setCatalogsByType('Disease', [ 'bika_setup_catalog', ]) at.setCatalogsByType('AetiologicAgent', [ 'bika_setup_catalog', ]) at.setCatalogsByType('Treatment', ['bika_setup_catalog']) at.setCatalogsByType('Symptom', ['bika_setup_catalog']) at.setCatalogsByType('Drug', ['bika_setup_catalog']) at.setCatalogsByType('DrugProhibition', ['bika_setup_catalog']) at.setCatalogsByType('VaccinationCenter', [ 'bika_setup_catalog', ]) at.setCatalogsByType('InsuranceCompany', [ 'bika_setup_catalog', ]) at.setCatalogsByType('Immunization', [ 'bika_setup_catalog', ]) at.setCatalogsByType('CaseStatus', [ 'bika_setup_catalog', ]) at.setCatalogsByType('CaseOutcome', [ 'bika_setup_catalog', ]) at.setCatalogsByType('IdentifierType', [ 'bika_setup_catalog', ]) at.setCatalogsByType('CaseSyndromicClassification', ['bika_setup_catalog']) at.setCatalogsByType('Ethnicity', [ 'bika_setup_catalog', ]) addIndex(bsc, 'getGender', 'FieldIndex') addColumn(bsc, 'getGender') catalog_definitions_lims_health = getCatalogDefinitionsLIMS() catalog_definitions_lims_health.update(getCatalogDefinitionsHealth()) # Updating health catalogs if there is any change in them setup_catalogs(portal, catalog_definitions_lims_health, catalogs_extension=getCatalogExtensions()) logger.info("Setup catalogs [DONE]")
def setupHealthCatalogs(context): # 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. if context.readDataFile('bika.health.txt') is None: return portal = context.getSite() def addIndex(cat, *args): try: cat.addIndex(*args) except: pass def addColumn(cat, col): 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 == None: logger.warning('Could not find the bika_catalog tool.') return addIndex(bc, 'getClientTitle', 'FieldIndex') addIndex(bc, 'getPatientID', 'FieldIndex') addIndex(bc, 'getPatientUID', 'FieldIndex') addIndex(bc, 'getPatientTitle', 'FieldIndex') addIndex(bc, 'getDoctorID', 'FieldIndex') addIndex(bc, 'getDoctorUID', 'FieldIndex') addIndex(bc, 'getDoctorTitle', 'FieldIndex') addIndex(bc, 'getClientPatientID', 'FieldIndex') addColumn(bc, 'getClientTitle') addColumn(bc, 'getPatientID') addColumn(bc, 'getPatientUID') addColumn(bc, 'getPatientTitle') addColumn(bc, 'getDoctorID') addColumn(bc, 'getDoctorUID') addColumn(bc, 'getDoctorTitle') addColumn(bc, 'getClientPatientID') # portal_catalog pc = getToolByName(portal, 'portal_catalog', None) if pc == None: logger.warning('Could not find the portal_catalog tool.') return addIndex(pc, 'getDoctorID', 'FieldIndex') addIndex(pc, 'getDoctorUID', 'FieldIndex') addColumn(pc, 'getDoctorID') addColumn(pc, 'getDoctorUID') # bika_setup_catalog bsc = getToolByName(portal, 'bika_setup_catalog', None) if bsc == None: logger.warning('Could not find the bika_setup_catalog tool.') return at = getToolByName(portal, 'archetype_tool') at.setCatalogsByType('Disease', [ 'bika_setup_catalog', ]) at.setCatalogsByType('AetiologicAgent', [ 'bika_setup_catalog', ]) at.setCatalogsByType('Treatment', ['bika_setup_catalog']) at.setCatalogsByType('Symptom', ['bika_setup_catalog']) at.setCatalogsByType('Drug', ['bika_setup_catalog']) at.setCatalogsByType('DrugProhibition', ['bika_setup_catalog']) at.setCatalogsByType('VaccinationCenter', [ 'bika_setup_catalog', ]) at.setCatalogsByType('InsuranceCompany', [ 'bika_setup_catalog', ]) at.setCatalogsByType('Immunization', [ 'bika_setup_catalog', ]) at.setCatalogsByType('CaseStatus', [ 'bika_setup_catalog', ]) at.setCatalogsByType('CaseOutcome', [ 'bika_setup_catalog', ]) at.setCatalogsByType('EpidemiologicalYear', [ 'bika_setup_catalog', ]) at.setCatalogsByType('IdentifierType', [ 'bika_setup_catalog', ]) at.setCatalogsByType('CaseSyndromicClassification', [ 'bika_setup_catalog', ]) at.setCatalogsByType('Ethnicity', [ 'bika_setup_catalog', ]) addIndex(bsc, 'getGender', 'FieldIndex') addColumn(bsc, 'getGender') catalog_definitions_lims_health = getCatalogDefinitionsLIMS() catalog_definitions_lims_health.update(getCatalogDefinitionsHealth()) # Updating health catalogs if there is any change in them setup_catalogs(portal, catalog_definitions_lims_health, catalogs_extension=getCatalogExtensions())
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())