collective.contentsections 2.0.0a1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- collective/contentsections/__init__.py +3 -0
- collective/contentsections/behaviors/__init__.py +0 -0
- collective/contentsections/behaviors/configure.zcml +28 -0
- collective/contentsections/behaviors/leadicon.py +39 -0
- collective/contentsections/behaviors/namechooser.py +24 -0
- collective/contentsections/configure.zcml +50 -0
- collective/contentsections/contents/__init__.py +4 -0
- collective/contentsections/contents/base.py +15 -0
- collective/contentsections/contents/configure.zcml +20 -0
- collective/contentsections/contents/contact/__init__.py +0 -0
- collective/contentsections/contents/contact/configure.zcml +6 -0
- collective/contentsections/contents/contact/content.py +37 -0
- collective/contentsections/contents/file/__init__.py +0 -0
- collective/contentsections/contents/file/configure.zcml +10 -0
- collective/contentsections/contents/image/__init__.py +0 -0
- collective/contentsections/contents/image/configure.zcml +10 -0
- collective/contentsections/contents/link/__init__.py +0 -0
- collective/contentsections/contents/link/configure.zcml +18 -0
- collective/contentsections/contents/link/views.py +13 -0
- collective/contentsections/contents/location/__init__.py +0 -0
- collective/contentsections/contents/location/configure.zcml +5 -0
- collective/contentsections/contents/location/content.py +16 -0
- collective/contentsections/distributions/sections/content/content/081544c4943647f9b15b9e0905a9b54d/data.json +52 -0
- collective/contentsections/distributions/sections/content/content/0e43326bb88948c0b041a8133ce1e1fe/data.json +78 -0
- collective/contentsections/distributions/sections/content/content/1da584ffcfd94a218ac3af5e1cdbbd85/data.json +36 -0
- collective/contentsections/distributions/sections/content/content/1ff04c0fca9e4cabb8b6c7a9b2b7f252/data.json +40 -0
- collective/contentsections/distributions/sections/content/content/2d71207814b246e4bfe510325bb82c5e/data.json +34 -0
- collective/contentsections/distributions/sections/content/content/2ef081a74f5a43da800883a91ec31e62/data.json +34 -0
- collective/contentsections/distributions/sections/content/content/2fb127ce7e3341679227a5bfdec44da8/data.json +31 -0
- collective/contentsections/distributions/sections/content/content/2fb127ce7e3341679227a5bfdec44da8/image/chat06.jpg +0 -0
- collective/contentsections/distributions/sections/content/content/2ffc17e71d6d4fccab6654fed823b90f/data.json +59 -0
- collective/contentsections/distributions/sections/content/content/2ffc17e71d6d4fccab6654fed823b90f/image/bird-04.jpg +0 -0
- collective/contentsections/distributions/sections/content/content/414088951961409f977aacca52e3e1c4/data.json +31 -0
- collective/contentsections/distributions/sections/content/content/414088951961409f977aacca52e3e1c4/image/IMG_4029.jpeg +0 -0
- collective/contentsections/distributions/sections/content/content/4544ab042b0f48c3827850a56019fdd4/data.json +30 -0
- collective/contentsections/distributions/sections/content/content/4ad98cc73b134b65aa4601bd49f750e2/data.json +63 -0
- collective/contentsections/distributions/sections/content/content/52fb9fcd48e44094982623c9d45f0156/data.json +31 -0
- collective/contentsections/distributions/sections/content/content/52fb9fcd48e44094982623c9d45f0156/image/IMG_7519.jpeg +0 -0
- collective/contentsections/distributions/sections/content/content/5411cfb98ce44a63a96824206cafc64b/data.json +31 -0
- collective/contentsections/distributions/sections/content/content/5411cfb98ce44a63a96824206cafc64b/image/IMG_6149.jpeg +0 -0
- collective/contentsections/distributions/sections/content/content/54cea76dbba04ddd83a18a49a72c84a4/data.json +34 -0
- collective/contentsections/distributions/sections/content/content/54cea76dbba04ddd83a18a49a72c84a4/image/liege.png +0 -0
- collective/contentsections/distributions/sections/content/content/5dc720dc13cb419796cbbf731db87e90/data.json +36 -0
- collective/contentsections/distributions/sections/content/content/61053f0fc45e4dafb244f8141bf71412/data.json +31 -0
- collective/contentsections/distributions/sections/content/content/61053f0fc45e4dafb244f8141bf71412/image/chat02.jpg +0 -0
- collective/contentsections/distributions/sections/content/content/6182c269182a489a957c1883dbd8e076/data.json +31 -0
- collective/contentsections/distributions/sections/content/content/6182c269182a489a957c1883dbd8e076/image/IMG_7029.jpeg +0 -0
- collective/contentsections/distributions/sections/content/content/6e83f10f800c48dda6a69102be3c1301/data.json +52 -0
- collective/contentsections/distributions/sections/content/content/75034097716c42c2b84f75ca89dc8eb1/data.json +59 -0
- collective/contentsections/distributions/sections/content/content/75034097716c42c2b84f75ca89dc8eb1/image/bird-02.jpg +0 -0
- collective/contentsections/distributions/sections/content/content/75e32b022a3047b6ac79c71fa08ac748/background_image/chat07.jpg +0 -0
- collective/contentsections/distributions/sections/content/content/75e32b022a3047b6ac79c71fa08ac748/data.json +49 -0
- collective/contentsections/distributions/sections/content/content/7855da7062804ad2ab203a06b0ef0c86/data.json +47 -0
- collective/contentsections/distributions/sections/content/content/7855da7062804ad2ab203a06b0ef0c86/image/chat02.jpg +0 -0
- collective/contentsections/distributions/sections/content/content/79ee6ccb92b44af9bf6c897c709ef7fc/data.json +64 -0
- collective/contentsections/distributions/sections/content/content/7b6b83c86dc54f53806494df5dbcbbec/data.json +31 -0
- collective/contentsections/distributions/sections/content/content/7b6b83c86dc54f53806494df5dbcbbec/image/IMG_1558.jpeg +0 -0
- collective/contentsections/distributions/sections/content/content/841780c79958456cb3fb9202dc5d1d47/data.json +31 -0
- collective/contentsections/distributions/sections/content/content/841780c79958456cb3fb9202dc5d1d47/image/IMG_5428.jpeg +0 -0
- collective/contentsections/distributions/sections/content/content/8c75b1d03ddc4763ac7badcb49b9b920/data.json +32 -0
- collective/contentsections/distributions/sections/content/content/8dd4d0757cec42b682125874c091511f/data.json +49 -0
- collective/contentsections/distributions/sections/content/content/8dd4d0757cec42b682125874c091511f/image/chat05.jpg +0 -0
- collective/contentsections/distributions/sections/content/content/93258fd28e6d4f6c8aca75d3e2d9ea67/data.json +32 -0
- collective/contentsections/distributions/sections/content/content/9ba7bfaa540640d8997e7b7098fef436/data.json +31 -0
- collective/contentsections/distributions/sections/content/content/9ba7bfaa540640d8997e7b7098fef436/image/IMG_4315.jpeg +0 -0
- collective/contentsections/distributions/sections/content/content/__metadata__.json +619 -0
- collective/contentsections/distributions/sections/content/content/aa46ae8c076749f1894ca11d60415eb7/data.json +31 -0
- collective/contentsections/distributions/sections/content/content/aa46ae8c076749f1894ca11d60415eb7/image/IMG_6804.jpeg +0 -0
- collective/contentsections/distributions/sections/content/content/ad18738761b94e0db90beff29fe232d2/data.json +34 -0
- collective/contentsections/distributions/sections/content/content/b2b581efee084a94986ad74f61924410/data.json +59 -0
- collective/contentsections/distributions/sections/content/content/b2b581efee084a94986ad74f61924410/image/bird-05.jpg +0 -0
- collective/contentsections/distributions/sections/content/content/b6ba4c606fb0443aa3054e25754c1c82/data.json +34 -0
- collective/contentsections/distributions/sections/content/content/b6ba4c606fb0443aa3054e25754c1c82/image/namur.jpg +0 -0
- collective/contentsections/distributions/sections/content/content/b844a9801e1e400da1da026f940ac529/data.json +36 -0
- collective/contentsections/distributions/sections/content/content/bbfa80c53c9a4e99b9e85fd6a2f996ba/data.json +31 -0
- collective/contentsections/distributions/sections/content/content/bbfa80c53c9a4e99b9e85fd6a2f996ba/image/IMG_6807.jpeg +0 -0
- collective/contentsections/distributions/sections/content/content/be82cb720d6b42ad8a893f96909f68e2/data.json +31 -0
- collective/contentsections/distributions/sections/content/content/be82cb720d6b42ad8a893f96909f68e2/image/chat07.jpg +0 -0
- collective/contentsections/distributions/sections/content/content/c2831989758048ed83b0ed7fd631e6fa/data.json +31 -0
- collective/contentsections/distributions/sections/content/content/c2831989758048ed83b0ed7fd631e6fa/image/chat05.jpg +0 -0
- collective/contentsections/distributions/sections/content/content/cc1a32b7d2514cc8a57edea574223202/data.json +34 -0
- collective/contentsections/distributions/sections/content/content/cc1a32b7d2514cc8a57edea574223202/image/olln.jpg +0 -0
- collective/contentsections/distributions/sections/content/content/d1c22416ba1a495cb6f7b0e0ab957afd/data.json +52 -0
- collective/contentsections/distributions/sections/content/content/d3d4c1cca1c84890b5209d8ecd2bb80c/data.json +49 -0
- collective/contentsections/distributions/sections/content/content/d3d4c1cca1c84890b5209d8ecd2bb80c/image/chat06.jpg +0 -0
- collective/contentsections/distributions/sections/content/content/d44ab052152c47a292b0af0ea5044246/data.json +31 -0
- collective/contentsections/distributions/sections/content/content/d44ab052152c47a292b0af0ea5044246/image/IMG_6537.jpeg +0 -0
- collective/contentsections/distributions/sections/content/content/d9280d9224be4abf910b130fd3976011/data.json +31 -0
- collective/contentsections/distributions/sections/content/content/d9280d9224be4abf910b130fd3976011/image/IMG_4189.jpeg +0 -0
- collective/contentsections/distributions/sections/content/content/da4d3242e9714345b5c29a39845cc676/data.json +32 -0
- collective/contentsections/distributions/sections/content/content/e8ab7eb613344942a996705514d43d60/data.json +59 -0
- collective/contentsections/distributions/sections/content/content/e8ab7eb613344942a996705514d43d60/image/bird-01.jpg +0 -0
- collective/contentsections/distributions/sections/content/content/e9ebf1dd6c5c48b48d7e530138926ae8/data.json +59 -0
- collective/contentsections/distributions/sections/content/content/e9ebf1dd6c5c48b48d7e530138926ae8/image/bird-03.jpg +0 -0
- collective/contentsections/distributions/sections/content/content/eb31b75b5c864eb8a96e9d63eb31b5d4/data.json +31 -0
- collective/contentsections/distributions/sections/content/content/eb31b75b5c864eb8a96e9d63eb31b5d4/image/IMG_1971.jpeg +0 -0
- collective/contentsections/distributions/sections/content/content/ef965d707fd147529afe12088809993f/data.json +50 -0
- collective/contentsections/distributions/sections/content/content/f0a2237f2dea452ebaec185f4e6f8217/data.json +50 -0
- collective/contentsections/distributions/sections/content/content/f0c1229450aa44e59ac35bff82c5da95/data.json +36 -0
- collective/contentsections/distributions/sections/content/content/plone_site_root/data.json +34 -0
- collective/contentsections/distributions/sections/content/relations.json +22 -0
- collective/contentsections/distributions/sections/image.png +0 -0
- collective/contentsections/distributions/sections/profiles.json +4 -0
- collective/contentsections/indexers.py +74 -0
- collective/contentsections/indexers.zcml +21 -0
- collective/contentsections/interfaces.py +6 -0
- collective/contentsections/pages/__init__.py +9 -0
- collective/contentsections/pages/base.py +81 -0
- collective/contentsections/pages/base_page_section_view.pt +14 -0
- collective/contentsections/pages/base_page_view.pt +158 -0
- collective/contentsections/pages/basic/__init__.py +0 -0
- collective/contentsections/pages/basic/configure.zcml +10 -0
- collective/contentsections/pages/basic/content.py +13 -0
- collective/contentsections/pages/configure.zcml +43 -0
- collective/contentsections/pages/event/__init__.py +0 -0
- collective/contentsections/pages/event/configure.zcml +20 -0
- collective/contentsections/pages/event/content.py +15 -0
- collective/contentsections/pages/event/view.pt +7 -0
- collective/contentsections/pages/news/__init__.py +0 -0
- collective/contentsections/pages/news/configure.zcml +11 -0
- collective/contentsections/pages/news/content.py +13 -0
- collective/contentsections/profiles/default/browserlayer.xml +7 -0
- collective/contentsections/profiles/default/metadata.xml +9 -0
- collective/contentsections/profiles/default/portlets.xml +5 -0
- collective/contentsections/profiles/default/registry/base.xml +50 -0
- collective/contentsections/profiles/default/registry/bundles.xml +21 -0
- collective/contentsections/profiles/default/registry/icons.xml +92 -0
- collective/contentsections/profiles/default/registry/tinymce.xml +163 -0
- collective/contentsections/profiles/default/rolemap.xml +21 -0
- collective/contentsections/profiles/default/taxonomies/section_css_classes.cfg +7 -0
- collective/contentsections/profiles/default/taxonomies/section_css_classes.xml +56 -0
- collective/contentsections/profiles/default/types/Document.xml +4 -0
- collective/contentsections/profiles/default/types/Event.xml +4 -0
- collective/contentsections/profiles/default/types/File.xml +17 -0
- collective/contentsections/profiles/default/types/Image.xml +15 -0
- collective/contentsections/profiles/default/types/Link.xml +18 -0
- collective/contentsections/profiles/default/types/News_Item.xml +5 -0
- collective/contentsections/profiles/default/types/collective.contentsections.BasicPage.xml +45 -0
- collective/contentsections/profiles/default/types/collective.contentsections.CardsSection.xml +28 -0
- collective/contentsections/profiles/default/types/collective.contentsections.CollectionSection.xml +29 -0
- collective/contentsections/profiles/default/types/collective.contentsections.Contact.xml +25 -0
- collective/contentsections/profiles/default/types/collective.contentsections.ContactsSection.xml +28 -0
- collective/contentsections/profiles/default/types/collective.contentsections.EventPage.xml +50 -0
- collective/contentsections/profiles/default/types/collective.contentsections.FilesSection.xml +32 -0
- collective/contentsections/profiles/default/types/collective.contentsections.HTMLSection.xml +23 -0
- collective/contentsections/profiles/default/types/collective.contentsections.ImagesSection.xml +32 -0
- collective/contentsections/profiles/default/types/collective.contentsections.LinksSection.xml +32 -0
- collective/contentsections/profiles/default/types/collective.contentsections.Location.xml +27 -0
- collective/contentsections/profiles/default/types/collective.contentsections.LocationsSection.xml +23 -0
- collective/contentsections/profiles/default/types/collective.contentsections.NewsPage.xml +45 -0
- collective/contentsections/profiles/default/types/collective.contentsections.SelectionSection.xml +29 -0
- collective/contentsections/profiles/default/types/collective.contentsections.TextSection.xml +25 -0
- collective/contentsections/profiles/default/types.xml +20 -0
- collective/contentsections/profiles/default/workflows.xml +20 -0
- collective/contentsections/profiles/uninstall/browserlayer.xml +7 -0
- collective/contentsections/profiles/uninstall/registry.xml +14 -0
- collective/contentsections/sections/__init__.py +25 -0
- collective/contentsections/sections/base.py +147 -0
- collective/contentsections/sections/base_links_card.pt +14 -0
- collective/contentsections/sections/base_links_card_carousel.pt +41 -0
- collective/contentsections/sections/base_links_carousel.pt +40 -0
- collective/contentsections/sections/base_links_list.pt +23 -0
- collective/contentsections/sections/cards/__init__.py +0 -0
- collective/contentsections/sections/cards/configure.zcml +17 -0
- collective/contentsections/sections/cards/content.py +93 -0
- collective/contentsections/sections/cards/view.pt +21 -0
- collective/contentsections/sections/cards/views.py +30 -0
- collective/contentsections/sections/collection/__init__.py +0 -0
- collective/contentsections/sections/collection/configure.zcml +53 -0
- collective/contentsections/sections/collection/content.py +45 -0
- collective/contentsections/sections/collection/views.py +36 -0
- collective/contentsections/sections/configure.zcml +38 -0
- collective/contentsections/sections/contacts/__init__.py +0 -0
- collective/contentsections/sections/contacts/card.pt +25 -0
- collective/contentsections/sections/contacts/configure.zcml +19 -0
- collective/contentsections/sections/contacts/content.py +14 -0
- collective/contentsections/sections/contacts/views.py +32 -0
- collective/contentsections/sections/files/__init__.py +0 -0
- collective/contentsections/sections/files/configure.zcml +53 -0
- collective/contentsections/sections/files/content.py +14 -0
- collective/contentsections/sections/files/views.py +31 -0
- collective/contentsections/sections/html/__init__.py +0 -0
- collective/contentsections/sections/html/configure.zcml +15 -0
- collective/contentsections/sections/html/content.py +19 -0
- collective/contentsections/sections/html/view.pt +9 -0
- collective/contentsections/sections/images/__init__.py +0 -0
- collective/contentsections/sections/images/configure.zcml +54 -0
- collective/contentsections/sections/images/content.py +14 -0
- collective/contentsections/sections/images/gallery.pt +42 -0
- collective/contentsections/sections/images/views.py +53 -0
- collective/contentsections/sections/links/__init__.py +0 -0
- collective/contentsections/sections/links/configure.zcml +53 -0
- collective/contentsections/sections/links/content.py +14 -0
- collective/contentsections/sections/links/views.py +36 -0
- collective/contentsections/sections/locations/__init__.py +0 -0
- collective/contentsections/sections/locations/configure.zcml +15 -0
- collective/contentsections/sections/locations/content.py +21 -0
- collective/contentsections/sections/locations/view.pt +9 -0
- collective/contentsections/sections/locations/views.py +72 -0
- collective/contentsections/sections/selection/__init__.py +0 -0
- collective/contentsections/sections/selection/configure.zcml +53 -0
- collective/contentsections/sections/selection/content.py +39 -0
- collective/contentsections/sections/selection/views.py +26 -0
- collective/contentsections/sections/text/__init__.py +0 -0
- collective/contentsections/sections/text/configure.zcml +15 -0
- collective/contentsections/sections/text/content.py +30 -0
- collective/contentsections/sections/text/view.pt +23 -0
- collective/contentsections/static/Sortable.min.js +2 -0
- collective/contentsections/static/base.css +72 -0
- collective/contentsections/static/base.js +12 -0
- collective/contentsections/static/edit.css +0 -0
- collective/contentsections/static/edit.js +3 -0
- collective/contentsections/static/flexbin.css +74 -0
- collective/contentsections/static/spotlight.bundle.js +28 -0
- collective/contentsections/views/configure.zcml +14 -0
- collective/contentsections/views/macros.pt +36 -0
- collective/contentsections/views/utils.py +10 -0
- collective/contentsections/vocabularies.py +59 -0
- collective/contentsections/vocabularies.zcml +28 -0
- collective.contentsections-2.0.0a1-py3.12-nspkg.pth +1 -0
- collective_contentsections-2.0.0a1.dist-info/LICENCE +339 -0
- collective_contentsections-2.0.0a1.dist-info/METADATA +340 -0
- collective_contentsections-2.0.0a1.dist-info/RECORD +227 -0
- collective_contentsections-2.0.0a1.dist-info/WHEEL +5 -0
- collective_contentsections-2.0.0a1.dist-info/entry_points.txt +2 -0
- collective_contentsections-2.0.0a1.dist-info/namespace_packages.txt +1 -0
- collective_contentsections-2.0.0a1.dist-info/top_level.txt +1 -0
|
File without changes
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<configure
|
|
2
|
+
xmlns="http://namespaces.zope.org/zope"
|
|
3
|
+
xmlns:browser="http://namespaces.zope.org/browser"
|
|
4
|
+
xmlns:plone="http://namespaces.plone.org/plone"
|
|
5
|
+
xmlns:zcml="http://namespaces.zope.org/zcml"
|
|
6
|
+
i18n_domain="collective.contentsections">
|
|
7
|
+
|
|
8
|
+
<include package="plone.behavior" file="meta.zcml"/>
|
|
9
|
+
|
|
10
|
+
<plone:behavior
|
|
11
|
+
name="collective.contentsections.leadicon"
|
|
12
|
+
title="Lead Icon"
|
|
13
|
+
description="Adds icon field"
|
|
14
|
+
provides=".leadicon.ILeadIconBehavior"
|
|
15
|
+
factory=".leadicon.LeadIcon"
|
|
16
|
+
for="plone.dexterity.interfaces.IDexterityContent"
|
|
17
|
+
marker=".leadicon.ILeadIcon"
|
|
18
|
+
/>
|
|
19
|
+
|
|
20
|
+
<plone:behavior
|
|
21
|
+
name="collective.contentsections.namefromuuid"
|
|
22
|
+
title="Name from uuid"
|
|
23
|
+
description="Use uuid.uuid4 to generate short name of new object."
|
|
24
|
+
provides=".namechooser.INameFromUUID"
|
|
25
|
+
/>
|
|
26
|
+
<adapter factory=".namechooser.NameFromUUID" />
|
|
27
|
+
|
|
28
|
+
</configure>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
from collective.contentsections import _
|
|
3
|
+
from plone import schema
|
|
4
|
+
from plone.autoform.interfaces import IFormFieldProvider
|
|
5
|
+
from plone.dexterity.interfaces import IDexterityContent
|
|
6
|
+
from plone.supermodel import model
|
|
7
|
+
from zope.component import adapter
|
|
8
|
+
from zope.interface import Interface
|
|
9
|
+
from zope.interface import implementer
|
|
10
|
+
from zope.interface import provider
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ILeadIcon(Interface):
|
|
14
|
+
"Marker interface"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
@provider(IFormFieldProvider)
|
|
18
|
+
class ILeadIconBehavior(model.Schema):
|
|
19
|
+
|
|
20
|
+
icon = schema.Choice(
|
|
21
|
+
title=_("Lead Icon"),
|
|
22
|
+
required=False,
|
|
23
|
+
vocabulary="collective.contentsections.LeadIcons",
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
@implementer(ILeadIconBehavior)
|
|
28
|
+
@adapter(IDexterityContent)
|
|
29
|
+
class LeadIcon(object):
|
|
30
|
+
def __init__(self, context):
|
|
31
|
+
self.context = context
|
|
32
|
+
|
|
33
|
+
@property
|
|
34
|
+
def icon(self):
|
|
35
|
+
return self.context.icon
|
|
36
|
+
|
|
37
|
+
@icon.setter
|
|
38
|
+
def icon(self, value):
|
|
39
|
+
self.context.icon = value
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
import uuid
|
|
4
|
+
|
|
5
|
+
from plone.app.content.interfaces import INameFromTitle
|
|
6
|
+
from zope.component import adapter
|
|
7
|
+
from zope.interface import Interface
|
|
8
|
+
from zope.interface import implementer
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class INameFromUUID(Interface):
|
|
12
|
+
"""Marker interface to enable 'Name from uuid' behavior"""
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@implementer(INameFromTitle)
|
|
16
|
+
@adapter(INameFromUUID)
|
|
17
|
+
class NameFromUUID(object):
|
|
18
|
+
def __init__(self, context):
|
|
19
|
+
self.context = context
|
|
20
|
+
|
|
21
|
+
@property
|
|
22
|
+
def title(self):
|
|
23
|
+
prefix = self.context.portal_type.split(".")[-1].lower()
|
|
24
|
+
return f"{prefix}-{uuid.uuid4().hex}"
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<configure
|
|
2
|
+
xmlns="http://namespaces.zope.org/zope"
|
|
3
|
+
xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
|
|
4
|
+
xmlns:plone="http://namespaces.plone.org/plone"
|
|
5
|
+
>
|
|
6
|
+
|
|
7
|
+
<include package="Products.CMFPlone" />
|
|
8
|
+
<include package="plone.distribution" />
|
|
9
|
+
|
|
10
|
+
<plone:distribution
|
|
11
|
+
name="sections"
|
|
12
|
+
title="Plone Site (Content Sections)"
|
|
13
|
+
description="A Plone site where pages are built with sections."
|
|
14
|
+
directory="distributions/sections"
|
|
15
|
+
headless="false"
|
|
16
|
+
/>
|
|
17
|
+
|
|
18
|
+
<genericsetup:registerProfile
|
|
19
|
+
name="default"
|
|
20
|
+
title="collective.contentsections"
|
|
21
|
+
description="Installs the collective.contentsections add-on"
|
|
22
|
+
provides="Products.GenericSetup.interfaces.EXTENSION"
|
|
23
|
+
directory="profiles/default"
|
|
24
|
+
/>
|
|
25
|
+
|
|
26
|
+
<genericsetup:registerProfile
|
|
27
|
+
name="uninstall"
|
|
28
|
+
title="collective.contentsections (uninstall)"
|
|
29
|
+
description="Uninstalls the collective.contentsections add-on"
|
|
30
|
+
provides="Products.GenericSetup.interfaces.EXTENSION"
|
|
31
|
+
directory="profiles/uninstall"
|
|
32
|
+
/>
|
|
33
|
+
|
|
34
|
+
<include file="indexers.zcml" />
|
|
35
|
+
<include file="vocabularies.zcml" />
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
<include package=".behaviors" />
|
|
39
|
+
<include package=".contents" />
|
|
40
|
+
<include package=".pages" />
|
|
41
|
+
<include package=".sections" />
|
|
42
|
+
<include package=".views" />
|
|
43
|
+
|
|
44
|
+
<plone:static
|
|
45
|
+
directory="static"
|
|
46
|
+
name="collective.contentsections"
|
|
47
|
+
type="plone"
|
|
48
|
+
/>
|
|
49
|
+
|
|
50
|
+
</configure>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from Products.Five.browser import BrowserView
|
|
2
|
+
from zope.interface import Interface
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class IElement(Interface):
|
|
6
|
+
"""Marker interface for element content type"""
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class ElementView(BrowserView):
|
|
10
|
+
"""Element view"""
|
|
11
|
+
|
|
12
|
+
def __call__(self):
|
|
13
|
+
section = self.context.__parent__
|
|
14
|
+
url = f"{section.absolute_url()}/folder_contents"
|
|
15
|
+
self.request.response.redirect(url)
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<configure
|
|
2
|
+
xmlns="http://namespaces.zope.org/zope"
|
|
3
|
+
xmlns:browser="http://namespaces.zope.org/browser"
|
|
4
|
+
>
|
|
5
|
+
|
|
6
|
+
<include package=".contact" />
|
|
7
|
+
<include package=".file" />
|
|
8
|
+
<include package=".image" />
|
|
9
|
+
<include package=".link" />
|
|
10
|
+
<include package=".location" />
|
|
11
|
+
|
|
12
|
+
<browser:page
|
|
13
|
+
name="element_view"
|
|
14
|
+
for=".base.IElement"
|
|
15
|
+
class=".base.ElementView"
|
|
16
|
+
permission="zope2.View"
|
|
17
|
+
layer="collective.contentsections.interfaces.IBrowserLayer"
|
|
18
|
+
/>
|
|
19
|
+
|
|
20
|
+
</configure>
|
|
File without changes
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
from plone import schema
|
|
2
|
+
from plone.dexterity.content import Item
|
|
3
|
+
from plone.supermodel import model
|
|
4
|
+
from zope.interface import implementer
|
|
5
|
+
|
|
6
|
+
from collective.contentsections import _
|
|
7
|
+
from collective.contentsections.contents.base import IElement
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class IContact(model.Schema):
|
|
11
|
+
"""Contact schema"""
|
|
12
|
+
|
|
13
|
+
title = schema.TextLine(
|
|
14
|
+
title=_("Title"),
|
|
15
|
+
required=True,
|
|
16
|
+
)
|
|
17
|
+
subtitle = schema.TextLine(
|
|
18
|
+
title=_("Subtitle"),
|
|
19
|
+
required=False,
|
|
20
|
+
)
|
|
21
|
+
description = schema.Text(
|
|
22
|
+
title=_("Description"),
|
|
23
|
+
required=False,
|
|
24
|
+
)
|
|
25
|
+
email = schema.Email(
|
|
26
|
+
title=_("Email"),
|
|
27
|
+
required=False,
|
|
28
|
+
)
|
|
29
|
+
phone = schema.TextLine(
|
|
30
|
+
title=_("Phone"),
|
|
31
|
+
required=False,
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
@implementer(IContact, IElement)
|
|
36
|
+
class Contact(Item):
|
|
37
|
+
"""Contact content type"""
|
|
File without changes
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<configure
|
|
2
|
+
xmlns="http://namespaces.zope.org/zope"
|
|
3
|
+
xmlns:browser="http://namespaces.zope.org/browser"
|
|
4
|
+
>
|
|
5
|
+
|
|
6
|
+
<class class="plone.app.contenttypes.content.File">
|
|
7
|
+
<implements interface="collective.contentsections.contents.base.IElement" />
|
|
8
|
+
</class>
|
|
9
|
+
|
|
10
|
+
</configure>
|
|
File without changes
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<configure
|
|
2
|
+
xmlns="http://namespaces.zope.org/zope"
|
|
3
|
+
xmlns:browser="http://namespaces.zope.org/browser"
|
|
4
|
+
>
|
|
5
|
+
|
|
6
|
+
<class class="plone.app.contenttypes.content.Image">
|
|
7
|
+
<implements interface="collective.contentsections.contents.base.IElement" />
|
|
8
|
+
</class>
|
|
9
|
+
|
|
10
|
+
</configure>
|
|
File without changes
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<configure
|
|
2
|
+
xmlns="http://namespaces.zope.org/zope"
|
|
3
|
+
xmlns:browser="http://namespaces.zope.org/browser"
|
|
4
|
+
>
|
|
5
|
+
|
|
6
|
+
<class class="plone.app.contenttypes.content.Link">
|
|
7
|
+
<implements interface="collective.contentsections.contents.base.IElement" />
|
|
8
|
+
</class>
|
|
9
|
+
|
|
10
|
+
<browser:page
|
|
11
|
+
name="element_view"
|
|
12
|
+
for="plone.app.contenttypes.interfaces.ILink"
|
|
13
|
+
class=".views.ElementView"
|
|
14
|
+
permission="zope2.View"
|
|
15
|
+
layer="collective.contentsections.interfaces.IBrowserLayer"
|
|
16
|
+
/>
|
|
17
|
+
|
|
18
|
+
</configure>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from plone import api
|
|
2
|
+
from plone.app.contenttypes.browser.link_redirect_view import LinkRedirectView
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class ElementView(LinkRedirectView):
|
|
6
|
+
"""Element view"""
|
|
7
|
+
|
|
8
|
+
def __call__(self):
|
|
9
|
+
if api.user.has_permission("Modify portal content", user=api.user.get_current(), obj=self.context):
|
|
10
|
+
section = self.context.__parent__
|
|
11
|
+
url = f"{section.absolute_url()}/folder_contents"
|
|
12
|
+
self.request.response.redirect(url)
|
|
13
|
+
super().__call__()
|
|
File without changes
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from plone import schema
|
|
2
|
+
from plone.dexterity.content import Item
|
|
3
|
+
from plone.supermodel import model
|
|
4
|
+
from zope.interface import implementer
|
|
5
|
+
|
|
6
|
+
from collective.contentsections import _
|
|
7
|
+
from collective.contentsections.contents.base import IElement
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ILocation(model.Schema):
|
|
11
|
+
"""Location schema"""
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@implementer(ILocation, IElement)
|
|
15
|
+
class Location(Item):
|
|
16
|
+
"""Location content type"""
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@id": "/demo/page-with-text-sections",
|
|
3
|
+
"@type": "collective.contentsections.BasicPage",
|
|
4
|
+
"UID": "081544c4943647f9b15b9e0905a9b54d",
|
|
5
|
+
"allow_discussion": null,
|
|
6
|
+
"changeNote": "",
|
|
7
|
+
"created": "2021-12-14T09:14:01+00:00",
|
|
8
|
+
"description": "This page contains Text sections in different configurations",
|
|
9
|
+
"effective": "2021-12-14T10:14:00",
|
|
10
|
+
"exclude_from_nav": false,
|
|
11
|
+
"expires": null,
|
|
12
|
+
"exportimport.constrains": {},
|
|
13
|
+
"exportimport.conversation": [],
|
|
14
|
+
"hide_title": false,
|
|
15
|
+
"id": "page-with-text-sections",
|
|
16
|
+
"image": null,
|
|
17
|
+
"image_caption": null,
|
|
18
|
+
"is_folderish": true,
|
|
19
|
+
"language": "##DEFAULT##",
|
|
20
|
+
"layout": "page_view",
|
|
21
|
+
"lock": {
|
|
22
|
+
"locked": false,
|
|
23
|
+
"stealable": true
|
|
24
|
+
},
|
|
25
|
+
"modified": "2025-03-18T13:08:08+00:00",
|
|
26
|
+
"review_state": "published",
|
|
27
|
+
"subjects": [],
|
|
28
|
+
"title": "Basic page with Text sections",
|
|
29
|
+
"type_title": "Basic page",
|
|
30
|
+
"version": "current",
|
|
31
|
+
"versioning_enabled": true,
|
|
32
|
+
"workflow_history": {
|
|
33
|
+
"simple_publication_workflow": [
|
|
34
|
+
{
|
|
35
|
+
"action": null,
|
|
36
|
+
"actor": "admin",
|
|
37
|
+
"comments": "",
|
|
38
|
+
"review_state": "private",
|
|
39
|
+
"time": "2021-12-14T09:14:01+00:00"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"action": "publish",
|
|
43
|
+
"actor": "admin",
|
|
44
|
+
"comments": "",
|
|
45
|
+
"review_state": "published",
|
|
46
|
+
"time": "2021-12-14T09:14:04+00:00"
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
},
|
|
50
|
+
"working_copy": null,
|
|
51
|
+
"working_copy_of": null
|
|
52
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@id": "/demo/news/index",
|
|
3
|
+
"@type": "Collection",
|
|
4
|
+
"UID": "0e43326bb88948c0b041a8133ce1e1fe",
|
|
5
|
+
"allow_discussion": null,
|
|
6
|
+
"contributors": [],
|
|
7
|
+
"created": "2021-12-14T08:55:37+00:00",
|
|
8
|
+
"creators": [
|
|
9
|
+
"admin"
|
|
10
|
+
],
|
|
11
|
+
"customViewFields": [
|
|
12
|
+
"Title",
|
|
13
|
+
"Creator",
|
|
14
|
+
"Type",
|
|
15
|
+
"ModificationDate"
|
|
16
|
+
],
|
|
17
|
+
"description": "",
|
|
18
|
+
"effective": "2021-12-14T09:57:00",
|
|
19
|
+
"exclude_from_nav": false,
|
|
20
|
+
"expires": null,
|
|
21
|
+
"exportimport.constrains": {},
|
|
22
|
+
"exportimport.conversation": [],
|
|
23
|
+
"id": "index",
|
|
24
|
+
"is_folderish": false,
|
|
25
|
+
"item_count": 30,
|
|
26
|
+
"items_total": 5,
|
|
27
|
+
"language": "##DEFAULT##",
|
|
28
|
+
"layout": "summary_view",
|
|
29
|
+
"limit": 1000,
|
|
30
|
+
"lock": {
|
|
31
|
+
"locked": false,
|
|
32
|
+
"stealable": true
|
|
33
|
+
},
|
|
34
|
+
"modified": "2025-03-18T12:46:58+00:00",
|
|
35
|
+
"query": [
|
|
36
|
+
{
|
|
37
|
+
"i": "path",
|
|
38
|
+
"o": "plone.app.querystring.operation.string.relativePath",
|
|
39
|
+
"v": "..::1::1"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"i": "portal_type",
|
|
43
|
+
"o": "plone.app.querystring.operation.selection.any",
|
|
44
|
+
"v": [
|
|
45
|
+
"collective.contentsections.NewsPage"
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"review_state": "published",
|
|
50
|
+
"rights": null,
|
|
51
|
+
"sort_on": "created",
|
|
52
|
+
"sort_reversed": true,
|
|
53
|
+
"subjects": [],
|
|
54
|
+
"text": null,
|
|
55
|
+
"title": "News collection",
|
|
56
|
+
"type_title": "Collection",
|
|
57
|
+
"version": "current",
|
|
58
|
+
"workflow_history": {
|
|
59
|
+
"simple_publication_workflow": [
|
|
60
|
+
{
|
|
61
|
+
"action": null,
|
|
62
|
+
"actor": "admin",
|
|
63
|
+
"comments": "",
|
|
64
|
+
"review_state": "private",
|
|
65
|
+
"time": "2021-12-14T08:55:37+00:00"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"action": "publish",
|
|
69
|
+
"actor": "admin",
|
|
70
|
+
"comments": "",
|
|
71
|
+
"review_state": "published",
|
|
72
|
+
"time": "2021-12-14T08:57:12+00:00"
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
"working_copy": null,
|
|
77
|
+
"working_copy_of": null
|
|
78
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@id": "/demo/page-with-collection-sections/collectionsection-23c06ad497fc4ee0acfc2d5ee4f6c18b",
|
|
3
|
+
"@type": "collective.contentsections.CollectionSection",
|
|
4
|
+
"UID": "1da584ffcfd94a218ac3af5e1cdbbd85",
|
|
5
|
+
"allow_discussion": null,
|
|
6
|
+
"background_image": null,
|
|
7
|
+
"collection_link_text": "",
|
|
8
|
+
"container_width": 12,
|
|
9
|
+
"created": "2021-12-17T19:32:41+00:00",
|
|
10
|
+
"css_classes": [],
|
|
11
|
+
"exportimport.constrains": {},
|
|
12
|
+
"exportimport.conversation": [],
|
|
13
|
+
"group_size": 4,
|
|
14
|
+
"hide_item_descriptions": false,
|
|
15
|
+
"hide_item_lead_images": false,
|
|
16
|
+
"hide_item_publication_dates": true,
|
|
17
|
+
"hide_item_titles": false,
|
|
18
|
+
"hide_title": false,
|
|
19
|
+
"id": "collectionsection-23c06ad497fc4ee0acfc2d5ee4f6c18b",
|
|
20
|
+
"is_folderish": true,
|
|
21
|
+
"items_number": 4,
|
|
22
|
+
"language": "##DEFAULT##",
|
|
23
|
+
"layout": "card_view",
|
|
24
|
+
"lock": {
|
|
25
|
+
"locked": false,
|
|
26
|
+
"stealable": true
|
|
27
|
+
},
|
|
28
|
+
"modified": "2025-03-18T13:08:08+00:00",
|
|
29
|
+
"review_state": null,
|
|
30
|
+
"title": "Collection section with Card view",
|
|
31
|
+
"type_title": "Collection section",
|
|
32
|
+
"version": "current",
|
|
33
|
+
"workflow_history": {},
|
|
34
|
+
"working_copy": null,
|
|
35
|
+
"working_copy_of": null
|
|
36
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@id": "/demo/page-with-text-sections/textsection-5762f05cb78b4e05a868336f5d6fab9c",
|
|
3
|
+
"@type": "collective.contentsections.TextSection",
|
|
4
|
+
"UID": "1ff04c0fca9e4cabb8b6c7a9b2b7f252",
|
|
5
|
+
"allow_discussion": null,
|
|
6
|
+
"background_image": null,
|
|
7
|
+
"changeNote": "",
|
|
8
|
+
"container_width": 12,
|
|
9
|
+
"created": "2021-12-16T17:06:16+00:00",
|
|
10
|
+
"css_classes": [],
|
|
11
|
+
"exportimport.constrains": {},
|
|
12
|
+
"exportimport.conversation": [],
|
|
13
|
+
"hide_title": false,
|
|
14
|
+
"id": "textsection-5762f05cb78b4e05a868336f5d6fab9c",
|
|
15
|
+
"image": null,
|
|
16
|
+
"image_caption": null,
|
|
17
|
+
"is_folderish": true,
|
|
18
|
+
"language": "##DEFAULT##",
|
|
19
|
+
"layout": "view",
|
|
20
|
+
"lead_image_alignment": "right",
|
|
21
|
+
"lead_image_scale": "preview",
|
|
22
|
+
"lock": {
|
|
23
|
+
"locked": false,
|
|
24
|
+
"stealable": true
|
|
25
|
+
},
|
|
26
|
+
"modified": "2025-03-18T12:28:30+00:00",
|
|
27
|
+
"review_state": null,
|
|
28
|
+
"text": {
|
|
29
|
+
"content-type": "text/html",
|
|
30
|
+
"data": "<p>Haec igitur Epicuri non probo, inquam. De cetero vellem equidem aut ipse doctrinis fuisset instructior est enim, quod tibi ita videri necesse est, non satis politus iis artibus, quas qui tenent, eruditi appellantur aut ne deterruisset alios a studiis. quamquam te quidem <a href=\"https://www.plone.org\" data-linktype=\"external\" data-val=\"https://www.plone.org\">video minime esse</a> deterritum.</p>\r\n<p>Verum ad istam omnem orationem brevis est defensio. Nam quoad aetas M. Caeli dare potuit isti suspicioni locum, fuit primum ipsius pudore, deinde etiam patris diligentia disciplinaque munita. Qui ut huic virilem togam dedit\u0161nihil dicam hoc loco de me; tantum sit, quantum vos existimatis; hoc dicam, hunc a patre continuo ad me esse deductum; nemo hunc M. Caelium in illo aetatis flore vidit nisi aut cum patre aut mecum aut in M. Crassi castissima domo, cum artibus honestissimis erudiretur.</p>\r\n<table border=\"1\" class=\"table table-bordered\" style=\"width: 100%; height: 74px;\">\r\n<tbody>\r\n<tr style=\"height: 37px;\">\r\n<th style=\"width: 20%; height: 37px;\">2015</th>\r\n<th style=\"width: 20%; height: 37px;\">2016</th>\r\n<th style=\"width: 20%; height: 37px;\">2017</th>\r\n<th style=\"width: 20%; height: 37px;\">2018</th>\r\n<th style=\"width: 20%; height: 37px;\">2019</th>\r\n</tr>\r\n<tr style=\"height: 37px;\">\r\n<td scope=\"row\" style=\"width: 20%; height: 37px;\">Bucharest</td>\r\n<td style=\"width: 20%; height: 37px;\">Boston</td>\r\n<td style=\"width: 20%; height: 37px;\">Barcelona</td>\r\n<td style=\"width: 20%; height: 37px;\">Tokyo</td>\r\n<td scope=\"row\" style=\"width: 20%; height: 37px;\">Ferrara</td>\r\n</tr>\r\n</tbody>\r\n</table>",
|
|
31
|
+
"encoding": "utf-8"
|
|
32
|
+
},
|
|
33
|
+
"title": "Text section five",
|
|
34
|
+
"type_title": "Text section",
|
|
35
|
+
"version": "current",
|
|
36
|
+
"versioning_enabled": true,
|
|
37
|
+
"workflow_history": {},
|
|
38
|
+
"working_copy": null,
|
|
39
|
+
"working_copy_of": null
|
|
40
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@id": "/demo/page-with-sections/imagessection-c871f245e95240c4b8f599348e0e0b19",
|
|
3
|
+
"@type": "collective.contentsections.ImagesSection",
|
|
4
|
+
"UID": "2d71207814b246e4bfe510325bb82c5e",
|
|
5
|
+
"allow_discussion": null,
|
|
6
|
+
"background_image": null,
|
|
7
|
+
"container_width": 12,
|
|
8
|
+
"created": "2021-12-17T19:35:29+00:00",
|
|
9
|
+
"css_classes": [],
|
|
10
|
+
"exportimport.constrains": {},
|
|
11
|
+
"exportimport.conversation": [],
|
|
12
|
+
"group_size": 2,
|
|
13
|
+
"hide_item_descriptions": false,
|
|
14
|
+
"hide_item_lead_images": false,
|
|
15
|
+
"hide_item_publication_dates": true,
|
|
16
|
+
"hide_item_titles": false,
|
|
17
|
+
"hide_title": false,
|
|
18
|
+
"id": "imagessection-c871f245e95240c4b8f599348e0e0b19",
|
|
19
|
+
"is_folderish": true,
|
|
20
|
+
"language": "##DEFAULT##",
|
|
21
|
+
"layout": "gallery_view",
|
|
22
|
+
"lock": {
|
|
23
|
+
"locked": false,
|
|
24
|
+
"stealable": true
|
|
25
|
+
},
|
|
26
|
+
"modified": "2023-08-20T18:34:56+00:00",
|
|
27
|
+
"review_state": null,
|
|
28
|
+
"title": "Images section",
|
|
29
|
+
"type_title": "Images section",
|
|
30
|
+
"version": "current",
|
|
31
|
+
"workflow_history": {},
|
|
32
|
+
"working_copy": null,
|
|
33
|
+
"working_copy_of": null
|
|
34
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@id": "/demo/event-with-sections/imagessection-ec627db95abd4a308fd72dd69e7cc738",
|
|
3
|
+
"@type": "collective.contentsections.ImagesSection",
|
|
4
|
+
"UID": "2ef081a74f5a43da800883a91ec31e62",
|
|
5
|
+
"allow_discussion": null,
|
|
6
|
+
"background_image": null,
|
|
7
|
+
"container_width": 12,
|
|
8
|
+
"created": "2021-12-17T17:11:36+00:00",
|
|
9
|
+
"css_classes": [],
|
|
10
|
+
"exportimport.constrains": {},
|
|
11
|
+
"exportimport.conversation": [],
|
|
12
|
+
"group_size": 3,
|
|
13
|
+
"hide_item_descriptions": false,
|
|
14
|
+
"hide_item_lead_images": false,
|
|
15
|
+
"hide_item_publication_dates": true,
|
|
16
|
+
"hide_item_titles": false,
|
|
17
|
+
"hide_title": false,
|
|
18
|
+
"id": "imagessection-ec627db95abd4a308fd72dd69e7cc738",
|
|
19
|
+
"is_folderish": true,
|
|
20
|
+
"language": "##DEFAULT##",
|
|
21
|
+
"layout": "gallery_view",
|
|
22
|
+
"lock": {
|
|
23
|
+
"locked": false,
|
|
24
|
+
"stealable": true
|
|
25
|
+
},
|
|
26
|
+
"modified": "2025-03-18T12:39:09+00:00",
|
|
27
|
+
"review_state": null,
|
|
28
|
+
"title": "Images section",
|
|
29
|
+
"type_title": "Images section",
|
|
30
|
+
"version": "current",
|
|
31
|
+
"workflow_history": {},
|
|
32
|
+
"working_copy": null,
|
|
33
|
+
"working_copy_of": null
|
|
34
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@id": "/demo/page-with-sections/imagessection-c871f245e95240c4b8f599348e0e0b19/chat06.jpg",
|
|
3
|
+
"@type": "Image",
|
|
4
|
+
"UID": "2fb127ce7e3341679227a5bfdec44da8",
|
|
5
|
+
"allow_discussion": null,
|
|
6
|
+
"created": "2021-12-17T19:36:14+00:00",
|
|
7
|
+
"description": "",
|
|
8
|
+
"exportimport.constrains": {},
|
|
9
|
+
"exportimport.conversation": [],
|
|
10
|
+
"id": "chat06.jpg",
|
|
11
|
+
"image": {
|
|
12
|
+
"blob_path": "2fb127ce7e3341679227a5bfdec44da8/image/chat06.jpg",
|
|
13
|
+
"content-type": "image/jpeg",
|
|
14
|
+
"filename": "chat06.jpg",
|
|
15
|
+
"height": 720,
|
|
16
|
+
"size": 212130,
|
|
17
|
+
"width": 1280
|
|
18
|
+
},
|
|
19
|
+
"is_folderish": false,
|
|
20
|
+
"language": "##DEFAULT##",
|
|
21
|
+
"layout": "element_view",
|
|
22
|
+
"lock": {},
|
|
23
|
+
"modified": "2021-12-17T19:36:14+00:00",
|
|
24
|
+
"review_state": null,
|
|
25
|
+
"title": "chat06.jpg",
|
|
26
|
+
"type_title": "Image",
|
|
27
|
+
"version": "current",
|
|
28
|
+
"workflow_history": {},
|
|
29
|
+
"working_copy": null,
|
|
30
|
+
"working_copy_of": null
|
|
31
|
+
}
|