Skip to content

Commit

Permalink
Merge 073c43b into 63484df
Browse files Browse the repository at this point in the history
  • Loading branch information
jean committed Nov 29, 2013
2 parents 63484df + 073c43b commit 2371144
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 16 deletions.
12 changes: 3 additions & 9 deletions Products/CMFPlomino/PlominoDatabase.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
# Zope
from AccessControl import ClassSecurityInfo
from Acquisition import aq_inner
from OFS.Folder import *
from OFS.ObjectManager import ObjectManager
from zope.annotation.interfaces import IAnnotations
# 4.3 compatibility
Expand All @@ -44,7 +43,6 @@
from Products.Archetypes.debug import deprecated
from Products.Archetypes.utils import make_uuid
from Products.ATContentTypes.content.folder import ATFolder
#from Products.BTreeFolder2.BTreeFolder2 import manage_addBTreeFolder
from Products.CMFPlone.interfaces import IHideFromBreadcrumbs

# Plomino
Expand Down Expand Up @@ -267,7 +265,6 @@ def __init__(self, oid, **kw):
self.plomino_version = VERSION
self.setStatus("Ready")
PlominoAccessControl.__init__(self)
#manage_addBTreeFolder(self, id='plomino_documents')
manage_addCMFBTreeFolder(self, id='plomino_documents')
directlyProvides(self.documents, IHideFromBreadcrumbs)

Expand All @@ -281,17 +278,14 @@ def documents(self):
security.declarePublic('at_post_create_script')
def at_post_create_script(self):
""" DB initialization
Standard AT hook.
"""
self.initializeACL()
index = PlominoIndex(FULLTEXT=self.FulltextIndex)
self._setObject('plomino_index', index)
resources = Folder('resources')
resources.title = 'resources'
self._setObject('resources', resources)
scripts = Folder('scripts')
scripts.title = 'scripts'
self._setObject('scripts', scripts)
for i in ['resources', 'scripts']:
manage_addCMFBTreeFolder(self, id=i)

def __bobo_traverse__(self, request, name):
# TODO: replace with IPublishTraverse or/and ITraverse
Expand Down
17 changes: 11 additions & 6 deletions Products/CMFPlomino/PlominoDesignManager.py
Original file line number Diff line number Diff line change
Expand Up @@ -610,7 +610,8 @@ def getAgentsList(self):
def getResourcesList(self):
""" Return the database resources objects ids in a string
"""
ids = self.resources.objectIds()
# Un-lazify, resources is a BTree
ids = [i for i in self.resources.objectIds()]
ids.sort()
return '/'.join(ids)

Expand Down Expand Up @@ -1177,11 +1178,15 @@ def importDesignFromXML(self, xmlstring=None, REQUEST=None,

if replace:
logger.info("Replace mode: removing current design")
designelements = [o.id for o in self.getForms()] \
+ [o.id for o in self.getViews()] \
+ [o.id for o in self.getAgents()]
designelements = [o.id for o in
self.getForms() +
self.getViews() +
self.getAgents()]
ObjectManager.manage_delObjects(self, designelements)
ObjectManager.manage_delObjects(self.resources, self.resources.objectIds())
ObjectManager.manage_delObjects(
self.resources,
# Un-lazify BTree
[i for i in self.resources.objectIds()])
logger.info("Current design removed")

for xmlstring in xml_strings:
Expand Down Expand Up @@ -1425,7 +1430,7 @@ def importResourceFromXML(self, container, node):
id = manage_addImage(container, id,
node.firstChild.data.decode('base64'),
content_type=node.getAttribute('contenttype'))
elif resource_type == 'Folder':
elif resource_type in ('Folder', 'ATFolder'):
container.manage_addFolder(id)
subfolder = container[id]
elements = [e for e in node.childNodes
Expand Down
3 changes: 2 additions & 1 deletion Products/CMFPlomino/tests/test_exportimport.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from zipfile import ZipFile, ZIP_DEFLATED

import OFS
from Products.CMFCore import CMFBTreeFolder

from Products.CMFPlomino.testing import PLOMINO_FIXTURE
from plone.app.testing import FunctionalTesting
Expand Down Expand Up @@ -89,7 +90,7 @@ def test_export_folder_in_resources(self):
mydb.resources.manage_addFolder('test_folder')
mydb.resources.test_folder.manage_addFolder('test_subfolder')
xml = mydb.exportDesignAsXML()
# Now delete the fodlers and check they are created back again
# Now delete the folders and check they are created back again
mydb.resources.manage_delObjects(['test_folder'])
mydb.importDesignFromXML(xml, replace=True)
self.assertTrue('test_folder' in mydb.resources)
Expand Down

0 comments on commit 2371144

Please sign in to comment.