imio.smartweb.core 1.3.1__py3-none-any.whl → 1.3.3__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.
- imio/smartweb/core/browser/controlpanel.py +25 -1
- imio/smartweb/core/browser/sitemap.py +15 -11
- imio/smartweb/core/contents/rest/base.py +4 -0
- imio/smartweb/core/contents/rest/campaign/endpoint.py +18 -1
- imio/smartweb/core/profiles/default/metadata.xml +1 -1
- imio/smartweb/core/profiles/default/types/imio.smartweb.SectionTimestampedPublications.xml +4 -0
- imio/smartweb/core/profiles/default/types.xml +1 -0
- imio/smartweb/core/profiles/default/workflows.xml +1 -0
- imio/smartweb/core/tests/test_ideabox.py +5 -3
- imio/smartweb/core/tests/test_rest.py +21 -3
- imio/smartweb/core/tests/test_sitemap.py +19 -0
- imio/smartweb/core/upgrades/configure.zcml +19 -0
- imio/smartweb/core/upgrades/profiles/1061_to_1062/types/imio.smartweb.SectionTimestampedPublications.xml +1 -5
- imio/smartweb/core/upgrades/profiles/1066_to_1067/types/imio.smartweb.SectionTimestampedPublications.xml +39 -0
- imio/smartweb/core/webcomponents/build/css/666.smartweb-webcomponents-compiled.css +1 -1
- imio/smartweb/core/webcomponents/build/css/smartweb-webcomponents-compiled.css +1 -1
- imio/smartweb/core/webcomponents/build/js/373.smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/build/js/486.smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/build/js/666.smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/build/js/884.smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/build/js/919.smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/build/js/922.smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/src/components/Annuaire/Annuaire.jsx +3 -2
- imio/smartweb/core/webcomponents/src/components/Annuaire/ContactContent/ContactContent.jsx +16 -2
- imio/smartweb/core/webcomponents/src/components/Campaign/Campaign.jsx +2 -15
- imio/smartweb/core/webcomponents/src/components/Campaign/Campaign.scss +117 -0
- imio/smartweb/core/webcomponents/src/components/Campaign/CampaignCard/CampaignCard.jsx +8 -2
- imio/smartweb/core/webcomponents/src/components/Campaign/CampaignContent/CampaignContent.jsx +18 -3
- imio/smartweb/core/webcomponents/src/components/Campaign/CampaignList/CampaignList.jsx +1 -0
- imio/smartweb/core/webcomponents/src/components/Campaign/Filters/Filter.jsx +6 -6
- imio/smartweb/core/webcomponents/src/components/Events/EventContent/EventContent.jsx +15 -1
- imio/smartweb/core/webcomponents/src/components/Events/Events.jsx +4 -5
- imio/smartweb/core/webcomponents/src/components/News/News.jsx +4 -5
- imio/smartweb/core/webcomponents/src/components/News/NewsContent/NewsContent.jsx +16 -1
- imio/smartweb/core/webcomponents/src/hooks/useAxios.js +3 -1
- imio/smartweb/core/webcomponents/src/index.scss +13 -3
- {imio.smartweb.core-1.3.1.dist-info → imio.smartweb.core-1.3.3.dist-info}/METADATA +28 -1
- {imio.smartweb.core-1.3.1.dist-info → imio.smartweb.core-1.3.3.dist-info}/RECORD +44 -43
- /imio.smartweb.core-1.3.1-py3.12-nspkg.pth → /imio.smartweb.core-1.3.3-py3.12-nspkg.pth +0 -0
- {imio.smartweb.core-1.3.1.dist-info → imio.smartweb.core-1.3.3.dist-info}/LICENSE.GPL +0 -0
- {imio.smartweb.core-1.3.1.dist-info → imio.smartweb.core-1.3.3.dist-info}/LICENSE.rst +0 -0
- {imio.smartweb.core-1.3.1.dist-info → imio.smartweb.core-1.3.3.dist-info}/WHEEL +0 -0
- {imio.smartweb.core-1.3.1.dist-info → imio.smartweb.core-1.3.3.dist-info}/namespace_packages.txt +0 -0
- {imio.smartweb.core-1.3.1.dist-info → imio.smartweb.core-1.3.3.dist-info}/top_level.txt +0 -0
@@ -9,6 +9,8 @@ from plone.app.registry.browser.controlpanel import RegistryEditForm
|
|
9
9
|
from plone.autoform import directives
|
10
10
|
from plone.z3cform import layout
|
11
11
|
from zope import schema
|
12
|
+
from z3c.form import field
|
13
|
+
from z3c.form.browser.password import PasswordFieldWidget
|
12
14
|
from zope.interface import Interface
|
13
15
|
|
14
16
|
|
@@ -211,6 +213,10 @@ class SmartwebControlPanelForm(RegistryEditForm):
|
|
211
213
|
schema = ISmartwebControlPanel
|
212
214
|
schema_prefix = "smartweb"
|
213
215
|
label = _("Smartweb Settings")
|
216
|
+
fields = field.Fields(ISmartwebControlPanel)
|
217
|
+
fields["secret_key_api"].widgetFactory = PasswordFieldWidget
|
218
|
+
fields["iaideabox_api_password"].widgetFactory = PasswordFieldWidget
|
219
|
+
fields["iadeliberation_api_password"].widgetFactory = PasswordFieldWidget
|
214
220
|
|
215
221
|
def applyChanges(self, data):
|
216
222
|
# Get current registry value for (controlpanel) passwords
|
@@ -239,7 +245,6 @@ class SmartwebControlPanelForm(RegistryEditForm):
|
|
239
245
|
def updateFields(self):
|
240
246
|
"""Override updateFields to hide fields based on ideabox profile installation."""
|
241
247
|
super(SmartwebControlPanelForm, self).updateFields()
|
242
|
-
|
243
248
|
# Check if the 'ideabox' profile is installed
|
244
249
|
portal_setup = api.portal.get_tool(name="portal_setup")
|
245
250
|
profile_version = portal_setup.getLastVersionForProfile(
|
@@ -251,6 +256,25 @@ class SmartwebControlPanelForm(RegistryEditForm):
|
|
251
256
|
self.fields = self.fields.omit("iaideabox_api_username")
|
252
257
|
self.fields = self.fields.omit("iaideabox_api_password")
|
253
258
|
|
259
|
+
def updateWidgets(self):
|
260
|
+
super(SmartwebControlPanelForm, self).updateWidgets()
|
261
|
+
password_fields = [
|
262
|
+
"secret_key_api",
|
263
|
+
"iaideabox_api_password",
|
264
|
+
"iadeliberation_api_password",
|
265
|
+
]
|
266
|
+
for widget_name in self.widgets:
|
267
|
+
widget = self.widgets[widget_name]
|
268
|
+
if widget_name in password_fields:
|
269
|
+
field_value = api.portal.get_registry_record(f"smartweb.{widget_name}")
|
270
|
+
if field_value:
|
271
|
+
widget.placeholder = _("Password already filled")
|
272
|
+
widget.klass = (
|
273
|
+
f"{widget.klass} password-already-filled"
|
274
|
+
if widget.klass
|
275
|
+
else "password-already-filled"
|
276
|
+
)
|
277
|
+
|
254
278
|
|
255
279
|
SmartwebControlPanelView = layout.wrap_form(
|
256
280
|
SmartwebControlPanelForm, ControlPanelFormWrapper
|
@@ -1,8 +1,5 @@
|
|
1
1
|
from Acquisition import aq_inner
|
2
2
|
from BTrees.OOBTree import OOBTree
|
3
|
-
from imio.smartweb.core.config import DIRECTORY_URL
|
4
|
-
from imio.smartweb.core.config import EVENTS_URL
|
5
|
-
from imio.smartweb.core.config import NEWS_URL
|
6
3
|
from imio.smartweb.core.contents.rest.directory.endpoint import DirectoryEndpointGet
|
7
4
|
from imio.smartweb.core.contents.rest.events.endpoint import EventsEndpointGet
|
8
5
|
from imio.smartweb.core.contents.rest.news.endpoint import NewsEndpointGet
|
@@ -10,6 +7,7 @@ from imio.smartweb.core.interfaces import IImioSmartwebCoreLayer
|
|
10
7
|
from plone.app.layout.navigation.navtree import buildFolderTree
|
11
8
|
from plone.app.layout.sitemap.sitemap import SiteMapView
|
12
9
|
from plone.base.interfaces import IPloneSiteRoot
|
10
|
+
from plone.memoize import ram
|
13
11
|
from Products.CMFPlone.browser.navigation import CatalogSiteMap as BaseCatalogSiteMap
|
14
12
|
from Products.CMFPlone.browser.navtree import (
|
15
13
|
SitemapNavtreeStrategy as BaseSitemapNavtreeStrategy,
|
@@ -25,6 +23,7 @@ from zope.interface import Interface
|
|
25
23
|
|
26
24
|
import logging
|
27
25
|
import Missing
|
26
|
+
import time
|
28
27
|
|
29
28
|
logger = logging.getLogger("imio.smartweb.core")
|
30
29
|
|
@@ -44,14 +43,18 @@ FRIENDLY_TYPES = [
|
|
44
43
|
]
|
45
44
|
|
46
45
|
|
46
|
+
def cache_key(method, obj, request):
|
47
|
+
"""We cache data from authentic sources for the sitemap (.xml.gz) for 2 hours."""
|
48
|
+
return f"sitemap_{obj.UID()}_{time.time() // 7200}"
|
49
|
+
|
50
|
+
|
51
|
+
@ram.cache(cache_key)
|
47
52
|
def get_endpoint_data(obj, request):
|
48
|
-
"""Retourne les données issues du bon endpoint pour un objet donné"""
|
49
53
|
endpoint_mapping = {
|
50
54
|
"imio.smartweb.DirectoryView": DirectoryEndpointGet,
|
51
55
|
"imio.smartweb.EventsView": EventsEndpointGet,
|
52
56
|
"imio.smartweb.NewsView": NewsEndpointGet,
|
53
57
|
}
|
54
|
-
|
55
58
|
endpoint_class = endpoint_mapping.get(obj.portal_type)
|
56
59
|
if not endpoint_class:
|
57
60
|
return {}
|
@@ -67,7 +70,7 @@ def get_endpoint_data(obj, request):
|
|
67
70
|
|
68
71
|
|
69
72
|
def format_sitemap_items(items, base_url):
|
70
|
-
"""
|
73
|
+
"""Format items for sitemap(.xml.gz)"""
|
71
74
|
formatted_items = []
|
72
75
|
for item in items:
|
73
76
|
item_id = normalizeString(item.get("title"))
|
@@ -77,14 +80,14 @@ def format_sitemap_items(items, base_url):
|
|
77
80
|
{
|
78
81
|
"loc": f"{base_url}/{item_id}?u={item_uid}",
|
79
82
|
"lastmod": lastmod,
|
80
|
-
"Title":
|
83
|
+
"Title": item.get("title"),
|
81
84
|
"Description": item.get("description", ""),
|
82
85
|
"getURL": f"{base_url}/{item_id}?u={item_uid}",
|
83
86
|
"getRemoteUrl": Missing.Value,
|
84
87
|
"currentItem": False,
|
85
88
|
"currentParent": False,
|
86
89
|
"normalized_review_state": "published",
|
87
|
-
"normalized_portal_type": "imio-smartweb-
|
90
|
+
"normalized_portal_type": "imio-smartweb-authsources-item",
|
88
91
|
}
|
89
92
|
)
|
90
93
|
return formatted_items
|
@@ -132,13 +135,14 @@ class CustomSiteMapView(SiteMapView):
|
|
132
135
|
)
|
133
136
|
yield {"loc": loc, "lastmod": modified[1]}
|
134
137
|
|
135
|
-
|
138
|
+
brains = catalog(
|
136
139
|
portal_type=[
|
137
140
|
"imio.smartweb.EventsView",
|
138
141
|
"imio.smartweb.NewsView",
|
139
142
|
"imio.smartweb.DirectoryView",
|
140
143
|
]
|
141
|
-
)
|
144
|
+
)
|
145
|
+
for brain in brains:
|
142
146
|
obj = brain.getObject()
|
143
147
|
data = get_endpoint_data(obj, obj.REQUEST)
|
144
148
|
yield from format_sitemap_items(data.get("items", {}), obj.absolute_url())
|
@@ -169,7 +173,7 @@ class CatalogSiteMap(BaseCatalogSiteMap):
|
|
169
173
|
|
170
174
|
|
171
175
|
class SitemapQueryBuilder(BaseSitemapQueryBuilder):
|
172
|
-
"""
|
176
|
+
"""Builds the request for the sitemap with custom content types."""
|
173
177
|
|
174
178
|
def __init__(self, context):
|
175
179
|
self.context = context
|
@@ -71,6 +71,10 @@ class BaseEndpoint(object):
|
|
71
71
|
|
72
72
|
class BaseService(Service):
|
73
73
|
def render(self):
|
74
|
+
referer = self.request.get("HTTP_REFERER", "")
|
75
|
+
if self.context.absolute_url() not in referer:
|
76
|
+
self.request.response.setStatus(403)
|
77
|
+
return json.dumps({"error": "Forbidden"})
|
74
78
|
response = self.request.response
|
75
79
|
response.setHeader("Content-type", "application/json")
|
76
80
|
content = self.reply()
|
@@ -17,6 +17,16 @@ import base64
|
|
17
17
|
import requests
|
18
18
|
|
19
19
|
|
20
|
+
PROJECT_WORKFLOW_STATUS_TO_KEEP = [
|
21
|
+
"Publié sans vote",
|
22
|
+
"Publié",
|
23
|
+
"Vote",
|
24
|
+
"Clôture",
|
25
|
+
"Retenu",
|
26
|
+
"Rejeté",
|
27
|
+
]
|
28
|
+
|
29
|
+
|
20
30
|
def get_ideabox_basic_auth_header() -> str:
|
21
31
|
user = api.portal.get_registry_record("smartweb.iaideabox_api_username")
|
22
32
|
pwd = api.portal.get_registry_record("smartweb.iaideabox_api_password")
|
@@ -107,7 +117,8 @@ class CampaignEndpoint(BaseTsEndpoint):
|
|
107
117
|
extra_params = [f"{k}={v}" for k, v in self.request.form.items()]
|
108
118
|
extra_params = "&".join(extra_params)
|
109
119
|
campaign_id = self.context.linked_campaign
|
110
|
-
|
120
|
+
filter_statut = "|".join(PROJECT_WORKFLOW_STATUS_TO_KEEP)
|
121
|
+
url = f"{wcs_api}/cards/imio-ideabox-projet/list?filter-campagne={campaign_id}&full=on&filter-statut={filter_statut}&filter-statut-operator=in&{extra_params}"
|
111
122
|
return url
|
112
123
|
|
113
124
|
|
@@ -116,7 +127,10 @@ class CampaignEndpoint(BaseTsEndpoint):
|
|
116
127
|
class ZonesEndpoint(BaseTsEndpoint):
|
117
128
|
|
118
129
|
def __call__(self):
|
130
|
+
json_res = {"items": [], "items_total": 0}
|
119
131
|
json = self._get_json(self.query_url)
|
132
|
+
if not json:
|
133
|
+
return json_res
|
120
134
|
json_res = {"items": json["data"], "items_total": json.get("count")}
|
121
135
|
return json_res
|
122
136
|
|
@@ -132,7 +146,10 @@ class ZonesEndpoint(BaseTsEndpoint):
|
|
132
146
|
class TsTopicsEndpoint(BaseTsEndpoint):
|
133
147
|
|
134
148
|
def __call__(self):
|
149
|
+
json_res = {"items": [], "items_total": 0}
|
135
150
|
json = self._get_json(self.query_url)
|
151
|
+
if not json:
|
152
|
+
return json_res
|
136
153
|
json_res = {"items": json["data"], "items_total": json.get("count")}
|
137
154
|
return json_res
|
138
155
|
|
@@ -27,5 +27,6 @@
|
|
27
27
|
<object meta_type="Dexterity FTI" name="imio.smartweb.SectionSendinblue"/>
|
28
28
|
<object meta_type="Dexterity FTI" name="imio.smartweb.SectionSlide"/>
|
29
29
|
<object meta_type="Dexterity FTI" name="imio.smartweb.SectionText"/>
|
30
|
+
<object meta_type="Dexterity FTI" name="imio.smartweb.SectionTimestampedPublications"/>
|
30
31
|
<object meta_type="Dexterity FTI" name="imio.smartweb.SectionVideo"/>
|
31
32
|
</object>
|
@@ -19,6 +19,7 @@
|
|
19
19
|
<type type_id="imio.smartweb.SectionSlide"/>
|
20
20
|
<type type_id="imio.smartweb.SectionNews"/>
|
21
21
|
<type type_id="imio.smartweb.SectionText"/>
|
22
|
+
<type type_id="imio.smartweb.SectionTimestampedPublications"/>
|
22
23
|
<type type_id="imio.smartweb.SectionVideo"/>
|
23
24
|
</bindings>
|
24
25
|
</object>
|
@@ -1,6 +1,8 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
|
-
from imio.smartweb.core.contents.rest.base import BaseEndpoint
|
3
2
|
from imio.smartweb.core.contents.rest.campaign.endpoint import CampaignEndpoint
|
3
|
+
from imio.smartweb.core.contents.rest.campaign.endpoint import (
|
4
|
+
PROJECT_WORKFLOW_STATUS_TO_KEEP,
|
5
|
+
)
|
4
6
|
from imio.smartweb.core.contents import ICampaignView
|
5
7
|
from imio.smartweb.core.tests.utils import get_json
|
6
8
|
|
@@ -12,7 +14,6 @@ from plone.app.testing import TEST_USER_ID
|
|
12
14
|
from plone.dexterity.interfaces import IDexterityFTI
|
13
15
|
from unittest.mock import patch
|
14
16
|
from zope.component import createObject
|
15
|
-
from zope.component import queryMultiAdapter
|
16
17
|
from zope.component import queryUtility
|
17
18
|
from zope.publisher.browser import TestRequest
|
18
19
|
|
@@ -140,9 +141,10 @@ class TestIdeabox(ImioSmartwebTestCase):
|
|
140
141
|
request = TestRequest()
|
141
142
|
endpoint = CampaignEndpoint(campaign_view, request)
|
142
143
|
url = endpoint.query_url
|
144
|
+
filter_statut = "|".join(PROJECT_WORKFLOW_STATUS_TO_KEEP)
|
143
145
|
self.assertEqual(
|
144
146
|
url,
|
145
|
-
"https://demo-formulaires.guichet-citoyen.be/api/cards/imio-ideabox-projet/list?filter-campagne=2&full=on&filter-statut=
|
147
|
+
f"https://demo-formulaires.guichet-citoyen.be/api/cards/imio-ideabox-projet/list?filter-campagne=2&full=on&filter-statut={filter_statut}&filter-statut-operator=in&",
|
146
148
|
)
|
147
149
|
|
148
150
|
m.get(url, text=json.dumps({}))
|
@@ -351,11 +351,17 @@ class SectionsFunctionalTest(ImioSmartwebTestCase):
|
|
351
351
|
|
352
352
|
def test_rest_directory_results(self):
|
353
353
|
params = {}
|
354
|
+
react_view = "directory-view"
|
355
|
+
referer_url = f"{self.portal_url}/{react_view}"
|
354
356
|
with patch(
|
355
357
|
"imio.smartweb.core.contents.rest.base.get_json",
|
356
358
|
return_value=self.json_rest_directory,
|
357
359
|
) as mypatch:
|
358
|
-
response = self.api_session.get(
|
360
|
+
response = self.api_session.get(
|
361
|
+
f"/{react_view}/@results",
|
362
|
+
params=params,
|
363
|
+
headers={"Referer": referer_url},
|
364
|
+
)
|
359
365
|
patch_url = mypatch.return_value.get("@id")
|
360
366
|
patch_urlparsed = urlparse(patch_url)
|
361
367
|
patch_directory = parse_qs(patch_urlparsed.query)
|
@@ -405,6 +411,8 @@ class SectionsFunctionalTest(ImioSmartwebTestCase):
|
|
405
411
|
|
406
412
|
@freeze_time("2021-11-15")
|
407
413
|
def test_rest_events_results(self):
|
414
|
+
react_view = "events-view"
|
415
|
+
referer_url = f"{self.portal_url}/{react_view}"
|
408
416
|
params = {}
|
409
417
|
# mock get_json from where we import/use it
|
410
418
|
with patch(
|
@@ -416,7 +424,11 @@ class SectionsFunctionalTest(ImioSmartwebTestCase):
|
|
416
424
|
patch_selected_agendas = parse_qs(patch_urlparsed.query)[
|
417
425
|
"selected_agendas"
|
418
426
|
][0]
|
419
|
-
response = self.api_session.get(
|
427
|
+
response = self.api_session.get(
|
428
|
+
f"/{react_view}/@results",
|
429
|
+
params=params,
|
430
|
+
headers={"Referer": referer_url},
|
431
|
+
)
|
420
432
|
response_url = response.json().get("@id")
|
421
433
|
response_urlparsed = urlparse(response_url)
|
422
434
|
response_selected_agendas = parse_qs(response_urlparsed.query)[
|
@@ -460,12 +472,18 @@ class SectionsFunctionalTest(ImioSmartwebTestCase):
|
|
460
472
|
self.assertIn("<smartweb-news", view())
|
461
473
|
|
462
474
|
def test_rest_news_results(self):
|
475
|
+
react_view = "news-view"
|
476
|
+
referer_url = f"{self.portal_url}/{react_view}"
|
463
477
|
params = {}
|
464
478
|
with patch(
|
465
479
|
"imio.smartweb.core.contents.rest.base.get_json",
|
466
480
|
return_value=self.json_rest_news,
|
467
481
|
) as mypatch:
|
468
|
-
response = self.api_session.get(
|
482
|
+
response = self.api_session.get(
|
483
|
+
f"/{react_view}/@results",
|
484
|
+
params=params,
|
485
|
+
headers={"Referer": referer_url},
|
486
|
+
)
|
469
487
|
patch_url = mypatch.return_value.get("@id")
|
470
488
|
patch_urlparsed = urlparse(patch_url)
|
471
489
|
patch_selected_news_folders = parse_qs(patch_urlparsed.query)[
|
@@ -5,8 +5,10 @@ from gzip import GzipFile
|
|
5
5
|
from io import BytesIO
|
6
6
|
from imio.smartweb.core.browser.sitemap import CatalogSiteMap
|
7
7
|
from imio.smartweb.core.browser.sitemap import get_endpoint_data
|
8
|
+
from imio.smartweb.core.browser.sitemap import cache_key
|
8
9
|
from imio.smartweb.core.testing import IMIO_SMARTWEB_CORE_FUNCTIONAL_TESTING
|
9
10
|
from imio.smartweb.core.testing import ImioSmartwebTestCase
|
11
|
+
from imio.smartweb.core.tests.utils import clear_cache
|
10
12
|
from imio.smartweb.core.tests.utils import get_json
|
11
13
|
from imio.smartweb.core.tests.utils import make_named_image
|
12
14
|
from plone import api
|
@@ -14,9 +16,11 @@ from plone.app.testing import setRoles
|
|
14
16
|
from plone.app.testing import TEST_USER_ID
|
15
17
|
from plone.app.textfield.value import RichTextValue
|
16
18
|
from plone.base.utils import safe_text
|
19
|
+
from plone.memoize.ram import choose_cache
|
17
20
|
from plone.namedfile.file import NamedBlobImage
|
18
21
|
from unittest.mock import patch
|
19
22
|
from unittest.mock import Mock
|
23
|
+
from zope.annotation import IAnnotations
|
20
24
|
from zope.component import getMultiAdapter
|
21
25
|
|
22
26
|
import requests_mock
|
@@ -123,6 +127,10 @@ class TestPage(ImioSmartwebTestCase):
|
|
123
127
|
"<loc>http://nohost/plone/folder/page1/gallery/image</loc>\n <lastmod >2024-02-02T10:00:00",
|
124
128
|
xml,
|
125
129
|
)
|
130
|
+
|
131
|
+
cache = choose_cache("imio.smartweb.core.browser.sitemap.get_endpoint_data")
|
132
|
+
cache.ramcache.invalidateAll()
|
133
|
+
|
126
134
|
with patch(
|
127
135
|
"imio.smartweb.core.contents.rest.news.endpoint.BaseNewsEndpoint.__call__",
|
128
136
|
return_value=self.json_rest_news,
|
@@ -132,6 +140,10 @@ class TestPage(ImioSmartwebTestCase):
|
|
132
140
|
"<loc>http://nohost/plone/news-view/ceci-est-une-deuxieme-actualite",
|
133
141
|
xml,
|
134
142
|
)
|
143
|
+
|
144
|
+
cache = choose_cache("imio.smartweb.core.browser.sitemap.get_endpoint_data")
|
145
|
+
cache.ramcache.invalidateAll()
|
146
|
+
|
135
147
|
with patch(
|
136
148
|
"imio.smartweb.core.contents.rest.directory.endpoint.BaseDirectoryEndpoint.__call__",
|
137
149
|
return_value=self.json_rest_directory,
|
@@ -141,6 +153,10 @@ class TestPage(ImioSmartwebTestCase):
|
|
141
153
|
"<loc>http://nohost/plone/directory-view/service-communication-de-ladministration-communale",
|
142
154
|
xml,
|
143
155
|
)
|
156
|
+
|
157
|
+
cache = choose_cache("imio.smartweb.core.browser.sitemap.get_endpoint_data")
|
158
|
+
cache.ramcache.invalidateAll()
|
159
|
+
|
144
160
|
with patch(
|
145
161
|
"imio.smartweb.core.contents.rest.events.endpoint.BaseEventsEndpoint.__call__",
|
146
162
|
return_value=self.json_rest_events,
|
@@ -185,6 +201,9 @@ class TestPage(ImioSmartwebTestCase):
|
|
185
201
|
][0]
|
186
202
|
self.assertEqual(len(directory_entry.get("children")), 0)
|
187
203
|
|
204
|
+
cache = choose_cache("imio.smartweb.core.browser.sitemap.get_endpoint_data")
|
205
|
+
cache.ramcache.invalidateAll()
|
206
|
+
|
188
207
|
# Populate directory view with 6 contacts
|
189
208
|
with patch(
|
190
209
|
"imio.smartweb.core.contents.rest.directory.endpoint.BaseDirectoryEndpoint.__call__",
|
@@ -291,6 +291,14 @@
|
|
291
291
|
provides="Products.GenericSetup.interfaces.EXTENSION"
|
292
292
|
/>
|
293
293
|
|
294
|
+
<genericsetup:registerProfile
|
295
|
+
name="upgrade_1066_to_1067"
|
296
|
+
title="Upgrade core from 1066 to 1067"
|
297
|
+
directory="profiles/1066_to_1067"
|
298
|
+
description="BLA BLA BLA"
|
299
|
+
provides="Products.GenericSetup.interfaces.EXTENSION"
|
300
|
+
/>
|
301
|
+
|
294
302
|
<genericsetup:upgradeStep
|
295
303
|
title="Configure first official release"
|
296
304
|
description="Run needed profiles steps and reindex catalog"
|
@@ -961,6 +969,17 @@
|
|
961
969
|
profile="imio.smartweb.core:default"
|
962
970
|
/>
|
963
971
|
|
972
|
+
<genericsetup:upgradeSteps
|
973
|
+
source="1066"
|
974
|
+
destination="1067"
|
975
|
+
profile="imio.smartweb.core:default">
|
976
|
+
<genericsetup:upgradeDepends
|
977
|
+
title="BLA BLA BLA"
|
978
|
+
import_profile="imio.smartweb.core.upgrades:upgrade_1066_to_1067"
|
979
|
+
/>
|
980
|
+
</genericsetup:upgradeSteps>
|
981
|
+
|
982
|
+
|
964
983
|
<!--genericsetup:upgradeStep
|
965
984
|
title="Check contact itinerary if address was checked in visible blocks"
|
966
985
|
description=""
|
@@ -16,11 +16,7 @@
|
|
16
16
|
|
17
17
|
<!-- Hierarchy control -->
|
18
18
|
<property name="global_allow">False</property>
|
19
|
-
|
20
|
-
<property name="allowed_content_types">
|
21
|
-
<element value="imio.smartweb.SectionTimestampedPublications" />
|
22
|
-
</property>
|
23
|
-
|
19
|
+
<property name="filter_content_types">True</property>
|
24
20
|
<!-- Schema, class and security -->
|
25
21
|
<!-- if we can add a page, we can add a page section -->
|
26
22
|
<property name="add_permission">imio.smartweb.core.AddPage</property>
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<object xmlns:i18n="http://xml.zope.org/namespaces/i18n"
|
3
|
+
name="imio.smartweb.SectionTimestampedPublications"
|
4
|
+
meta_type="Dexterity FTI"
|
5
|
+
i18n:domain="imio.smartweb">
|
6
|
+
|
7
|
+
<!-- Basic properties -->
|
8
|
+
<property
|
9
|
+
i18n:translate=""
|
10
|
+
name="title">Timestamped publications section</property>
|
11
|
+
<property
|
12
|
+
i18n:translate=""
|
13
|
+
name="description">Timestamped publication section for a page</property>
|
14
|
+
|
15
|
+
<property name="icon_expr">string:newspaper</property>
|
16
|
+
|
17
|
+
<!-- Hierarchy control -->
|
18
|
+
<property name="global_allow">False</property>
|
19
|
+
<property name="filter_content_types">True</property>
|
20
|
+
<!-- Schema, class and security -->
|
21
|
+
<!-- if we can add a page, we can add a page section -->
|
22
|
+
<property name="add_permission">imio.smartweb.core.AddPage</property>
|
23
|
+
<property name="klass">imio.smartweb.core.contents.SectionTimestampedPublications</property>
|
24
|
+
<property name="schema">imio.smartweb.core.contents.ISectionTimestampedPublications</property>
|
25
|
+
|
26
|
+
<!-- Enabled behaviors -->
|
27
|
+
<property name="behaviors" purge="false">
|
28
|
+
<element value="plone.namefromtitle"/>
|
29
|
+
<element value="plone.locking"/>
|
30
|
+
<element value="plone.shortname"/>
|
31
|
+
<element value="imio.smartweb.category_display"/>
|
32
|
+
<element value="imio.smartweb.orientation"/>
|
33
|
+
</property>
|
34
|
+
|
35
|
+
<property name="default_view">table_view</property>
|
36
|
+
<property name="default_view_fallback">False</property>
|
37
|
+
<property name="immediate_view">view</property>
|
38
|
+
|
39
|
+
</object>
|
@@ -1 +1 @@
|
|
1
|
-
body,html{max-width:100%;overflow-x:initial!important}.r-content-vote-btn a{background:#252525;border-radius:8px;color:#fff;display:inline-block;padding:1rem;text-decoration:none;transition:all .5s ease}#content>header{display:none}.row{margin:0}.breadcrumb,.row{padding:0}.portaltype-imio-smartweb-campaignview header#content-header{z-index:9}.campaign-vote{display:flex;font-size:13px;gap:13px}.campaign-vote .bi{font-size:13px;margin-right:5px}.campaign-vote-pour{background-color:#ebf9ed;border-radius:5px;color:#0ca72b;padding:5px 15px;text-decoration:none}.campaign-vote-pour:focus,.campaign-vote-pour:hover{background-color:#d9f8de;color:#0ca72b}.campaign-vote-contre{background-color:#f4e2e4;border-radius:5px;color:#b70a0a;padding:5px 15px;text-decoration:none}.campaign-vote-contre:focus,.campaign-vote-contre:hover{background-color:#f0d0d4;color:#b70a0a}.campaign-vote-contre-count,.campaign-vote-contre-text,.campaign-vote-pour-count,.r-item-arrow{font-size:15px}.r-item-arrow{align-items:center;background:#f2f2f2;border-radius:50px;display:flex;height:30px;justify-content:center;opacity:0;position:absolute;right:0;top:50%;translate:0 -50%;width:30px}.r-list-item-group:focus .r-item-arrow,.r-list-item-group:hover .r-item-arrow{opacity:1}body .outer-wrapper>.container{max-width:100%!important;padding:0!important}@media screen and (min-width:1200px){.r-campaign-wrapper{margin-right:inherit;max-width:100%;padding-left:0;padding-right:0}}#portal-column-content{padding:0!important}#portal-column-content h1{font-size:0;position:absolute}#viewlet-below-content-description,#viewlet-below-content-title{display:none}header#content-header{background:#fff;position:-webkit-sticky;position:sticky;top:0}article>header{margin-bottom:0}.r-campaign-result{grid-area:1/1/3/2}.r-map.campaign-map{grid-area:1/2/2/3;position:-webkit-sticky;position:sticky}.r-wrapper{display:block}@media screen and (min-width:1200px){.r-wrapper{display:grid;gap:40px;grid-template-columns:minmax(20px,800px) minmax(20px,100%);justify-content:space-between;margin-left:auto;width:calc(558px + 50vw)}}@media screen and (min-width:1400px){.r-wrapper{width:calc(648px + 50vw)}}.r-wrapper .r-result{margin-top:2rem;padding-bottom:2rem}.r-wrapper .r-result-list{padding:0}.r-wrapper .r-result-list .r-list-item-group{list-style:none;margin:1rem 0;position:relative}.r-wrapper .r-result-list .r-list-item-group .r-list-item-link{inset:0!important;position:absolute!important}.r-wrapper .r-result-list .r-list-item-group .r-list-item{display:flex;flex-direction:column;height:100%}@media screen and (min-width:600px){.r-wrapper .r-result-list .r-list-item-group .r-list-item{flex-direction:row}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img{height:149px;padding-bottom:0;width:246px}}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text{flex-grow:1;margin-top:.6rem}@media screen and (min-width:600px){.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text{margin-left:1.5rem;margin-top:0}}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text a{position:relative}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-title{display:block;font-weight:700}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-categorie{display:block}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all{display:flex;gap:10px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-adresse{width:36%}@media screen and (max-width:1200px){.r-wrapper .r-map{margin-top:2rem!important}.r-wrapper .r-map .leaflet-container{height:50vh!important}}.r-load-more{margin-bottom:2rem;text-align:center}.r-load-more button{background:#000;border:1px solid #0000;border-radius:10px;border-bottom-left-radius:10px;border-bottom-left-radius:0;color:#fff;display:block;font-size:14px;font-weight:700;margin:0 auto;padding:.4rem 1rem}.r-load-more button:hover{background:rgba(0,0,0,.871)}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img{background-color:#000;background-size:cover;border-radius:5px;padding-bottom:56%;position:relative;width:100%;z-index:-1}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img.r-item-img-placeholder{background-color:#f2f2f2}@media screen and (min-width:600px){.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img{flex:246px 0 0;height:149px;padding-bottom:0;width:246px}}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img div,.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img img{border-radius:5px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text{display:flex;flex-direction:column;font-size:13px;gap:10px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-title{font-size:18px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-categorie{color:#747474;font-size:13px;font-weight:400;margin-bottom:5px;text-transform:uppercase}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all{color:#727272}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all a{color:#000}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-adresse .itineraty{margin-top:5px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-adresse .itineraty:before{background-size:contain;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7.68 10.97'%3E%3Cg data-name='Calque 2'%3E%3Cpath d='M3.84 5.21a1.37 1.37 0 1 1 1.37-1.37 1.37 1.37 0 0 1-1.37 1.37m0-5.21A3.84 3.84 0 0 0 0 3.84C0 6.72 3.84 11 3.84 11s3.84-4.28 3.84-7.16A3.84 3.84 0 0 0 3.84 0' data-name='Calque 1'/%3E%3C/g%3E%3C/svg%3E") no-repeat;content:"";display:inline-block;height:15px;vertical-align:middle;width:15px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-campaign{width:100%}.icon-baseline{align-self:center;display:inline-flex;margin-right:.4rem}.icon-baseline svg{height:1em;position:relative;top:.125em;width:1em}.dpinlb{display:inline-block;vertical-align:top}.r-recurence-past{opacity:.5}.recurence-schedul{position:relative}.recurence-schedul-more{display:block}.recurence-modal-display{background-color:#fff;border:1px solid #dadada;border-radius:10px;box-shadow:.7px 0 5.3px rgba(0,0,0,.024),2.5px 0 17.9px rgba(0,0,0,.036),11px 0 80px #0000000f;left:0;padding:10px 15px!important;position:absolute;right:0;top:0;width:-webkit-max-content;width:max-content}.recurence-modal-display span{border-bottom:1px solid #969696;color:#000;display:block;font-size:14px;margin-bottom:.4rem}.recurence-modal-display ul{margin:0}.recurence-modal-display li{list-style:none}.recurence-modal-hide{display:none}.r-content-img{margin-top:1.5rem;padding-bottom:60%;position:relative}.r-content-header{margin-bottom:1rem}.r-content-title{margin:0}.r-content-recur-start-hours{display:flex}.news-info-title{color:#008fd2;display:block;font-weight:700;margin-bottom:1rem}.r-content-news-info{display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:2rem}@media screen and (min-width:600px){.r-content-news-info-container{column-count:2}}.r-content-news-info-container>div{break-inside:avoid;margin:.6rem 0;padding-right:3rem}.r-content-news-info-container>div svg{width:16px}.r-content-news-info-container .r-content-news-info--date{display:flex}.r-content-news-info-container .r-content-news-info--date .r-content-date-end,.r-content-news-info-container .r-content-news-info--date .r-content-date-start,.r-content-news-info-container .r-content-news-info--date .r-content-date-start-hours{display:flex;flex-wrap:wrap}.r-content-news-info-container .r-content-news-info-social svg{height:30px;width:30px}.r-content-news-info-container .r-content-news-info-social ul{align-items:center;display:flex;margin:0}.r-content-news-info-container .r-content-news-info-social ul li{list-style:none}.r-content-news-info-container .r-content-news-info-social ul li a:hover{opacity:.7}@media screen and (max-width:1000px){.r-content-news-info-action{margin-top:1.1rem}}.r-content-news-info-action a{text-decoration:none}.r-content-news-info-action>div{margin:.6rem 0}.r-content-news-info-action .r-content-booking{margin-top:0}.r-content-news-info-action .r-content-booking a{align-items:center;background:#000;border-radius:10px;border-bottom-left-radius:0;color:#fff;cursor:pointer;display:block;display:flex;font-weight:500;gap:10px;padding:.4rem 1rem;text-decoration:none}.r-content-news-info-action .r-content-booking a svg{width:22px;fill:#fff}.r-content-news-info-action .r-content-booking a:hover{background:#3f3f3f;color:#fff}.r-content-topics{display:flex;gap:15px}.r-content-topics span{background:#f1f1f1;border-radius:5px;margin-right:5px;padding:5px}.r-content-title-cat{color:#8e8e8e;font-size:14px;margin-right:5px}smartweb-campaign{display:block;min-height:80vh}@media screen and (min-width:600px){.no-map .r-campaign-wrapper{display:block}.no-map .r-result-list{display:grid;gap:20px;grid-template-columns:1fr 1fr 1fr;max-width:1296px}.no-map .r-list-item-group{transition:all .2s ease}.no-map .r-list-item-group:focus,.no-map .r-list-item-group:hover{transform:translateY(-10px)!important}.no-map .r-list-item-group .r-list-item{box-shadow:0 8px 26px #00000014;flex-direction:column!important}.no-map .r-list-item-group .r-list-item .r-item-img{border-radius:0!important;height:0!important;margin-bottom:.5rem;padding-bottom:60%!important;width:100%!important}.no-map .r-list-item-group .r-list-item .r-item-text{display:grid;grid-template-columns:1fr 1fr;margin-right:1.5rem}.no-map .r-list-item-group .r-list-item .r-item-text:after{display:none}.no-map .r-list-item-group .r-list-item .r-item-text .r-item-categorie{grid-row-start:1}.no-map .r-list-item-group .r-list-item .r-item-text .r-item-title{font-weight:500!important;grid-column-end:3;grid-column-start:1;grid-row-start:2;margin-bottom:2rem;margin-top:1rem}.no-map .r-list-item-group .r-list-item .r-item-text .r-item-date{grid-column-start:2;grid-row-start:1;justify-self:end}}.no-map .r-result.r-campaign-result{max-width:1296px}.no-map .envent-content{margin:0 auto;max-width:700px}
|
1
|
+
body,html{max-width:100%;overflow-x:initial!important}.r-content-vote-btn a{background:#252525;border-radius:8px;color:#fff;display:inline-block;padding:1rem;text-decoration:none;transition:all .5s ease}#content>header{display:none}.row{margin:0}.breadcrumb,.row{padding:0}.portaltype-imio-smartweb-campaignview header#content-header{z-index:9}.campaign-vote{display:flex;font-size:13px;gap:13px}.campaign-vote .bi{font-size:13px;margin-right:5px}.campaign-vote-pour{background-color:#ebf9ed;border-radius:5px;color:#0ca72b;padding:5px 15px;text-decoration:none}.campaign-vote-pour:focus,.campaign-vote-pour:hover{background-color:#d9f8de;color:#0ca72b}.campaign-vote-contre{background-color:#f4e2e4;border-radius:5px;color:#b70a0a;padding:5px 15px;text-decoration:none}.campaign-vote-contre:focus,.campaign-vote-contre:hover{background-color:#f0d0d4;color:#b70a0a}.campaign-vote-contre-count,.campaign-vote-contre-text,.campaign-vote-pour-count,.r-item-arrow{font-size:15px}.r-item-arrow{align-items:center;background:#f2f2f2;border-radius:50px;display:flex;height:30px;justify-content:center;opacity:0;position:absolute;right:0;top:50%;translate:0 -50%;width:30px}.r-list-item-group:focus .r-item-arrow,.r-list-item-group:hover .r-item-arrow{opacity:1}body .outer-wrapper>.container{max-width:100%!important;padding:0!important}@media screen and (min-width:1200px){.r-campaign-wrapper{margin-right:inherit;max-width:100%;padding-left:0;padding-right:0}}#portal-column-content{padding:0!important}#portal-column-content h1{font-size:0;position:absolute}#viewlet-below-content-description,#viewlet-below-content-title{display:none}header#content-header{background:#fff;position:-webkit-sticky;position:sticky;top:0}article>header{margin-bottom:0}.r-campaign-result{grid-area:1/1/3/2}.r-map.campaign-map{grid-area:1/2/2/3;position:-webkit-sticky;position:sticky}.r-wrapper{display:block}@media screen and (min-width:1200px){.r-wrapper{display:grid;gap:40px;grid-template-columns:minmax(20px,800px) minmax(20px,100%);justify-content:space-between;margin-left:auto;width:calc(558px + 50vw)}}@media screen and (min-width:1400px){.r-wrapper{width:calc(648px + 50vw)}}.r-wrapper .r-result{margin-top:2rem;padding-bottom:2rem}.r-wrapper .r-result-list{padding:0}.r-wrapper .r-result-list .r-list-item-group{list-style:none;margin:1rem 0;position:relative}.r-wrapper .r-result-list .r-list-item-group .r-list-item-link{inset:0!important;position:absolute!important}.r-wrapper .r-result-list .r-list-item-group .r-list-item{display:flex;flex-direction:column;height:100%}@media screen and (min-width:600px){.r-wrapper .r-result-list .r-list-item-group .r-list-item{flex-direction:row}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img{height:149px;padding-bottom:0;width:246px}}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text{flex-grow:1;margin-top:.6rem}@media screen and (min-width:600px){.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text{margin-left:1.5rem;margin-top:0}}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text a{position:relative}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-title{display:block;font-weight:700}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-categorie{display:block}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all{display:flex;gap:10px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-adresse{width:36%}@media screen and (max-width:1200px){.r-wrapper .r-map{margin-top:2rem!important}.r-wrapper .r-map .leaflet-container{height:50vh!important}}.r-load-more{margin-bottom:2rem;text-align:center}.r-load-more button{background:#000;border:1px solid #0000;border-radius:10px;border-bottom-left-radius:10px;border-bottom-left-radius:0;color:#fff;display:block;font-size:14px;font-weight:700;margin:0 auto;padding:.4rem 1rem}.r-load-more button:hover{background:rgba(0,0,0,.871)}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img{background-color:#000;background-size:cover;border-radius:5px;padding-bottom:56%;position:relative;width:100%;z-index:-1}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img.r-item-img-placeholder{background-color:#f2f2f2}@media screen and (min-width:600px){.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img{flex:246px 0 0;height:149px;padding-bottom:0;width:246px}}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img div,.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img img{border-radius:5px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text{display:flex;flex-direction:column;font-size:13px;gap:10px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-title{font-size:18px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-categorie{color:#747474;font-size:13px;font-weight:400;margin-bottom:5px;text-transform:uppercase}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all{color:#727272}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all a{color:#000}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-adresse .itineraty{margin-top:5px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-adresse .itineraty:before{background-size:contain;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7.68 10.97'%3E%3Cg data-name='Calque 2'%3E%3Cpath d='M3.84 5.21a1.37 1.37 0 1 1 1.37-1.37 1.37 1.37 0 0 1-1.37 1.37m0-5.21A3.84 3.84 0 0 0 0 3.84C0 6.72 3.84 11 3.84 11s3.84-4.28 3.84-7.16A3.84 3.84 0 0 0 3.84 0' data-name='Calque 1'/%3E%3C/g%3E%3C/svg%3E") no-repeat;content:"";display:inline-block;height:15px;vertical-align:middle;width:15px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-campaign{width:100%}.icon-baseline{align-self:center;display:inline-flex;margin-right:.4rem}.icon-baseline svg{height:1em;position:relative;top:.125em;width:1em}.dpinlb{display:inline-block;vertical-align:top}.r-recurence-past{opacity:.5}.recurence-schedul{position:relative}.recurence-schedul-more{display:block}.recurence-modal-display{background-color:#fff;border:1px solid #dadada;border-radius:10px;box-shadow:.7px 0 5.3px rgba(0,0,0,.024),2.5px 0 17.9px rgba(0,0,0,.036),11px 0 80px #0000000f;left:0;padding:10px 15px!important;position:absolute;right:0;top:0;width:-webkit-max-content;width:max-content}.recurence-modal-display span{border-bottom:1px solid #969696;color:#000;display:block;font-size:14px;margin-bottom:.4rem}.recurence-modal-display ul{margin:0}.recurence-modal-display li{list-style:none}.recurence-modal-hide{display:none}.r-content-img{margin-top:1.5rem;padding-bottom:60%;position:relative}.r-content-header{margin-bottom:1rem}.r-content-title{margin:0}.r-content-recur-start-hours{display:flex}.news-info-title{color:#008fd2;display:block;font-weight:700;margin-bottom:1rem}.r-content-news-info{display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:2rem}@media screen and (min-width:600px){.r-content-news-info-container{column-count:2}}.r-content-news-info-container>div{break-inside:avoid;margin:.6rem 0;padding-right:3rem}.r-content-news-info-container>div svg{width:16px}.r-content-news-info-container .r-content-news-info--date{display:flex}.r-content-news-info-container .r-content-news-info--date .r-content-date-end,.r-content-news-info-container .r-content-news-info--date .r-content-date-start,.r-content-news-info-container .r-content-news-info--date .r-content-date-start-hours{display:flex;flex-wrap:wrap}.r-content-news-info-container .r-content-news-info-social svg{height:30px;width:30px}.r-content-news-info-container .r-content-news-info-social ul{align-items:center;display:flex;margin:0}.r-content-news-info-container .r-content-news-info-social ul li{list-style:none}.r-content-news-info-container .r-content-news-info-social ul li a:hover{opacity:.7}@media screen and (max-width:1000px){.r-content-news-info-action{margin-top:1.1rem}}.r-content-news-info-action a{text-decoration:none}.r-content-news-info-action>div{margin:.6rem 0}.r-content-news-info-action .r-content-booking{margin-top:0}.r-content-news-info-action .r-content-booking a{align-items:center;background:#000;border-radius:10px;border-bottom-left-radius:0;color:#fff;cursor:pointer;display:block;display:flex;font-weight:500;gap:10px;padding:.4rem 1rem;text-decoration:none}.r-content-news-info-action .r-content-booking a svg{width:22px;fill:#fff}.r-content-news-info-action .r-content-booking a:hover{background:#3f3f3f;color:#fff}.r-content-topics{display:flex;gap:15px}.r-content-topics span{background:#f1f1f1;border-radius:5px;margin-right:5px;padding:5px}.r-content-title-cat{color:#8e8e8e;font-size:14px;margin-right:5px}smartweb-campaign{display:block;min-height:80vh}.no-map .envent-content{margin:0 auto;max-width:700px}.no-map .r-result-filter-container{position:relative;top:inherit}.no-map .r-item-title{margin-bottom:1rem!important}.no-map .r-item-text{padding-bottom:2rem}@media screen and (min-width:600px){.no-map .r-campaign-wrapper{display:block}.no-map .r-result-list{display:grid;gap:20px;grid-template-columns:1fr 1fr 1fr;max-width:1296px}.no-map .r-list-item-group{transition:all .2s ease}.no-map .r-list-item-group:focus,.no-map .r-list-item-group:hover{transform:translateY(-10px)!important}.no-map .r-list-item-group .r-list-item{box-shadow:0 8px 26px #00000014;flex-direction:column!important}.no-map .r-list-item-group .r-list-item .r-item-img{border-radius:0!important;height:0!important;margin-bottom:.5rem;padding-bottom:60%!important;width:100%!important}.no-map .r-list-item-group .r-list-item .r-item-text{display:grid;grid-template-columns:1fr 1fr;margin-right:1.5rem}.no-map .r-list-item-group .r-list-item .r-item-text:after{display:none}.no-map .r-list-item-group .r-list-item .r-item-text .r-item-categorie{grid-row-start:1}.no-map .r-list-item-group .r-list-item .r-item-text .r-item-title{font-weight:500!important;grid-column-end:3;grid-column-start:1;grid-row-start:2;margin-bottom:2rem;margin-top:1rem}.no-map .r-list-item-group .r-list-item .r-item-text .r-item-date{grid-column-start:2;grid-row-start:1;justify-self:end}}.no-map .r-result.r-campaign-result{max-width:1296px}.no-map .campaign-content{margin:0 auto;max-width:700px}.r-list-item.Publié sans vote .campaign-vote,.vote_nodisplay,figure.Publié sans vote .campaign-vote{display:none}.vote_noactif{color:#c7c7c7;filter:grayscale(30%);opacity:.6;pointer-events:none}
|
@@ -1 +1 @@
|
|
1
|
-
.portaltype-imio-smartweb-directoryview #portal-breadcrumbs,.portaltype-imio-smartweb-directoryview #portal-breadcrumbs .breadcrumb,.portaltype-imio-smartweb-directoryview #portal-header{margin-bottom:0!important}.r-wrapper{position:relative}.r-wrapper figure{display:block}.r-actu-wrapper{padding-top:1rem}.r-result{position:relative}@media screen and (min-width:992px){.r-add-contact,.r-add-event,.r-add-news{bottom:0;padding-bottom:1rem;position:absolute;right:0}}.r-add-contact a,.r-add-event a,.r-add-news a{align-items:center;color:#2d2d2d;display:flex;flex-direction:row;gap:7px;text-decoration:none}.r-add-contact a:focus,.r-add-contact a:hover,.r-add-event a:focus,.r-add-event a:hover,.r-add-news a:focus,.r-add-news a:hover{text-decoration:underline}.r-list-item-link{inset:0!important;position:absolute!important}.r-list-item-group{margin:15px 0;position:relative}.r-list-item{align-items:stretch;display:flex;height:100%}.load-more-link{background:#0000;border:none;display:block;margin:0 auto}.r-content-description{font-weight:500}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text{flex:min-content}.leaflet-popup{padding:0!important}.leaflet-container{opacity:1!important}.r-content-files{margin:2rem 0}.r-content-files-title{margin-bottom:1rem}.r-content-files .r-content-file{margin:1rem 0}.r-content-files .r-content-file-link{border:1px solid #e6e6e6;display:flex;gap:20px;justify-content:space-between;padding:1rem;text-decoration:none}.r-content-files .r-content-file-link:hover{border:1px solid #868686}.r-content-files .r-content-file-title{align-items:center;display:flex;gap:5px}.r-content-files .r-content-file-title-size{font-size:14px;opacity:.5}.r-content-files span{display:block}.r-content-gallery{margin:2rem 0}.r-content-gallery.flexbin>*,.r-content-gallery.flexbin>*>img{height:226px}.lds-roller-container{background:#ffffffd1;bottom:0;left:0;position:absolute;right:0;top:0}.lds-roller{display:inline-block;height:80px;
|
1
|
+
smartweb-annuaire,smartweb-campaign,smartweb-events,smartweb-news{display:block;min-height:80vh}.portaltype-imio-smartweb-directoryview #portal-breadcrumbs,.portaltype-imio-smartweb-directoryview #portal-breadcrumbs .breadcrumb,.portaltype-imio-smartweb-directoryview #portal-header{margin-bottom:0!important}.r-wrapper{position:relative}.r-wrapper figure{display:block}.r-actu-wrapper{padding-top:1rem}.r-result{position:relative}@media screen and (min-width:992px){.r-add-contact,.r-add-event,.r-add-news{bottom:0;padding-bottom:1rem;position:absolute;right:0}}.r-add-contact a,.r-add-event a,.r-add-news a{align-items:center;color:#2d2d2d;display:flex;flex-direction:row;gap:7px;text-decoration:none}.r-add-contact a:focus,.r-add-contact a:hover,.r-add-event a:focus,.r-add-event a:hover,.r-add-news a:focus,.r-add-news a:hover{text-decoration:underline}.r-list-item-link{inset:0!important;position:absolute!important}.r-list-item-group{margin:15px 0;position:relative}.r-list-item{align-items:stretch;display:flex;height:100%}.load-more-link{background:#0000;border:none;display:block;margin:0 auto}.r-content-description{font-weight:500}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text{flex:min-content}.leaflet-popup{padding:0!important}.leaflet-container{opacity:1!important}.r-content-files{margin:2rem 0}.r-content-files-title{margin-bottom:1rem}.r-content-files .r-content-file{margin:1rem 0}.r-content-files .r-content-file-link{border:1px solid #e6e6e6;display:flex;gap:20px;justify-content:space-between;padding:1rem;text-decoration:none}.r-content-files .r-content-file-link:hover{border:1px solid #868686}.r-content-files .r-content-file-title{align-items:center;display:flex;gap:5px}.r-content-files .r-content-file-title-size{font-size:14px;opacity:.5}.r-content-files span{display:block}.r-content-gallery{margin:2rem 0}.r-content-gallery.flexbin>*,.r-content-gallery.flexbin>*>img{height:226px}.lds-roller-container{align-items:center;background:#ffffffd1;bottom:0;display:flex;flex-direction:column;gap:20px;justify-content:flex-start;left:0;padding-top:2rem;position:absolute;right:0;top:0}.lds-roller{display:inline-block;height:80px;top:5rem;width:80px;z-index:0}.lds-roller div{animation:lds-roller 1.2s cubic-bezier(.5,0,.5,1) infinite;transform-origin:40px 40px}.lds-roller div:after{background:#333;border-radius:50%;content:" ";display:block;height:7px;margin:-4px 0 0 -4px;position:absolute;width:7px}.lds-roller div:first-child{animation-delay:-36ms}.lds-roller div:first-child:after{left:63px;top:63px}.lds-roller div:nth-child(2){animation-delay:-72ms}.lds-roller div:nth-child(2):after{left:56px;top:68px}.lds-roller div:nth-child(3){animation-delay:-.108s}.lds-roller div:nth-child(3):after{left:48px;top:71px}.lds-roller div:nth-child(4){animation-delay:-.144s}.lds-roller div:nth-child(4):after{left:40px;top:72px}.lds-roller div:nth-child(5){animation-delay:-.18s}.lds-roller div:nth-child(5):after{left:32px;top:71px}.lds-roller div:nth-child(6){animation-delay:-.216s}.lds-roller div:nth-child(6):after{left:24px;top:68px}.lds-roller div:nth-child(7){animation-delay:-.252s}.lds-roller div:nth-child(7):after{left:17px;top:63px}.lds-roller div:nth-child(8){animation-delay:-.288s}.lds-roller div:nth-child(8):after{left:12px;top:56px}@keyframes lds-roller{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.r-content-figure{aspect-ratio:16/9;background-color:#000;position:relative}.r-content-figure-blur{background-position:50%;background-size:130%;height:100%;left:0;opacity:.6;position:absolute;top:0;width:100%}.r-content-figure-img{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);height:100%;object-fit:cover;object-position:center;position:absolute;width:100%}.r-content-img-blur{height:100%;left:0;position:absolute;top:0;width:100%}.img-cover,.r-content-img-blur{background-position:50%;background-size:cover}.img-contain{background-position:50%;background-repeat:no-repeat;background-size:contain;object-fit:contain;object-position:center}.no-search-item-img{background:#000;background-position:50%!important}.no-search-item-img,.r-search-img{background-color:#c9c9c9!important}.portaltype-imio-smartweb-directoryview #portal-breadcrumbs,.portaltype-imio-smartweb-directoryview #portal-header,.portaltype-imio-smartweb-eventsview #portal-breadcrumbs,.portaltype-imio-smartweb-eventsview #portal-header,.portaltype-imio-smartweb-newsview #portal-breadcrumbs,.portaltype-imio-smartweb-newsview #portal-header{margin-bottom:0!important}.edit-rest-elements{align-items:center;display:flex;flex-direction:column;padding:10px;position:absolute;right:5px;top:5px}.edit-rest-elements-content{top:10px}.edit-rest-elements-news{padding:10px}
|