from Products.Archetypes.public import RichWidget, ReferenceWidget
from Products.Archetypes.utils import shasattr
from Products.CMFCore.utils import getToolByName
from Products.CMFPlone.interfaces.structure import INonStructuralFolder
from Products.CMFPlone.utils import _createObjectByType
from Products.Ploneboard import utils
from Products.Ploneboard.config import PROJECTNAME, REPLY_RELATIONSHIP
from Products.Ploneboard.interfaces import IConversation, IComment
from Products.Ploneboard.permissions import AddAttachment
from Products.Ploneboard.permissions import AddComment
from Products.Ploneboard.permissions import DeleteComment
from Products.Ploneboard.permissions import EditComment
from Products.Ploneboard.permissions import ManageComment
from Products.Ploneboard.permissions import ViewBoard

PBCommentBaseBTreeFolderSchema = BaseBTreeFolderSchema.copy()
PBCommentBaseBTreeFolderSchema['title'].read_permission = ViewBoard
PBCommentBaseBTreeFolderSchema['title'].write_permission = EditComment


schema = PBCommentBaseBTreeFolderSchema + Schema((
    TextField('text',
              searchable = 1,
              default_content_type = 'text/html',
              default_output_type = 'text/x-html-safe',
              allowable_content_types=('text/html',
                                       'text/plain'),
              accessor='getText',
              read_permission = ViewBoard,
              write_permission = EditComment,
              widget = RichWidget(description = "Enter comment body.",
from Products.Ploneboard.config import PROJECTNAME
from Products.Ploneboard.interfaces import IComment
from Products.Ploneboard.interfaces import IConversation
from Products.Ploneboard.interfaces import IForum
from Products.Ploneboard.permissions import AddComment
from Products.Ploneboard.permissions import EditComment
from Products.Ploneboard.permissions import ManageConversation
from Products.Ploneboard.permissions import MergeConversation
from Products.Ploneboard.permissions import ViewBoard
from zope import event
from zope.interface import implements
# from zope.interface import Interface
from zope.interface import providedBy


PBConversationBaseBTreeFolderSchema = BaseBTreeFolderSchema.copy()
PBConversationBaseBTreeFolderSchema['title'].read_permission = ViewBoard
PBConversationBaseBTreeFolderSchema['title'].write_permission = EditComment

schema = PBConversationBaseBTreeFolderSchema + Schema((
    TextField(
            'description',
            searchable=1,
            read_permission=ViewBoard,
            write_permission=EditComment,
            default_content_type='text/plain',
            default_output_type='text/plain',
            widget=TextAreaWidget(
                description="Enter a brief description of the conversation.",
                description_msgid="help_description_conversation",
                label="Description",
        if userfolder:
            if type(request) != dict:   # a dict when key is template, and we don't want to get normal lenses_listing
                request.set('getCategory', self.getCategory())
                return userfolder
        return LensMajorContainer.__bobo_traverse__(self, request, key) # uses Five; getattr(self, key, None) doesn't work anymore

    # A PUT on the folder is intentionally a no-op
    security.declareProtected(ModifyPortalContent, 'PUT')
    def PUT(self, REQUEST):
        return

registerType(LensRedirectContainer)


schema = BaseBTreeFolderSchema.copy()

class LensFolder(BaseFolder, ObjectManager):
    """Simple folder to contain a member's lenses.
    """
    archetype_name = "Lens Folder"
    use_folder_tabs = 0
    allowed_content_types = ['ContentSelectionLens', 'FavoritesLens', 'LensOrganizer']

    schema = schema
    
    security = AccessControl.ClassSecurityInfo()
    
    actions = (
               {'id': 'view',
                'title': 'View',
from Products.Ploneboard.config import PROJECTNAME
from Products.Ploneboard.config import REPLY_RELATIONSHIP
from Products.Ploneboard.interfaces import IConversation, IComment
from Products.Ploneboard.permissions import AddAttachment
from Products.Ploneboard.permissions import AddComment
from Products.Ploneboard.permissions import DeleteComment
from Products.Ploneboard.permissions import EditComment
from Products.Ploneboard.permissions import ManageComment
from Products.Ploneboard.permissions import ViewBoard
from Products.Ploneboard.utils import PloneboardMessageFactory as _
from Products.SimpleAttachment.widget import AttachmentsManagerWidget
from Products.SimpleAttachment.widget import ImagesManagerWidget
from zope import event
from zope.interface import implementer

PBCommentBaseBTreeFolderSchema = BaseBTreeFolderSchema.copy()
PBCommentBaseBTreeFolderSchema['title'].read_permission = ViewBoard
PBCommentBaseBTreeFolderSchema['title'].write_permission = EditComment

schema = PBCommentBaseBTreeFolderSchema + Schema((
    TextField('text',
              searchable=1,
              default_content_type='text/html',
              default_output_type='text/x-html-safe',
              allowable_content_types=('text/html', 'text/plain'),
              accessor='getText',
              read_permission=ViewBoard,
              write_permission=EditComment,
              widget=RichWidget(description="Enter comment body.",
                                description_msgid="help_text",
                                label="Text",
Ejemplo n.º 5
0
                request.set('getCategory', self.getCategory())
                return userfolder
        return LensMajorContainer.__bobo_traverse__(
            self, request,
            key)  # uses Five; getattr(self, key, None) doesn't work anymore

    # A PUT on the folder is intentionally a no-op
    security.declareProtected(ModifyPortalContent, 'PUT')

    def PUT(self, REQUEST):
        return


registerType(LensRedirectContainer)

schema = BaseBTreeFolderSchema.copy()


class LensFolder(BaseFolder, ObjectManager):
    """Simple folder to contain a member's lenses.
    """
    archetype_name = "Lens Folder"
    use_folder_tabs = 0
    allowed_content_types = [
        'ContentSelectionLens', 'FavoritesLens', 'LensOrganizer'
    ]

    schema = schema

    security = AccessControl.ClassSecurityInfo()