From: Roel B. <svn...@pl...> - 2010-08-26 15:33:21
|
Author: jaroel Date: Thu Aug 26 15:33:13 2010 New Revision: 39036 Modified: sandbox/plone.app.deco/branches/10910-fixregistry/plone/app/deco/interfaces.py sandbox/plone.app.deco/branches/10910-fixregistry/plone/app/deco/profiles/default/registry.xml sandbox/plone.app.deco/branches/10910-fixregistry/plone/app/deco/registry.py Log: Add app_tiles support Modified: sandbox/plone.app.deco/branches/10910-fixregistry/plone/app/deco/interfaces.py ============================================================================== --- sandbox/plone.app.deco/branches/10910-fixregistry/plone/app/deco/interfaces.py (original) +++ sandbox/plone.app.deco/branches/10910-fixregistry/plone/app/deco/interfaces.py Thu Aug 26 15:33:13 2010 @@ -43,16 +43,16 @@ # value_type=schema.TextLine(), # required=False) - formats = schema.List( - title=_(u"Styles"), - description=_(u"Enter a list of formats. Format is name|category|label|action|icon|favorite, one format per line."), - value_type=schema.TextLine(), - required=False) - - form.fieldset('tiles', - label=_(u"Tiles"), - fields=['tile_categories', 'structure_tiles', 'app_tiles'], - ) +# formats = schema.List( +# title=_(u"Styles"), +# description=_(u"Enter a list of formats. Format is name|category|label|action|icon|favorite, one format per line."), +# value_type=schema.TextLine(), +# required=False) + +# form.fieldset('tiles', +# label=_(u"Tiles"), +# fields=['tile_categories', 'structure_tiles', 'app_tiles'], +# ) # tile_categories = schema.List( # title=_(u"Tile categories"), @@ -60,17 +60,17 @@ # value_type=schema.TextLine(), # required=False) - structure_tiles = schema.List( - title=_(u"Structure tiles"), - description=_(u"Enter a list of structure tiles. Format is name|category|label|type|default_value|read_only|settings|favorite|rich_text|available_actions, one format per line."), - value_type=schema.TextLine(), - required=False) - - app_tiles = schema.List( - title=_(u"Application tiles"), - description=_(u"Enter a list of application tiles. Format is name|category|label|read_only|settings|favorite|rich_text|available_actions, one format per line."), - value_type=schema.TextLine(), - required=False) +# structure_tiles = schema.List( +# title=_(u"Structure tiles"), +# description=_(u"Enter a list of structure tiles. Format is name|category|label|type|default_value|read_only|settings|favorite|rich_text|available_actions, one format per line."), +# value_type=schema.TextLine(), +# required=False) + +# app_tiles = schema.List( +# title=_(u"Application tiles"), +# description=_(u"Enter a list of application tiles. Format is name|category|label|read_only|settings|favorite|rich_text|available_actions, one format per line."), +# value_type=schema.TextLine(), +# required=False) class IDecoRegistryAdapter(Interface): Modified: sandbox/plone.app.deco/branches/10910-fixregistry/plone/app/deco/profiles/default/registry.xml ============================================================================== --- sandbox/plone.app.deco/branches/10910-fixregistry/plone/app/deco/profiles/default/registry.xml (original) +++ sandbox/plone.app.deco/branches/10910-fixregistry/plone/app/deco/profiles/default/registry.xml Thu Aug 26 15:33:13 2010 @@ -354,10 +354,60 @@ </value> </record> - <record interface="plone.app.deco.interfaces.IDecoSettings" field="app_tiles"> - <value> - <element>plone.app.standardtiles.title|fields|Title|false|false|false|true|tile-align-block|tile-align-right|tile-align-left</element> - <element>plone.app.standardtiles.description|fields|Description|false|false|false|true|tile-align-block|tile-align-right|tile-align-left</element> - </value> + <record name="plone.app.deco.app_tiles.plone_app_standardtiles_title"> + <field type="plone.registry.field.Dict"> + <title>plone.app.standardtiles.title</title> + <key_type type="plone.registry.field.TextLine" /> + <value_type type="plone.registry.field.TextLine" /> + </field> + <value> + <element key="read_only">False</element> + <element key="category">fields</element> + <element key="name">plone.app.standardtiles.title</element> + <element key="settings">False</element> + <element key="favorite">False</element> + <element key="label">Title</element> + <element key="rich_text">True</element> + </value> + </record> + <record name="plone.app.deco.app_tiles.plone_app_standardtiles_title.available_actions"> + <field type="plone.registry.field.List"> + <title>Available actions for the Text structure tile</title> + <value_type type="plone.registry.field.TextLine" /> + </field> + <value> + <element>tile-align-block</element> + <element>tile-align-right</element> + <element>tile-align-left</element> + </value> + </record> + <record name="plone.app.deco.app_tiles.plone_app_standardtiles_description"> + <field type="plone.registry.field.Dict"> + <title>plone.app.standardtiles.description</title> + <key_type type="plone.registry.field.TextLine" /> + <value_type type="plone.registry.field.TextLine" /> + </field> + <value> + <element key="read_only">False</element> + <element key="category">fields</element> + <element key="name">plone.app.standardtiles.description</element> + <element key="settings">False</element> + <element key="favorite">False</element> + <element key="label">Description</element> + <element key="rich_text">True</element> + </value> </record> + <record name="plone.app.deco.app_tiles.plone_app_standardtiles_description.available_actions"> + <field type="plone.registry.field.List"> + <title>Available actions for the Text structure tile</title> + <value_type type="plone.registry.field.TextLine" /> + </field> + <value> + <element>tile-align-block</element> + <element>tile-align-right</element> + <element>tile-align-left</element> + </value> + </record> + + </registry> Modified: sandbox/plone.app.deco/branches/10910-fixregistry/plone/app/deco/registry.py ============================================================================== --- sandbox/plone.app.deco/branches/10910-fixregistry/plone/app/deco/registry.py (original) +++ sandbox/plone.app.deco/branches/10910-fixregistry/plone/app/deco/registry.py Thu Aug 26 15:33:13 2010 @@ -150,28 +150,19 @@ # Structure Tiles tiles = settings.get('%s.structure_tiles' % self.prefix, []) for key, tile in tiles.items(): + if not 'category' in tile: + continue index = GetCategoryIndex(config['tiles'], tile['category']) config['tiles'][index]['tiles'].append(tile) return config def mapApplicationTiles(self, settings, config): - return config - # Application Tiles - app_tiles = settings.get('app_tiles', []) - if app_tiles: - for app_tile in app_tiles: - tile_fields = app_tile.split('|') - config['tiles'][GetCategoryIndex(config['tiles'], tile_fields[1])]['tiles'].append({ - 'name': tile_fields[0], - 'label': tile_fields[2], - 'type': 'app', - 'default_value': '', - 'read_only': GetBool(tile_fields[3]), - 'settings': GetBool(tile_fields[4]), - 'favorite': GetBool(tile_fields[5]), - 'rich_text': GetBool(tile_fields[6]), - 'available_actions': tile_fields[7:-1], - }) + tiles = settings.get('%s.app_tiles' % self.prefix, []) + for key, tile in tiles.items(): + if not 'category' in tile: + continue + index = GetCategoryIndex(config['tiles'], tile['category']) + config['tiles'][index]['tiles'].append(tile) return config def mapFieldTiles(self, settings, config): |