To reproduce what happens when deleting a content type (e.g. Document)
Create a Document via RESTAPI:
import requests
url = "http://nohost/plone"
headers = {'Accept': 'application/json', 'Content-Type': 'application/json'}
auth = ('admin', 'secret')
# install the restapi
requests.post(url + "/@addons/plone.restapi/install", headers=headers, auth=auth)
# create a new Document
response_document = requests.post(
url,
json={'@type': 'Document', 'title': 'My Document'},
headers=headers, auth=auth
)
# get the url of the document
document_at_id = response_document.json()["@id"]
Request the document as 'text/html'
# request the document
response_document = requests.get(
document_at_id, headers={'Accept': 'text/html'}, auth=auth
)
pos = response_document.content.decode("utf-8").find(
'<ul class="nav flex-column plone-toolbar-main">'
)
print(response_document.content.decode("utf-8")[pos:pos + 100]
You get a ul
element with children:
<ul class="nav flex-column plone-toolbar-main">
...
<li id="contentview-folderCon ...
Delete the content type Document
# delete content type Document
requests.delete(
url + "/@controlpanels/dexterity-types/Document",
headers=headers, auth=auth
)
Request the document as 'text/html'
# request the document
response_document = requests.get(
document_at_id, headers={'Accept': 'text/html'}, auth=auth
)
pos = response_document.content.decode("utf-8").find(
'<ul class="nav flex-column plone-toolbar-main">'
)
print(response_document.content.decode("utf-8")[pos:pos + 100]
You get a ul
element without children:
<ul class="nav flex-column plone-toolbar-main">
</ul>
...
And as @petschki reported you get the following error :
2023-02-27 20:44:48,187 ERROR [Zope.SiteErrorLog:252][waitress-0] 1677527088.18670750.27648887343887274 http://nohost/plone/my-document
Traceback (innermost last):
Module ZPublisher.WSGIPublisher, line 172, in transaction_pubevents
Module ZPublisher.WSGIPublisher, line 381, in publish_module
Module ZPublisher.WSGIPublisher, line 276, in publish
Module ZPublisher.mapply, line 85, in mapply
Module ZPublisher.WSGIPublisher, line 68, in call_object
Module Products.CMFDynamicViewFTI.browserdefault, line 79, in __call__
ValueError: No layout found. This may happen b/c nothing was set. Hint: If no FTI was found this happens as well.