imio.smartweb.core 1.3.2__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.
Files changed (35) hide show
  1. imio/smartweb/core/browser/controlpanel.py +25 -1
  2. imio/smartweb/core/contents/rest/base.py +4 -0
  3. imio/smartweb/core/contents/rest/campaign/endpoint.py +18 -1
  4. imio/smartweb/core/tests/test_ideabox.py +5 -3
  5. imio/smartweb/core/tests/test_rest.py +21 -3
  6. imio/smartweb/core/webcomponents/build/css/666.smartweb-webcomponents-compiled.css +1 -1
  7. imio/smartweb/core/webcomponents/build/css/smartweb-webcomponents-compiled.css +1 -1
  8. imio/smartweb/core/webcomponents/build/js/373.smartweb-webcomponents-compiled.js +1 -1
  9. imio/smartweb/core/webcomponents/build/js/486.smartweb-webcomponents-compiled.js +1 -1
  10. imio/smartweb/core/webcomponents/build/js/666.smartweb-webcomponents-compiled.js +1 -1
  11. imio/smartweb/core/webcomponents/build/js/884.smartweb-webcomponents-compiled.js +1 -1
  12. imio/smartweb/core/webcomponents/build/js/919.smartweb-webcomponents-compiled.js +1 -1
  13. imio/smartweb/core/webcomponents/build/js/922.smartweb-webcomponents-compiled.js +1 -1
  14. imio/smartweb/core/webcomponents/src/components/Annuaire/Annuaire.jsx +3 -2
  15. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactContent/ContactContent.jsx +16 -2
  16. imio/smartweb/core/webcomponents/src/components/Campaign/Campaign.jsx +2 -15
  17. imio/smartweb/core/webcomponents/src/components/Campaign/Campaign.scss +117 -0
  18. imio/smartweb/core/webcomponents/src/components/Campaign/CampaignCard/CampaignCard.jsx +8 -2
  19. imio/smartweb/core/webcomponents/src/components/Campaign/CampaignContent/CampaignContent.jsx +18 -3
  20. imio/smartweb/core/webcomponents/src/components/Campaign/CampaignList/CampaignList.jsx +1 -0
  21. imio/smartweb/core/webcomponents/src/components/Campaign/Filters/Filter.jsx +6 -6
  22. imio/smartweb/core/webcomponents/src/components/Events/EventContent/EventContent.jsx +15 -1
  23. imio/smartweb/core/webcomponents/src/components/Events/Events.jsx +4 -5
  24. imio/smartweb/core/webcomponents/src/components/News/News.jsx +4 -5
  25. imio/smartweb/core/webcomponents/src/components/News/NewsContent/NewsContent.jsx +16 -1
  26. imio/smartweb/core/webcomponents/src/hooks/useAxios.js +3 -1
  27. imio/smartweb/core/webcomponents/src/index.scss +13 -3
  28. {imio.smartweb.core-1.3.2.dist-info → imio.smartweb.core-1.3.3.dist-info}/METADATA +18 -1
  29. {imio.smartweb.core-1.3.2.dist-info → imio.smartweb.core-1.3.3.dist-info}/RECORD +35 -35
  30. /imio.smartweb.core-1.3.2-py3.12-nspkg.pth → /imio.smartweb.core-1.3.3-py3.12-nspkg.pth +0 -0
  31. {imio.smartweb.core-1.3.2.dist-info → imio.smartweb.core-1.3.3.dist-info}/LICENSE.GPL +0 -0
  32. {imio.smartweb.core-1.3.2.dist-info → imio.smartweb.core-1.3.3.dist-info}/LICENSE.rst +0 -0
  33. {imio.smartweb.core-1.3.2.dist-info → imio.smartweb.core-1.3.3.dist-info}/WHEEL +0 -0
  34. {imio.smartweb.core-1.3.2.dist-info → imio.smartweb.core-1.3.3.dist-info}/namespace_packages.txt +0 -0
  35. {imio.smartweb.core-1.3.2.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
@@ -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
- url = f"{wcs_api}/cards/imio-ideabox-projet/list?filter-campagne={campaign_id}&full=on&filter-statut=Vote|Enregistr%C3%A9e&filter-statut-operator=in&{extra_params}"
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
 
@@ -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=Vote|Enregistr%C3%A9e&filter-statut-operator=in&",
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("/directory-view/@results", params=params)
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("/events-view/@results", params=params)
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("/news-view/@results", params=params)
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)[
@@ -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;left:50%;position:absolute;top:5rem;transform:translate(-50%,-50%);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}
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}