Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add option in configlet to select tiles available for cover layout cr…
…eation (closes #191) an upgrade step is provided to update the registry with the new record, but it's not working yet see: http://stackoverflow.com/questions/16268938/how-to-add-a-plone-registry-record-programatically
- Loading branch information
Showing
11 changed files
with
208 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,11 @@ | ||
<?xml version="1.0"?> | ||
<registry> | ||
<record name="collective.cover.controlpanel.ICoverSettings.layouts" remove="true" /> | ||
<record name="collective.cover.controlpanel.ICoverSettings.available_tiles" remove="true" /> | ||
<record name="collective.cover.controlpanel.ICoverSettings.searchable_content_types" remove="true"/> | ||
<!-- BBB: needed for compatibility with plone.app.registry < 1.2 | ||
right now Plone 4.2.x uses plone.app.registry = 1.1 --> | ||
<record name="collective.cover.controlpanel.ICoverSettings.layouts" delete="true" /> | ||
<record name="collective.cover.controlpanel.ICoverSettings.available_tiles" delete="true"/> | ||
<record name="collective.cover.controlpanel.ICoverSettings.searchable_content_types" delete="true"/> | ||
</registry> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# -*- coding: utf-8 -*- | ||
|
||
from collective.cover.testing import INTEGRATION_TESTING | ||
from collective.cover.upgrades import register_available_tiles_record | ||
from plone.registry.interfaces import IRecordAddedEvent | ||
from plone.registry.interfaces import IRegistry | ||
from zope.component import eventtesting | ||
from zope.component import getUtility | ||
|
||
import unittest | ||
|
||
|
||
class UpgradeStepsTestCase(unittest.TestCase): | ||
|
||
layer = INTEGRATION_TESTING | ||
|
||
def setUp(self): | ||
self.portal = self.layer['portal'] | ||
|
||
def test_from_2_to_3(self): | ||
registry = getUtility(IRegistry) | ||
record = 'collective.cover.controlpanel.ICoverSettings.available_tiles' | ||
|
||
eventtesting.setUp() | ||
# calling the handler here should have no effect as we are running the | ||
# latest profile version | ||
register_available_tiles_record(self.portal) | ||
events = eventtesting.getEvents(IRecordAddedEvent) | ||
self.assertEqual(len(events), 0) | ||
eventtesting.clearEvents() | ||
|
||
# now we delete the record and rerun the handler to verify the record | ||
# was added | ||
del registry.records[record] | ||
register_available_tiles_record(self.portal) | ||
events = eventtesting.getEvents(IRecordAddedEvent) | ||
self.assertEqual(len(events), 1) | ||
self.assertIn(record, registry.records) | ||
eventtesting.clearEvents() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# -*- coding:utf-8 -*- | ||
|
||
from collective.cover import _ | ||
from collective.cover.config import DEFAULT_AVAILABLE_TILES | ||
from collective.cover.config import PROJECTNAME | ||
from plone.registry import field | ||
from plone.registry import Record | ||
from plone.registry.interfaces import IRegistry | ||
from zope.component import getUtility | ||
|
||
import logging | ||
|
||
|
||
def register_available_tiles_record(context, logger=None): | ||
"""Handler for upgrade step from 2 to 3; adds the 'available_tiles' record | ||
to the registry. | ||
""" | ||
if logger is None: | ||
logger = logging.getLogger(PROJECTNAME) | ||
|
||
registry = getUtility(IRegistry) | ||
record = 'collective.cover.controlpanel.ICoverSettings.available_tiles' | ||
|
||
if record not in registry.records: | ||
available_tiles = field.List( | ||
title=_(u"Available tiles"), | ||
description=_(u"This tiles will be available for layout creation."), | ||
required=True, | ||
default=DEFAULT_AVAILABLE_TILES, | ||
value_type=field.Choice( | ||
vocabulary=u'collective.cover.EnabledTiles'), | ||
) | ||
|
||
registry.records[record] = Record(available_tiles) | ||
logger.info("'available_tiles' record was added to the registry") | ||
else: | ||
logger.info("'available_tiles' record already exists in the registry") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters