Beispiel #1
0
def convertLPFolder(parent, folder):
    """ convert Large Plone Folders to Folders """
    id = folder.getId()
    newfolder = ATFolder(id)
    newfolder._setId(id)
    newfolder = newfolder.__of__(parent)

    uid = folder._at_uid

    for item_id, item in folder.objectItems():
        folder._objects = tuple(
            [i for i in folder._objects if i['id'] != item_id])
        folder._delOb(item_id)

        newfolder._objects = newfolder._objects + (
            {'id': item_id, 'meta_type': item.meta_type},)
        newfolder._setOb(item_id, aq_base(item))

    parent._objects = tuple([i for i in parent._objects if i['id'] != id])
    parent._delOb(id)

    newfolder._at_uid = uid
    parent._objects = parent._objects + (
        {'id': id, 'meta_type': newfolder.meta_type},)
    parent._setOb(id, aq_base(newfolder))

    #transaction.abort()
    return "%s, %s" % (id, folder.absolute_url(1))
Beispiel #2
0
def onContentSelectionLensModified(context, event):
    """
    Create Tag Namespaces folder if lens is an open lens

    params:
        context - the lens that has been modified
        event - not used but required by API

    return:
        None
    """
    if context.isTemporary():
        return
    id = 'tag-namespaces'
    if id not in context.objectIds():
        obj = ATFolder(id)
        # Create these attributes to work around a Plone indexing bug
        obj.start = DateTime()
        obj.end = DateTime()
        context._setObject(id, obj)
        obj = context._getOb(id)
        obj.setTitle("Tag vocabularies")
        obj.reindexObject()
        obj.notifyWorkflowCreated()

        # Constrain allowed types
        obj.setConstrainTypesMode(1)
        obj.setLocallyAllowedTypes(['TagNamespace'])

        # Set a template as default view
        obj.setLayout('lens_tagnamespaces_default_view')
Beispiel #3
0
    def _renameAfterCreation(self, check_auto_id=True):
        """
        """
        plone_tool = getToolByName(self, 'plone_utils')

        new_id = plone_tool.normalizeString(self.title_or_id())
        invalid_id = False
        transaction.commit(1)
        self.setId(new_id)

        self._setObject("ontologies", Ontologies("ontologies"))
        self["ontologies"].setTitle("Ontologies")
        self["ontologies"].reindexObject()
        self._setObject("search", CommunitySearch("search"))
        self["search"].setTitle("Search")
        self["search"]._renameAfterCreation(check_auto_id)
        self["search"].reindexObject()
        self._setObject("content", ATFolder("content"))
        self["content"].setTitle("Content")
        self["content"]._renameAfterCreation(check_auto_id)
        self["content"].reindexObject()

        self['content']._setObject("content", ATTopic("content"))
        self['content']['content'].setTitle("Content")
        self['content']['content'].addCriterion('review_state',
                                                'ATSelectionCriterion')
        self['content']['content'].addCriterion('path',
                                                'ATRelativePathCriterion')
        self['content']['content'].setCustomView(True)
        self['content']['content'].setCustomViewFields([
            'Title', 'ModificationDate', 'review_state', 'CreationDate', 'Type'
        ])
        self.portal_workflow.doActionFor(self['content']['content'],
                                         "publish",
                                         comment="")
        self['content'].setDefaultPage('content')

        groups = getToolByName(self, 'portal_groups')
        groupname = 'Community_' + new_id
        groups.addGroup(groupname, )
        return new_id
Beispiel #4
0
 def test_local_site(self):
     dancefloor = ATFolder("dancefloor")
     self.failUnless(not ISite.providedBy(dancefloor))
     make_objectmanager_site(dancefloor)
     self.failUnless(ISite.providedBy(dancefloor))
 def test_stuff_not_there_if_new(self):
     df = ATFolder("dancefloor")
     self.failUnless("channels" not in df.keys())
     self.failUnless("collectors" not in df.keys())