Skip to content

Commit a31a42a

Browse files
black
1 parent b8420a8 commit a31a42a

File tree

10 files changed

+93
-2
lines changed

10 files changed

+93
-2
lines changed

CHANGES.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ Changelog
1010
due to some core egg update
1111
Code porting to work with the new plone.restapi 9.6.1 version
1212
[lucabel]
13+
- Add rassegna index to events
14+
[lucabel]
1315

1416

1517
6.2.8 (2024-04-22)

src/design/plone/contenttypes/events/configure.zcml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,10 @@
3131
zope.lifecycleevent.interfaces.IObjectAddedEvent"
3232
handler=".common.createSubfolders"
3333
/>
34+
<subscriber
35+
for="plone.app.contenttypes.interfaces.IEvent
36+
zope.lifecycleevent.interfaces.IObjectModifiedEvent"
37+
handler=".events.EventModified"
38+
/>
39+
3440
</configure>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
from Acquisition import aq_inner, aq_parent
2+
3+
4+
def EventModified(dx_event, event):
5+
parent = aq_parent(aq_inner(dx_event))
6+
if parent.portal_type == "Event":
7+
parent.reindexObject(idxs=["rassegna"])
8+
return

src/design/plone/contenttypes/indexers/configure.zcml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,11 @@
7777
factory=".common.exclude_from_search"
7878
name="exclude_from_search"
7979
/>
80+
<adapter
81+
factory=".events.rassegna"
82+
name="rassegna"
83+
/>
84+
8085
<!-- only metadata -->
8186

8287
</configure>

src/design/plone/contenttypes/indexers/events.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,10 @@ def event_location(context, **kw):
1010
luoghi_correlati = filter(bool, luoghi_correlati)
1111
luoghi_correlati_title = [x.UID() for x in luoghi_correlati]
1212
return luoghi_correlati_title
13+
14+
15+
@indexer(IEvent)
16+
def rassegna(context, **kw):
17+
""" """
18+
children = context.values()
19+
return "Event" in [child.portal_type for child in children]

src/design/plone/contenttypes/profiles/default/catalog.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,10 @@
5757
</index>
5858
<index name="exclude_from_search" meta_type="BooleanIndex">
5959
<indexed_attr value="exclude_from_search"/>
60-
</index>
60+
</index>
61+
<index name="rassegna" meta_type="BooleanIndex">
62+
<indexed_attr value="rassegna"/>
63+
</index>
6164

6265
<!-- metadata -->
6366
<column value="tipologia_notizia" />
@@ -71,6 +74,7 @@
7174
<column value="ente_bando" />
7275
<column value="icona" />
7376
<column value="update_note" />
77+
<column value="rassegna" />
7478

7579
<!-- cleanup -->
7680
<index name="argomenti_correlati"

src/design/plone/contenttypes/profiles/default/metadata.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<metadata>
3-
<version>7301</version>
3+
<version>7303</version>
44
<dependencies>
55
<dependency>profile-redturtle.bandi:default</dependency>
66
<dependency>profile-collective.venue:default</dependency>

src/design/plone/contenttypes/profiles/default/registry/criteria.xml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -464,6 +464,21 @@
464464
<value key="group" i18n:translate="">Metadata</value>
465465
</records>
466466

467+
<records interface="plone.app.querystring.interfaces.IQueryField"
468+
prefix="plone.app.querystring.field.rassegna"
469+
>
470+
<value key="title" i18n:translate="">Evento Rassegna</value>
471+
<value key="description" i18n:translate="">Esclude le rassegne dai listing</value>
472+
<value key="enabled">True</value>
473+
<value key="sortable">False</value>
474+
<value key="operations">
475+
<element>plone.app.querystring.operation.boolean.isTrue</element>
476+
<element>plone.app.querystring.operation.boolean.isFalse</element>
477+
</value>
478+
<value key="group" i18n:translate="">Metadata</value>
479+
</records>
480+
481+
467482

468483
<!-- cleanup -->
469484
<records interface="plone.app.querystring.interfaces.IQueryField"

src/design/plone/contenttypes/upgrades/configure.zcml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -863,5 +863,19 @@
863863
destination="7301"
864864
handler=".to_730x.to_7301"
865865
/>
866+
<genericsetup:upgradeStep
867+
title="Add new index for event"
868+
profile="design.plone.contenttypes:default"
869+
source="7301"
870+
destination="7302"
871+
handler=".to_730x.to_7302"
872+
/>
873+
<genericsetup:upgradeStep
874+
title="Add new key to filter listing by rassegna"
875+
profile="design.plone.contenttypes:default"
876+
source="7302"
877+
destination="7303"
878+
handler=".to_730x.to_7303"
879+
/>
866880

867881
</configure>

src/design/plone/contenttypes/upgrades/to_730x.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,18 @@
1111
DEFAULT_PROFILE = "profile-design.plone.contenttypes:default"
1212

1313

14+
def update_profile(context, profile, run_dependencies=True):
15+
context.runImportStepFromProfile(DEFAULT_PROFILE, profile, run_dependencies)
16+
17+
18+
def update_catalog(context):
19+
update_profile(context, "catalog")
20+
21+
22+
def update_registry(context):
23+
update_profile(context, "plone.app.registry", run_dependencies=False)
24+
25+
1426
def to_7301(context):
1527
brains = api.content.find(portal_type="Persona")
1628
for brain in brains:
@@ -43,3 +55,21 @@ def to_7301(context):
4355
if api.content.get_state(child) != "published":
4456
with api.env.adopt_roles(["Reviewer"]):
4557
api.content.transition(obj=child, transition="publish")
58+
59+
60+
def to_7302(context):
61+
update_catalog(context)
62+
brains = api.content.find(portal_type="Event")
63+
tot = len(brains)
64+
i = 0
65+
for brain in brains:
66+
i += 1
67+
if i % 100 == 0:
68+
logger.info("Progress: {}/{}".format(i, tot))
69+
event = brain.getObject()
70+
event.reindexObject(idxs=["rassegna"])
71+
72+
73+
def to_7303(context):
74+
update_registry(context)
75+
logger.info("Update registry")

0 commit comments

Comments
 (0)