Skip to content

Commit

Permalink
Merge pull request #475 from plone/dxcontainer-siteroot
Browse files Browse the repository at this point in the history
Dx container site root
  • Loading branch information
mauritsvanrees authored Sep 11, 2021
2 parents 9744eae + 594d52a commit 324e699
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 59 deletions.
4 changes: 4 additions & 0 deletions news/475.breaking
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Plone Site is now a DX container. This means that the front-page object no
longer exists.
Refs PLIP 2454.
[jaroel]
77 changes: 34 additions & 43 deletions plone/app/contenttypes/setuphandlers.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,51 +154,42 @@ def _setup_constrains(container, allowed_types):


def create_frontpage(portal, target_language):
frontpage_id = 'front-page'

if frontpage_id not in portal.keys():
title = _translate(
u'front-title',
target_language,
u'Welcome to Plone'
)
description = _translate(
u'front-description', target_language,
u'Congratulations! You have successfully installed Plone.'
)
content = createContent(
'Document', id=frontpage_id,
title=title,
description=description,
language=target_language.replace('_', '-').lower())
content = addContentToContainer(portal, content)
front_text = None
if target_language != 'en':
util = queryUtility(ITranslationDomain, 'plonefrontpage')
if util is not None:
translated_text = util.translate(
u'front-text',
target_language=target_language
)
if translated_text != u'front-text':
front_text = translated_text
request = getattr(portal, 'REQUEST', None)
if front_text is None and request is not None:
view = queryMultiAdapter(
(portal, request),
name='plone-frontpage-setup'
if portal.text:
# Do not overwrite existing content
return
portal.title = _translate(
u'front-title',
target_language,
u'Welcome to Plone'
)
portal.description = _translate(
u'front-description', target_language,
u'Congratulations! You have successfully installed Plone.'
)
front_text = None
if target_language != 'en':
util = queryUtility(ITranslationDomain, 'plonefrontpage')
if util is not None:
translated_text = util.translate(
u'front-text',
target_language=target_language
)
if view is not None:
front_text = bodyfinder(view.index()).strip()
content.text = RichTextValue(
front_text,
'text/html',
'text/x-html-safe'
if translated_text != u'front-text':
front_text = translated_text
request = getattr(portal, 'REQUEST', None)
if front_text is None and request is not None:
view = queryMultiAdapter(
(portal, request),
name='plone-frontpage-setup'
)

portal.setDefaultPage('front-page')
_publish(content)
content.reindexObject()
if view is not None:
front_text = bodyfinder(view.index()).strip()
portal.text = RichTextValue(
front_text,
'text/html',
'text/x-html-safe'
)
portal.reindexObject()


def create_news_topic(portal, target_language):
Expand Down
23 changes: 7 additions & 16 deletions plone/app/contenttypes/tests/test_content_profile.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,22 +49,13 @@ def setUp(self):
# front-page tests #
# #################### #

def test_frontpage_was_created(self):
# Was the object created?
obj = self.portal['front-page']
self.assertEqual(obj.portal_type, 'Document')

def test_frontpage_is_default_page(self):
# Has the object been set on the container as the default page?
self.assertEqual(self.portal.default_page, 'front-page')

def test_frontpage_is_published(self):
# Has the content object been published?
front_page = self.portal['front-page']
current_state = self.portal_workflow.getInfoFor(
front_page,
'review_state')
self.assertEqual(current_state, 'published')
def test_homepage(self):
self.assertEqual(self.portal.title, "Welcome to Plone")
self.assertEqual(
self.portal.description,
"Congratulations! You have successfully installed Plone."
)
self.assertIn("Welcome!", self.portal.text.raw)

# ################# #
# Members tests #
Expand Down

0 comments on commit 324e699

Please sign in to comment.