Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug50853 recurrence catalog #90

Merged
merged 14 commits into from
Jan 29, 2024
2 changes: 1 addition & 1 deletion src/redturtle/volto/monkey.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ def get_obj(start):
def _recurrence_upcoming_event(self):
"""Return the next upcoming event"""
adapter = IRecurrenceSupport(self.context)
occs = adapter.occurrences()
occs = adapter.occurrences(range_start=self.context.start)
try:
return next(occs)
except StopIteration:
Expand Down
2 changes: 1 addition & 1 deletion src/redturtle/volto/profiles/default/metadata.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<version>4301</version>
<version>4302</version>
<dependencies>
<dependency>profile-plone.volto:default</dependency>
<dependency>profile-plone.app.caching:with-caching-proxy</dependency>
Expand Down
4 changes: 2 additions & 2 deletions src/redturtle/volto/tests/test_publication_fields_fixes.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,9 @@ def test_set_effective_date_store_right_value_in_plone(self):
commit()
self.assertEqual(
self.portal["mydocument"].effective().strftime("%d-%m-%Y %H:%M"),
effective.strftime("%d-%m-%Y %H:%M"),
effective.utcdatetime().strftime("%d-%m-%Y %H:%M"),
)
self.assertEqual(
self.portal["mydocument"].expires().strftime("%d-%m-%Y %H:%M"),
expires.strftime("%d-%m-%Y %H:%M"),
expires.utcdatetime().strftime("%d-%m-%Y %H:%M"),
)
56 changes: 56 additions & 0 deletions src/redturtle/volto/tests/test_recurrence.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
import unittest
from datetime import datetime
from datetime import timedelta

from plone.app.event.testing import set_browserlayer
from plone.app.event.testing import set_env_timezone
from plone.app.event.testing import set_timezone
from plone.app.testing import TEST_USER_ID
from plone.app.testing import setRoles
from plone.dexterity.utils import createContentInContainer

from redturtle.volto.testing import REDTURTLE_VOLTO_FUNCTIONAL_TESTING

TZNAME = "Europe/Rome"


class TestOccurrences(unittest.TestCase):
layer = REDTURTLE_VOLTO_FUNCTIONAL_TESTING

def setUp(self):
self.portal = self.layer["portal"]
self.request = self.layer["request"]

set_browserlayer(self.request)
set_env_timezone(TZNAME)
set_timezone(TZNAME)

setRoles(self.portal, TEST_USER_ID, ["Manager"])

self.start_date = datetime.strptime("01/01/2024 10:00:00", "%d/%m/%Y %H:%M:%S")
self.end_date = self.start_date + timedelta(hours=1)

self.event = createContentInContainer(
self.portal,
"Event",
id="test-event",
title="Test Event",
start=self.start_date,
end=self.end_date,
location="Vienna",
recurrence="RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=MO;COUNT=50",
)

def test_get_occurrences_from_catalog(self):
catalog = self.portal.portal_catalog

start_date_search = datetime.strptime(
"02/01/2024 10:00:00", "%d/%m/%Y %H:%M:%S"
)
end_date_search = start_date_search + timedelta(hours=1)

results = catalog(
end={"query": (start_date_search, end_date_search), "range": "min:max"}
)

self.assertFalse(results)
9 changes: 9 additions & 0 deletions src/redturtle/volto/upgrades.py
Original file line number Diff line number Diff line change
Expand Up @@ -472,3 +472,12 @@ def to_4301(context):
for brain in brains:
event = brain.getObject()
event.reindexObject(idxs=["start"])


def to_4302(context):
brains = api.content.find(portal_type="Event")
logger.info("Reindexing {} Events".format(len(brains)))

for brain in brains:
event = brain.getObject()
event.reindexObject(idxs=["start"])
cekk marked this conversation as resolved.
Show resolved Hide resolved
9 changes: 9 additions & 0 deletions src/redturtle/volto/upgrades.zcml
Original file line number Diff line number Diff line change
Expand Up @@ -198,4 +198,13 @@
handler=".upgrades.to_4301"
/>

<genericsetup:upgradeStep
title="Rendex start index"
description=""
profile="redturtle.volto:default"
source="4301"
destination="4302"
handler=".upgrades.to_4302"
/>

</configure>
Loading