Example #1
0
def upgradeTo1_3_0(setuptool):
    """Lots of changes in setup in 1.3.0
    """
    # We must delete ftis since something whoes in the 'typeinfo' step
    # FIXME: is this a GS bug or feature?
    portal_types = getPortal().portal_types
    for portal_type in ('Collage', 'CollageRow', 'CollageColumn',
                        'CollageAlias'):
        portal_types._delObject(portal_type)

    for step in ('typeinfo', 'cssregistry', 'actions', 'action-icons',
                 'jsregistry'):
        setuptool.runImportStepFromProfile(PROFILE_NAME,
                                           step,
                                           run_dependencies=False)

    # Remove useless alias_search_limit option in property sheet
    to_delete = 'alias_search_limit'
    propsheet = getPortal().portal_properties.collage_properties
    if propsheet.hasProperty(to_delete):
        propsheet._delProperty(to_delete)

    # Adding new properties
    to_add = [
        # Name, value, type
        ('ref_browser_empty', False, 'boolean'),
        ('ref_browser_types', False, 'boolean'),
        ('batch_size', 3, 'int')
    ]
    for name, value, ptype in to_add:
        if propsheet.hasProperty(name):
            continue
        propsheet.manage_addProperty(name, value, ptype)
    return
Example #2
0
def upgradeTo1_3_0(setuptool):
    """Lots of changes in setup in 1.3.0
    """
    # We must delete ftis since something whoes in the 'typeinfo' step
    # FIXME: is this a GS bug or feature?
    portal_types = getPortal().portal_types
    for portal_type in ('Collage', 'CollageRow', 'CollageColumn', 'CollageAlias'):
        portal_types._delObject(portal_type)

    for step in ('typeinfo', 'cssregistry', 'actions', 'action-icons', 'jsregistry'):
        setuptool.runImportStepFromProfile(PROFILE_NAME, step, run_dependencies=False)

    # Remove useless alias_search_limit option in property sheet
    to_delete = 'alias_search_limit'
    propsheet = getPortal().portal_properties.collage_properties
    if propsheet.hasProperty(to_delete):
        propsheet._delProperty(to_delete)

    # Adding new properties
    to_add = [
        # Name, value, type
        ('ref_browser_empty', False, 'boolean'),
        ('ref_browser_types', False, 'boolean'),
        ('batch_size', 3, 'int')
        ]
    for name, value, ptype in to_add:
        if propsheet.hasProperty(name):
            continue
        propsheet.manage_addProperty(name, value, ptype)
    return
Example #3
0
def updateJSRegistry(setuptool):
    """Javascript moved from skins to resources
    """
    OLDID = 'collage.js'
    NEWID = '++resource++collage-resources/collage.js'
    jstool = getPortal().portal_javascripts
    all_rscids = jstool.getResourceIds()
    if (OLDID in all_rscids) and (NEWID not in all_rscids):
        jstool.renameResource(OLDID, NEWID)
    return
Example #4
0
def updateJSRegistry(setuptool):
    """Javascript moved from skins to resources
    """
    OLDID = 'collage.js'
    NEWID = '++resource++collage-resources/collage.js'
    jstool = getPortal().portal_javascripts
    all_rscids = jstool.getResourceIds()
    if (OLDID in all_rscids) and (NEWID not in all_rscids):
        jstool.renameResource(OLDID, NEWID)
    return
Example #5
0
def addAliasWhitelistProperty(setuptool):
    """Add Alias whitelist control panel property
    """
    propsheet = getPortal().portal_properties.collage_properties
    # Default: same value as types whitelist
    default_value = propsheet.getProperty('types_whitelist')
    if propsheet.getProperty('alias_whitelist'):
        # property already exists; upgrade step has already been run
        # apparently; upgrade steps should not fail when run a second
        # time, so we return here.
        return
    propsheet.manage_addProperty('alias_whitelist', default_value, 'lines')
    return
Example #6
0
def addAliasWhitelistProperty(setuptool):
    """Add Alias whitelist control panel property
    """
    propsheet = getPortal().portal_properties.collage_properties
    # Default: same value as types whitelist
    default_value = propsheet.getProperty('types_whitelist')
    if propsheet.getProperty('alias_whitelist'):
        # property already exists; upgrade step has already been run
        # apparently; upgrade steps should not fail when run a second
        # time, so we return here.
        return
    propsheet.manage_addProperty('alias_whitelist', default_value, 'lines')
    return
Example #7
0
def removeSkinsLayer(setuptool):
    """Collage doesn't require a CMF skins layer anymore
    """
    LAYERNAME = 'Collage'
    skinstool = getPortal().portal_skins
    # Unfortunately, there's no easy way to remove a layer from all skins

    skinnames = skinstool.selections.keys()
    for name in skinnames:
        layers = skinstool.selections[name]
        layers = [l.strip() for l in layers.split(',')
                  if l.strip() != LAYERNAME]
        layers = ','.join(layers)
        skinstool.selections[name] = layers
    if LAYERNAME in skinstool.objectIds():
        skinstool._delObject(LAYERNAME)
    return
Example #8
0
def removeSkinsLayer(setuptool):
    """Collage doesn't require a CMF skins layer anymore
    """
    LAYERNAME = 'Collage'
    skinstool = getPortal().portal_skins
    # Unfortunately, there's no easy way to remove a layer from all skins

    skinnames = skinstool.selections.keys()
    for name in skinnames:
        layers = skinstool.selections[name]
        layers = [
            l.strip() for l in layers.split(',') if l.strip() != LAYERNAME
        ]
        layers = ','.join(layers)
        skinstool.selections[name] = layers
    if LAYERNAME in skinstool.objectIds():
        skinstool._delObject(LAYERNAME)
    return
Example #9
0
 def __init__(self, context):
     super(CollageSiteOptions, self).__init__(context)
     properties = getPortal().portal_properties
     self.context = properties.restrictedTraverse(PROPERTYSHEETNAME)