X-Git-Url: https://scm.cri.minesparis.psl.eu/git/MosaicDocument.git/blobdiff_plain/155c6ba3d7e8e9693d30b3cf70f591f0153610b6..99b3ba92670e19c1f86f5de83b8e6bbe4fdc297f:/MosaicDocument.py diff --git a/MosaicDocument.py b/MosaicDocument.py deleted file mode 100755 index 4bac153..0000000 --- a/MosaicDocument.py +++ /dev/null @@ -1,133 +0,0 @@ -# -*- coding: utf-8 -*- -# (c) 2003 Centre de Recherche en Informatique ENSMP Fontainebleau -# (c) 2003 Benoît PIN -# -# 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