-##parameters=
-View = 'View'
-ModifyPortalContent = 'Modify portal content'
-
-
-# Mosaic Document regular fti
-mosaicDocument_fti = {'id' : 'Mosaic Document',
- 'title' : 'Mosaic Document',
- 'content_icon' : 'mosaic_icon.png',
- 'product' : 'MosaicDocument',
- 'factory' : 'addMosaicDocument',
- 'meta_type' : 'Mosaic Document',
- 'immediate_view' : 'metadata_edit_form',
- 'allow_discussion' : 1,
- 'filter_content_types' : 0,
- 'actions' : (
- {'id': 'view',
- 'title': 'View',
- 'action': 'mosaicdocument_view',
- 'visible' : 1,
- 'permissions': (View,)},
-
- {'id': 'edit',
- 'title': 'Edit',
- 'action': 'mosaicdocument_edit_form',
- 'visible' : 1,
- 'permissions': (ModifyPortalContent,)},
-
- {'id': 'metadata',
- 'title': 'Metadata',
- 'action': 'metadata_edit_form',
- 'visible': 1,
- 'permissions': ()},),
- }
-
-# fixed fti part for basic blocks definitions
-fixedFtiPart = {'product' : 'MosaicDocument',
- 'factory' : 'addMosaicBlock',
- 'immediate_view' : 'view',
- 'filter_content_types' : 1,
- }
-
-defaultActions = ({'id' : 'view',
- 'title' : 'view',
- 'action' : 'view',
- 'permissions' : (View,),
- 'category' : 'object',
- },)
-
-# basic blocks definitions
-metaFtis = (
- {'id': 'Image Block',
- 'title': 'Image block',
- 'icon': 'mosaic_tool/image_block_icon.gif',
- 'meta_type': 'Image Block',
- 'filter_content_types': 1,
- 'allowed_content_types': (),
- 'template' : 'mosaic_tool/block_image_template',
- 'notify_wf' : 0,
- 'slots' : (
- {'id': 'image',
- 'type': 'Image Slot',
- 'args':
- {'thumb_width' : {'type' : 'int', 'value' : 440},
- 'thumb_height' : {'type' : 'int', 'value' : 440},
- 'blankThumbnail' : {'type' : 'string', 'value' : 'mosaic_tool/no_image.jpg'},
- }
- },
- ),
- 'rules' : (),
- 'actions' : defaultActions,
- },
-
- {'id': 'Two Images Block',
- 'title': 'Two images block',
- 'icon': 'mosaic_tool/image_block_icon.gif',
- 'meta_type': 'Two Images Block',
- 'filter_content_types': 1,
- 'allowed_content_types': (),
- 'template' : 'mosaic_tool/block_two_images_template',
- 'notify_wf' : 0,
- 'slots' : (
- {'id': 'image',
- 'type': 'Image Slot',
- 'args':
- {'thumb_width' : {'type' : 'int', 'value' : 440},
- 'thumb_height' : {'type' : 'int', 'value' : 440},
- 'blankThumbnail' : {'type' : 'string', 'value' : 'mosaic_tool/no_image.jpg'},
- }
- },
- {'id': 'image2',
- 'type': 'Image Slot',
- 'args':
- {'thumb_width' : {'type' : 'int', 'value' : 440},
- 'thumb_height' : {'type' : 'int', 'value' : 440},
- 'blankThumbnail' : {'type' : 'string', 'value' : 'mosaic_tool/no_image.jpg'},
- }
- }
- ),
- 'rules' : (),
- 'actions' : defaultActions,
- },
-
- {'id': 'Text Block',
- 'title': 'Text block',
- 'icon': 'mosaic_tool/image_block_icon.gif',
- 'meta_type': 'Text Block',
- 'filter_content_types': 1,
- 'allowed_content_types': (),
- 'template' : 'mosaic_tool/block_text_template',
- 'notify_wf' : 0,
- 'slots' : (
- {'id' : 'text',
- 'type' : 'Text Slot',
- 'args' :
- {'text' : {'type' : 'text', 'value' : ''},
- 'text_format' : {'type' : 'string', 'value' : 'structured-text'},
- 'cols' : {'type' : 'int', 'value' : 68},
- 'rows' : {'type' : 'int', 'value' : 20},
- }
- },
- ),
- 'rules' : (),
- 'actions' : defaultActions,
- },
-
- {'id': 'File Block',
- 'title': 'File Block',
- 'icon': 'mosaic_tool/image_block_icon.gif',
- 'meta_type': 'File Block',
- 'filter_content_types': 1,
- 'allowed_content_types': (),
- 'template' : 'mosaic_tool/block_file_template',
- 'notify_wf' : 0,
- 'slots' : (
- {'id': 'file',
- 'type': 'File Slot',
- 'args': {},
- },
- ),
- 'rules' : (),
- 'actions' : defaultActions,
- },
-
- {'id': 'Spacer Block',
- 'title': 'Spacer block',
- 'icon': 'mosaic_tool/image_block_icon.gif',
- 'meta_type': 'Spacer Block',
- 'filter_content_types': 1,
- 'allowed_content_types': (),
- 'template' : 'mosaic_tool/block_spacer_template',
- 'notify_wf' : 0,
- 'slots' : (
- {'id': 'space',
- 'type': 'Spacer Slot',
- 'args': {'nbOfSpaces' : {'type' : 'int', 'value' : 3},},
- },
- ),
- 'rules' : (),
- 'actions' : defaultActions,
- },
-
- {'id': 'Section Block',
- 'title': 'Section block',
- 'icon': 'mosaic_tool/image_block_icon.gif',
- 'meta_type': 'Section Block',
- 'filter_content_types': 1,
- 'allowed_content_types': (),
- 'template' : 'mosaic_tool/block_section_template',
- 'notify_wf' : 0,
- 'slots' : (
- {'id': 'section',
- 'type': 'String Slot',
- 'args':
- {'text' : {'type' : 'string', 'value' : ''},
- 'size' : {'type' : 'int', 'value' : 60},
- 'choices' : {'type' : 'lines', 'value' : []},
- 'castOperator' : {'type' : 'string', 'value' : 'string'},
- },
- },
- ),
- 'rules' : (),
- 'actions' : defaultActions,
- },
-
-
- {'id': 'Container Block',
- 'title': 'Container block',
- 'icon': 'mosaic_tool/image_block_icon.gif',
- 'meta_type': 'Container Block',
- 'filter_content_types': 1,
- 'allowed_content_types': (),
- 'actions' : defaultActions,
- },
-
-## Boxes blocks
- {'id': 'Tree Box Block',
- 'title': 'Tree Box Block',
- 'icon': 'mosaic_tool/tree_block_icon.gif',
- 'meta_type': 'Tree Box Block',
- 'filter_content_types': 1,
- 'allowed_content_types': (),
- 'template' : 'mosaic_tool/tree_block_template',
- 'notify_wf' : 0,
- 'slots' : (
- {'id': 'rootObject',
- 'type': 'String Slot',
- 'args':
- {'text' : {'type' : 'expr', 'value' : 'portal'},
- 'size' : {'type' : 'int', 'value' : 45},
- 'castOperator' : {'type' : 'string', 'value' : 'expr'},
- },
- },
- {'id': 'filteredMetaTypes',
- 'type': 'List Slot',
- 'args':
- {'text' : {'type' : 'lines', 'value' : 'Plinn Folder'},
- 'cols' : {'type' : 'int', 'value' : 15},
- 'rows' : {'type' : 'int', 'value' : 5},
- 'castOperator' : {'type' : 'string', 'value' : 'lines'},
- },
- },
- ),
- 'rules' : (),
- 'actions' : defaultActions,
- },
-
- {'id': 'Action Box Block',
- 'title': 'Action Box Block',
- 'icon': 'mosaic_tool/action_block_icon.gif',
- 'meta_type': 'Action Box Block',
- 'filter_content_types': 1,
- 'allowed_content_types': (),
- 'template' : 'mosaic_tool/action_block_template',
- 'notify_wf' : 0,
- 'slots' : (
- {'id': 'boxTitle',
- 'type': 'String Slot',
- 'args':
- {'text' : {'type' : 'string', 'value' : ''},
- 'size' : {'type' : 'int', 'value' : 45},
- 'castOperator' : {'type' : 'string', 'value' : 'string'},
- },
- },
- {'id': 'categories',
- 'type': 'String Slot',
- 'args':
- {'text' : {'type' : 'tokens', 'value' : 'global'},
- 'size' : {'type' : 'int', 'value' : 45},
- 'castOperator' : {'type' : 'string', 'value' : 'tokens'},
- },
- },
- ),
- 'rules' : (),
- 'actions' : defaultActions,
- },
-
- )
-
-metaFtisDic = {}
-for mfti in metaFtis :
- tempDic = mfti.copy()
- mfti.update(fixedFtiPart)
- metaFtisDic[tempDic['id']] = mfti
-
-# adding Mosaic Document block definition
-metaFtisDic[mosaicDocument_fti['id']] = mosaicDocument_fti
-
-def completeMetaFti(dummyFti,
- metaFtis,
- slots = (),
- template = '',
- notify_wf = 0) :
- allRules = ()
- for mfti in metaFtis :
- rulesDic = {'blockType' : mfti['id'],
- 'maxNbInstance' : 0,
- 'allowMove' : 1,
- 'mode' : 'wd',
- },
- allRules += rulesDic
-
- ftiExtension = {'rules' : allRules,
- 'slots' : (),
- 'template' : template,
- 'notify_wf' : 1,
- }
- ftiExtension.update(dummyFti)
- return ftiExtension
-
-# complete meta fti for Mosaic Document block definition
-metaFtisDic[mosaicDocument_fti['id']] = completeMetaFti(metaFtisDic[mosaicDocument_fti['id']],
- metaFtis,
- notify_wf = 1)
-
-# Idem for Container Block definition
-metaFtisDic['Container Block'] = completeMetaFti(metaFtisDic['Container Block'],
- metaFtis,
- template = 'mosaic_tool/block_container_template')
-
-return metaFtisDic