Skip to content

Commit

Permalink
Follow default_page_types setting when showing the items that can be …
Browse files Browse the repository at this point in the history
…selected as default page
  • Loading branch information
erral authored and mauritsvanrees committed Oct 15, 2019
1 parent 12e8f80 commit 13f3316
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 1 deletion.
1 change: 1 addition & 0 deletions news/182.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Follow default_page_types setting when showing the items that can be selected as default page [erral]
3 changes: 2 additions & 1 deletion plone/app/content/browser/selection.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,5 +125,6 @@ def get_selectable_items(self):
# Disallow folderish types if you can't add any content.
# To override you have to add type to default_page_types
continue
results.append(brain)

results.append(brain)
return results
24 changes: 24 additions & 0 deletions plone/app/content/tests/test_selectdefaultpage.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@
'title': 'Test Document',
'description': 'Test Document Description'}

NEWSITEM = {'id': 'testnews',
'title': 'Test News Item',
'description': 'Test News Item Description'}


class SelectDefaultPageDXTestCase(unittest.TestCase):

Expand Down Expand Up @@ -59,6 +63,16 @@ def _createDocument(self, context):
# doc.setExcludeFromNav(True)
return doc

def _createNewsItem(self, context):
context.invokeFactory(id=NEWSITEM['id'], type_name='News Item')
doc = getattr(context, NEWSITEM['id'])
doc.setTitle(NEWSITEM['title'])
doc.setDescription(NEWSITEM['description'])
doc.reindexObject()
# we don't want it in the navigation
# doc.setExcludeFromNav(True)
return doc

def _create_structure(self):
setRoles(self.portal, TEST_USER_ID, ['Manager'])
folder = self._createFolder()
Expand Down Expand Up @@ -111,6 +125,16 @@ def test_default_page_action_save(self):
self.assertEqual(self.browser.url, folder.absolute_url())
self.assertEqual(folder.getDefaultPage(), 'testdoc')

def test_selectable_types_filter(self):
self.portal.portal_registry['plone.default_page_types'] = [u'News Item']
folder = self.portal.testfolder
self._createNewsItem(folder)

view = folder.restrictedTraverse('@@select_default_page')()
self.assertTrue('id="testdoc"' not in view)
self.assertTrue('id="testnews"' in view)



if HAS_AT:
class SelectDefaultPageATTestCase(SelectDefaultPageDXTestCase):
Expand Down

0 comments on commit 13f3316

Please sign in to comment.