コード例 #1
0
def upgrade(tool):
    portal = tool.aq_inner.aq_parent
    setup = portal.portal_setup
    ut = UpgradeUtils(portal)
    ver_from = ut.getInstalledVersion(product)

    if ut.isOlderVersion(product, version):
        logger.info("Skipping upgrade of {0}: {1} > {2}".format(
            product, ver_from, version))
        return True

    logger.info("Upgrading {0}: {1} -> {2}".format(product, ver_from, version))

    # -------- ADD YOUR STUFF BELOW --------
    setup.runImportStepFromProfile(profile, "actions")
    setup.runImportStepFromProfile(profile, "rolemap")
    setup.runImportStepFromProfile(profile, "workflow")
    setup.runImportStepFromProfile(profile, "typeinfo")
    setup.runImportStepFromProfile(profile, "toolset")
    setup.runImportStepFromProfile(profile, "content")
    setup.runImportStepFromProfile(profile, "controlpanel")

    # Remove alls Samples and Partition
    # https://github.com/senaite/senaite.core/pull/1359
    remove_samples_and_partitions(portal)

    # Convert inline images
    # https://github.com/senaite/senaite.core/issues/1333
    convert_inline_images_to_attachments(portal)

    # https://github.com/senaite/senaite.core/pull/1324
    # initialize auditlogging
    setup_auditlog_catalog(portal)
    init_auditlog(portal)
    remove_log_action(portal)

    # Mark objects based on the transitions performed to them
    # https://github.com/senaite/senaite.core/pull/1330
    mark_transitions_performed(portal)

    # Reindex sortable_title to make sorting case-insenstive
    # https://github.com/senaite/senaite.core/pull/1337
    reindex_sortable_title(portal)

    # Remove unnecessary indexes/metadata from worksheet catalog
    # https://github.com/senaite/senaite.core/pull/1362
    cleanup_worksheet_catalog(portal)

    # Apply permissions for Manage Worksheets
    # https://github.com/senaite/senaite.core/issues/1387
    update_worksheet_manage_permissions(api.get_setup())

    # Add getInternalUse metadata
    # https://github.com/senaite/senaite.core/pull/1391
    catalog = api.get_tool(CATALOG_ANALYSIS_REQUEST_LISTING)
    catalog.addColumn("getInternalUse")

    logger.info("{0} upgraded to version {1}".format(product, version))
    return True
コード例 #2
0
def upgrade(tool):
    portal = tool.aq_inner.aq_parent
    setup = portal.portal_setup
    ut = UpgradeUtils(portal)
    ver_from = ut.getInstalledVersion(product)

    if ut.isOlderVersion(product, version):
        logger.info("Skipping upgrade of {0}: {1} > {2}".format(
            product, ver_from, version))
        return True

    logger.info("Upgrading {0}: {1} -> {2}".format(product, ver_from, version))

    # -------- ADD YOUR STUFF BELOW --------
    setup.runImportStepFromProfile(profile, "actions")
    setup.runImportStepFromProfile(profile, "workflow")
    setup.runImportStepFromProfile(profile, "typeinfo")
    setup.runImportStepFromProfile(profile, "toolset")
    setup.runImportStepFromProfile(profile, "content")

    # Convert inline images
    # https://github.com/senaite/senaite.core/issues/1333
    convert_inline_images_to_attachments(portal)

    # https://github.com/senaite/senaite.core/pull/1324
    # initialize auditlogging
    setup_auditlog_catalog(portal)
    init_auditlog(portal)
    remove_log_action(portal)

    # Mark objects based on the transitions performed to them
    # https://github.com/senaite/senaite.core/pull/1330
    mark_transitions_performed(portal)

    # Reindex sortable_title to make sorting case-insenstive
    # https://github.com/senaite/senaite.core/pull/1337
    reindex_sortable_title(portal)

    logger.info("{0} upgraded to version {1}".format(product, version))
    return True