3 ModifyPortalContent
= 'Modify portal content'
6 # Mosaic Document regular fti
7 mosaicDocument_fti
= {'id' : 'Mosaic Document',
8 'title' : 'Mosaic Document',
9 'content_icon' : 'mosaic_icon.png',
10 'product' : 'MosaicDocument',
11 'factory' : 'addMosaicDocument',
12 'meta_type' : 'Mosaic Document',
13 'immediate_view' : 'metadata_edit_form',
14 'allow_discussion' : 1,
15 'filter_content_types' : 0,
19 'action': 'mosaicdocument_view',
21 'permissions': (View
,)},
25 'action': 'mosaicdocument_edit_form',
27 'permissions': (ModifyPortalContent
,)},
31 'action': 'metadata_edit_form',
36 # fixed fti part for basic blocks definitions
37 fixedFtiPart
= {'product' : 'MosaicDocument',
38 'factory' : 'addMosaicBlock',
39 'immediate_view' : 'view',
40 'filter_content_types' : 1,
43 defaultActions
= ({'id' : 'view',
46 'permissions' : (View
,),
47 'category' : 'object',
50 # basic blocks definitions
53 'title': 'Image block',
54 'icon': 'mosaic_tool/image_block_icon.gif',
55 'meta_type': 'Image Block',
56 'filter_content_types': 1,
57 'allowed_content_types': (),
58 'template' : 'mosaic_tool/block_image_template',
64 {'thumb_width' : {'type' : 'int', 'value' : 440},
65 'thumb_height' : {'type' : 'int', 'value' : 440},
66 'blankThumbnail' : {'type' : 'string', 'value' : 'mosaic_tool/no_image.jpg'},
71 'actions' : defaultActions
,
74 {'id': 'Two Images Block',
75 'title': 'Two images block',
76 'icon': 'mosaic_tool/image_block_icon.gif',
77 'meta_type': 'Two Images Block',
78 'filter_content_types': 1,
79 'allowed_content_types': (),
80 'template' : 'mosaic_tool/block_two_images_template',
86 {'thumb_width' : {'type' : 'int', 'value' : 440},
87 'thumb_height' : {'type' : 'int', 'value' : 440},
88 'blankThumbnail' : {'type' : 'string', 'value' : 'mosaic_tool/no_image.jpg'},
94 {'thumb_width' : {'type' : 'int', 'value' : 440},
95 'thumb_height' : {'type' : 'int', 'value' : 440},
96 'blankThumbnail' : {'type' : 'string', 'value' : 'mosaic_tool/no_image.jpg'},
101 'actions' : defaultActions
,
105 'title': 'Text block',
106 'icon': 'mosaic_tool/image_block_icon.gif',
107 'meta_type': 'Text Block',
108 'filter_content_types': 1,
109 'allowed_content_types': (),
110 'template' : 'mosaic_tool/block_text_template',
114 'type' : 'Text Slot',
116 {'text' : {'type' : 'text', 'value' : ''},
117 'text_format' : {'type' : 'string', 'value' : 'structured-text'},
118 'cols' : {'type' : 'int', 'value' : 68},
119 'rows' : {'type' : 'int', 'value' : 20},
124 'actions' : defaultActions
,
128 'title': 'File Block',
129 'icon': 'mosaic_tool/image_block_icon.gif',
130 'meta_type': 'File Block',
131 'filter_content_types': 1,
132 'allowed_content_types': (),
133 'template' : 'mosaic_tool/block_file_template',
142 'actions' : defaultActions
,
145 {'id': 'Spacer Block',
146 'title': 'Spacer block',
147 'icon': 'mosaic_tool/image_block_icon.gif',
148 'meta_type': 'Spacer Block',
149 'filter_content_types': 1,
150 'allowed_content_types': (),
151 'template' : 'mosaic_tool/block_spacer_template',
155 'type': 'Spacer Slot',
156 'args': {'nbOfSpaces' : {'type' : 'int', 'value' : 3},},
160 'actions' : defaultActions
,
163 {'id': 'Section Block',
164 'title': 'Section block',
165 'icon': 'mosaic_tool/image_block_icon.gif',
166 'meta_type': 'Section Block',
167 'filter_content_types': 1,
168 'allowed_content_types': (),
169 'template' : 'mosaic_tool/block_section_template',
173 'type': 'String Slot',
175 {'text' : {'type' : 'string', 'value' : ''},
176 'size' : {'type' : 'int', 'value' : 60},
177 'choices' : {'type' : 'lines', 'value' : []},
178 'castOperator' : {'type' : 'string', 'value' : 'string'},
183 'actions' : defaultActions
,
187 {'id': 'Container Block',
188 'title': 'Container block',
189 'icon': 'mosaic_tool/image_block_icon.gif',
190 'meta_type': 'Container Block',
191 'filter_content_types': 1,
192 'allowed_content_types': (),
193 'actions' : defaultActions
,
197 {'id': 'Tree Box Block',
198 'title': 'Tree Box Block',
199 'icon': 'mosaic_tool/tree_block_icon.gif',
200 'meta_type': 'Tree Box Block',
201 'filter_content_types': 1,
202 'allowed_content_types': (),
203 'template' : 'mosaic_tool/tree_block_template',
207 'type': 'String Slot',
209 {'text' : {'type' : 'expr', 'value' : 'portal'},
210 'size' : {'type' : 'int', 'value' : 45},
211 'castOperator' : {'type' : 'string', 'value' : 'expr'},
214 {'id': 'filteredMetaTypes',
217 {'text' : {'type' : 'lines', 'value' : 'Plinn Folder'},
218 'cols' : {'type' : 'int', 'value' : 15},
219 'rows' : {'type' : 'int', 'value' : 5},
220 'castOperator' : {'type' : 'string', 'value' : 'lines'},
225 'actions' : defaultActions
,
228 {'id': 'Action Box Block',
229 'title': 'Action Box Block',
230 'icon': 'mosaic_tool/action_block_icon.gif',
231 'meta_type': 'Action Box Block',
232 'filter_content_types': 1,
233 'allowed_content_types': (),
234 'template' : 'mosaic_tool/action_block_template',
238 'type': 'String Slot',
240 {'text' : {'type' : 'string', 'value' : ''},
241 'size' : {'type' : 'int', 'value' : 45},
242 'castOperator' : {'type' : 'string', 'value' : 'string'},
246 'type': 'String Slot',
248 {'text' : {'type' : 'tokens', 'value' : 'global'},
249 'size' : {'type' : 'int', 'value' : 45},
250 'castOperator' : {'type' : 'string', 'value' : 'tokens'},
255 'actions' : defaultActions
,
261 for mfti
in metaFtis
:
262 tempDic
= mfti
.copy()
263 mfti
.update(fixedFtiPart
)
264 metaFtisDic
[tempDic
['id']] = mfti
266 # adding Mosaic Document block definition
267 metaFtisDic
[mosaicDocument_fti
['id']] = mosaicDocument_fti
269 def completeMetaFti(dummyFti
,
275 for mfti
in metaFtis
:
276 rulesDic
= {'blockType' : mfti
['id'],
283 ftiExtension
= {'rules' : allRules
,
285 'template' : template
,
288 ftiExtension
.update(dummyFti
)
291 # complete meta fti for Mosaic Document block definition
292 metaFtisDic
[mosaicDocument_fti
['id']] = completeMetaFti(metaFtisDic
[mosaicDocument_fti
['id']],
296 # Idem for Container Block definition
297 metaFtisDic
['Container Block'] = completeMetaFti(metaFtisDic
['Container Block'],
299 template
= 'mosaic_tool/block_container_template')