+++ /dev/null
-# -*- coding: utf-8 -*-
-# (c) 2003 Centre de Recherche en Informatique ENSMP Fontainebleau <http://cri.ensmp.fr>
-# (c) 2003 BenoƮt PIN <mailto:pin@cri.ensmp.fr>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 as published
-# by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-#
-
-
-
-from AccessControl import ClassSecurityInfo
-from Globals import InitializeClass
-from Products.CMFCore.permissions import View, ModifyPortalContent, AccessContentsInformation
-from Products.CMFCore.PortalContent import PortalContent
-from Products.CMFDefault.DublinCore import DefaultDublinCoreImpl
-from Products.CMFCore.utils import getToolByName
-
-from MosaicBlock import MosaicBlock
-
-factory_type_information = (
- {'id': 'Mosaic Document',
- 'title': '_mosaic_document_',
- 'content_icon': 'mosaic_icon.png',
- 'product': 'MosaicDocument',
- 'factory': 'addMosaicDocument',
- 'meta_type': 'Mosaic Document',
- 'immediate_view': 'mosaicdocument_edit_form',
- 'allow_discussion': 0,
- 'filter_content_types': 0,
- 'actions': ({'id': 'view',
- 'name': 'View',
- 'action': 'mosaicdocument_view',
- 'permissions': (View,)},
-
- {'id': 'edit',
- 'name': 'Edit',
- 'action': 'mosaicdocument_edit_form',
- 'permissions': (ModifyPortalContent,)},
-
- {'id': 'metadata',
- 'name': 'Metadata',
- 'action': 'metadata_edit_form',
- 'visible': 0,
- 'permissions': (ModifyPortalContent, )},
-
- ),
- },
- )
-
-
-class MosaicDocument(MosaicBlock, PortalContent, DefaultDublinCoreImpl) :
- """
- Mosaic Document
- """
- meta_type = 'Mosaic Document'
- _isRootBlock = 1
- isPrincipiaFolderish = 0
-
- security = ClassSecurityInfo()
-
- def indexObject(self) :
- if getattr(self, 'noIndex', None) : return
- PortalContent.indexObject(self)
-
- unindexObject = PortalContent.unindexObject
-
- def reindexObject(self, idxs=[]) :
- if getattr(self, 'noIndex', None) : return
- PortalContent.reindexObject(self, idxs=idxs)
-
- setTitle = DefaultDublinCoreImpl.setTitle
- setDescription = DefaultDublinCoreImpl.setDescription
-
- Title = DefaultDublinCoreImpl.Title
- Description = DefaultDublinCoreImpl.Description
- Type = DefaultDublinCoreImpl.Type
-
-
- def __init__(self, id, rules=None, initSubObjects=None, **kw) :
- DefaultDublinCoreImpl.__init__(self, **kw)
- self.id = id
- self._blockRules = rules
- self._initSubObjects(initSubObjects)
-
- def _initSubObjects(self, subObjects) :
- pass
-
- security.declareProtected(View, 'SearchableText')
- def SearchableText(self) :
- """
- Sets new permissions/roles after this object changed levels
- or after one of its levels changed of reviewers/readers.
- """
- return '%s %s %s' % (self.title, self.description, MosaicBlock.SearchableText(self))
-
-
-InitializeClass(MosaicDocument)
-
-# factory
-def addMosaicDocument(dispatcher, id, REQUEST=None, **kw) :
- """Ajoute Mosaic Document"""
- ob = MosaicDocument(id, **kw)
- dispatcher.Destination()._setObject(id, ob)
- if REQUEST :
- REQUEST.RESPONSE.redirect(dispatcher.DestinationURL() + 'manage_main')
-
-
-
-
-from Products.CMFCore.Expression import Expression as CMFExpression
-
-class Expression(CMFExpression) :
- def __call__(self, econtext=None) :
- """ render the result of expression if an expression context is given
- else the source text
- """
- if econtext :
- return CMFExpression.__call__(self, econtext)
- else :
- return self.text
-
- def __len__(self) : return 0
\ No newline at end of file