imio.smartweb.common 1.2.41__py3-none-any.whl → 1.2.43__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 (37) hide show
  1. imio/smartweb/common/browser/tiny/process.py +1 -1
  2. imio/smartweb/common/configure.zcml +1 -0
  3. imio/smartweb/common/ia/__init__.py +0 -0
  4. imio/smartweb/common/ia/behaviors/__init__.py +0 -0
  5. imio/smartweb/common/ia/behaviors/configure.zcml +15 -0
  6. imio/smartweb/common/ia/behaviors/title.py +17 -0
  7. imio/smartweb/common/ia/browser/__init__.py +0 -0
  8. imio/smartweb/common/ia/browser/categorization_button_add.py +63 -0
  9. imio/smartweb/common/ia/browser/categorization_button_edit.py +87 -0
  10. imio/smartweb/common/ia/browser/configure.zcml +43 -0
  11. imio/smartweb/common/ia/browser/static/Makefile +12 -0
  12. imio/smartweb/common/ia/browser/static/package.json +28 -0
  13. imio/smartweb/common/ia/browser/static/smartweb-common-ia_suggested_titles-compiled.js +1 -0
  14. imio/smartweb/common/ia/browser/static/src/ia_suggested_titles.js +247 -0
  15. imio/smartweb/common/ia/browser/static/webpack.config.js +41 -0
  16. imio/smartweb/common/ia/browser/views.py +150 -0
  17. imio/smartweb/common/ia/configure.zcml +10 -0
  18. imio/smartweb/common/ia/widgets/configure.zcml +17 -0
  19. imio/smartweb/common/ia/widgets/html_snippet_widget.pt +352 -0
  20. imio/smartweb/common/ia/widgets/html_snippet_widget.py +65 -0
  21. imio/smartweb/common/ia/widgets/suggested_ia_titles_input.pt +45 -0
  22. imio/smartweb/common/ia/widgets/widget.py +40 -0
  23. imio/smartweb/common/profiles/default/metadata.xml +1 -1
  24. imio/smartweb/common/profiles/default/registry/registry.xml +9 -0
  25. imio/smartweb/common/rest/endpoint.py +80 -0
  26. imio/smartweb/common/upgrades/configure.zcml +19 -0
  27. imio/smartweb/common/upgrades/profiles/1035_to_1036/registry/bundles.xml +17 -0
  28. imio/smartweb/common/utils.py +4 -2
  29. {imio_smartweb_common-1.2.41.dist-info → imio_smartweb_common-1.2.43.dist-info}/METADATA +19 -1
  30. {imio_smartweb_common-1.2.41.dist-info → imio_smartweb_common-1.2.43.dist-info}/RECORD +36 -16
  31. {imio_smartweb_common-1.2.41.dist-info → imio_smartweb_common-1.2.43.dist-info}/WHEEL +1 -1
  32. imio/smartweb/common/browser/ia.py +0 -33
  33. /imio.smartweb.common-1.2.41-py3.12-nspkg.pth → /imio.smartweb.common-1.2.43-py3.12-nspkg.pth +0 -0
  34. {imio_smartweb_common-1.2.41.dist-info → imio_smartweb_common-1.2.43.dist-info}/licenses/LICENSE.GPL +0 -0
  35. {imio_smartweb_common-1.2.41.dist-info → imio_smartweb_common-1.2.43.dist-info}/licenses/LICENSE.rst +0 -0
  36. {imio_smartweb_common-1.2.41.dist-info → imio_smartweb_common-1.2.43.dist-info}/namespace_packages.txt +0 -0
  37. {imio_smartweb_common-1.2.41.dist-info → imio_smartweb_common-1.2.43.dist-info}/top_level.txt +0 -0
@@ -990,5 +990,14 @@
990
990
  <value>False</value>
991
991
  </record>
992
992
 
993
+ <records prefix="plone.bundles/smartweb-common-suggested_titles"
994
+ interface="Products.CMFPlone.interfaces.IBundleRegistry">
995
+ <value key="enabled">True</value>
996
+ <value key="expression">python: member is not None</value>
997
+ <value key="jscompilation">++plone++imio.smartweb.common.ia/smartweb-common-ia_suggested_titles-compiled.js</value>
998
+ <value key="depends">plone</value>
999
+ <value key="load_async">False</value>
1000
+ <value key="load_defer">False</value>
1001
+ </records>
993
1002
 
994
1003
  </registry>
@@ -1,6 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
3
  from collections import Counter
4
+ from DateTime import DateTime
4
5
  from imio.smartweb.common.rest.utils import get_json
5
6
  from plone import api
6
7
  from plone.restapi.search.handler import SearchHandler
@@ -38,6 +39,9 @@ class FindEndpointHandler(SearchHandler):
38
39
  query.get("field_name"),
39
40
  query.get("expected_values"),
40
41
  )
42
+ elif query.get("type_of_request") == "catalog":
43
+ json_str_query = query.get("json_str_query")
44
+ results = self.search_from_json(json_str_query)
41
45
  else:
42
46
  return super().search(query)
43
47
  return results
@@ -164,6 +168,82 @@ class FindEndpointHandler(SearchHandler):
164
168
  result[label] = {"count": count, "percent": round(percent, 2)}
165
169
  return result
166
170
 
171
+ def normalize_catalog_params(self, params):
172
+ """Recursilvly normalize catalog values :
173
+ - dicts keys 'query' -> try to convert DateTime
174
+ - list/tuple -> normalizing recursilvly
175
+ """
176
+ if isinstance(params, dict):
177
+ new = {}
178
+ for key, value in params.items():
179
+ # Special case : bloc of catalog criteria -> {'query': '...', 'range': 'min'}
180
+ if isinstance(value, dict) and "query" in value:
181
+ crit = value.copy()
182
+ q = crit.get("query")
183
+
184
+ # if string test DateTime
185
+ if isinstance(q, str):
186
+ try:
187
+ crit["query"] = DateTime(q)
188
+ except Exception:
189
+ # let in string
190
+ pass
191
+
192
+ # Normalizing others
193
+ for k2, v2 in crit.items():
194
+ if k2 != "query":
195
+ crit[k2] = self.normalize_catalog_params(v2)
196
+
197
+ new[key] = crit
198
+
199
+ else:
200
+ new[key] = self.normalize_catalog_params(value)
201
+ return new
202
+
203
+ if isinstance(params, (list, tuple)):
204
+ return [self.normalize_catalog_params(v) for v in params]
205
+
206
+ return params
207
+
208
+ def search_from_json(self, json_str):
209
+ """
210
+ Docstring for search_from_json
211
+
212
+ :param self: Description
213
+ :param json_str: Description
214
+ :example1: {"portal_type":"imio.events.Event","effective": {"query":"2025-12-12","range": "min"},"enableAutopublishing":true}
215
+ """
216
+ data = json.loads(json_str) or {}
217
+ attrs = [k for k, v in data.items()]
218
+ attrs = attrs + ["Title", "getPath"]
219
+ query_params = self.normalize_catalog_params(data)
220
+ catalog = api.portal.get_tool("portal_catalog")
221
+ brains = None
222
+ try:
223
+ brains = catalog(**query_params)
224
+ except:
225
+ # try querystring-search with query-builder ?
226
+ from plone.app.querystring.querybuilder import QueryBuilder
227
+
228
+ portal = api.portal.get()
229
+ request = portal.REQUEST
230
+ qb = QueryBuilder(portal, request)
231
+ brains = qb(query_params["query"])
232
+ results = []
233
+ for brain in brains:
234
+ item = {}
235
+ for name in attrs:
236
+ value = getattr(brain, name, None)
237
+ if value is None:
238
+ value = getattr(brain.getObject(), name, None)
239
+ if callable(value):
240
+ value = value()
241
+ if isinstance(value, DateTime):
242
+ value = value.ISO8601()
243
+ item[name] = value
244
+ results.append(item)
245
+ return results
246
+
167
247
 
168
248
  class FindEndpoint(Service):
169
249
  def reply(self):
@@ -181,6 +181,14 @@
181
181
  directory="profiles/1034_to_1035"
182
182
  />
183
183
 
184
+ <genericsetup:registerProfile
185
+ name="upgrade_1035_to_1036"
186
+ title="Upgrade common from 1035 to 1036"
187
+ description="Add smartweb-common-suggested_titles bundle"
188
+ provides="Products.GenericSetup.interfaces.EXTENSION"
189
+ directory="profiles/1035_to_1036"
190
+ />
191
+
184
192
  <genericsetup:upgradeStep
185
193
  title="Configure first official release"
186
194
  description="Run needed registry step"
@@ -553,4 +561,15 @@
553
561
  />
554
562
  </genericsetup:upgradeSteps>
555
563
 
564
+ <genericsetup:upgradeSteps
565
+ profile="imio.smartweb.common:default"
566
+ source="1035"
567
+ destination="1036"
568
+ >
569
+ <genericsetup:upgradeDepends
570
+ title="Add smartweb-common-suggested_titles bundle"
571
+ import_profile="imio.smartweb.common.upgrades:upgrade_1035_to_1036"
572
+ />
573
+ </genericsetup:upgradeSteps>
574
+
556
575
  </configure>
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0"?>
2
+
3
+ <registry
4
+ xmlns:i18n="http://xml.zope.org/namespaces/i18n"
5
+ i18n:domain="imio.smartweb">
6
+
7
+ <records prefix="plone.bundles/smartweb-common-suggested_titles"
8
+ interface="Products.CMFPlone.interfaces.IBundleRegistry">
9
+ <value key="enabled">True</value>
10
+ <value key="expression">python: member is not None</value>
11
+ <value key="jscompilation">++plone++imio.smartweb.common.ia/smartweb-common-ia_suggested_titles-compiled.js</value>
12
+ <value key="depends">plone</value>
13
+ <value key="load_async">False</value>
14
+ <value key="load_defer">False</value>
15
+ </records>
16
+
17
+ </registry>
@@ -25,9 +25,11 @@ import re
25
25
  import unicodedata
26
26
 
27
27
 
28
- def get_vocabulary(voc_name):
28
+ def get_vocabulary(voc_name, obj=None):
29
+ if obj is None:
30
+ obj = api.portal.get()
29
31
  factory = getUtility(IVocabularyFactory, voc_name)
30
- vocabulary = factory(api.portal.get())
32
+ vocabulary = factory(obj)
31
33
  return vocabulary
32
34
 
33
35
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: imio.smartweb.common
3
- Version: 1.2.41
3
+ Version: 1.2.43
4
4
  Summary: Common utilities, vocabularies, taxonomies for imio.smartweb & co products
5
5
  Home-page: https://github.com/imio/imio.smartweb.common
6
6
  Author: iMio
@@ -178,6 +178,24 @@ Changelog
178
178
  =========
179
179
 
180
180
 
181
+ 1.2.43 (2026-01-21)
182
+ -------------------
183
+
184
+ - OIA-109 : Refactor "CategorizeContent" feature from imio.smartweb.core to imio.smartweb.common
185
+ [boulch]
186
+
187
+ - OIA-109 : Refactor "suggested titles" feature from imio.smartweb.core to imio.smartweb.common
188
+ Use it as a behavior <element value="imio.smartweb.ia.titles"/> (instead of plone.basic)
189
+ [boulch]
190
+
191
+
192
+ 1.2.42 (2025-12-11)
193
+ -------------------
194
+
195
+ - Add a new type of request in @find endpoint
196
+ [boulch]
197
+
198
+
181
199
  1.2.41 (2025-11-28)
182
200
  -------------------
183
201
 
@@ -1,11 +1,11 @@
1
- imio.smartweb.common-1.2.41-py3.12-nspkg.pth,sha256=XZ3YhlzwpUCC8tXtelHRqxVxo3NWomIiMsUfUshrbeE,1011
1
+ imio.smartweb.common-1.2.43-py3.12-nspkg.pth,sha256=XZ3YhlzwpUCC8tXtelHRqxVxo3NWomIiMsUfUshrbeE,1011
2
2
  imio/smartweb/common/__init__.py,sha256=Na9XBfEQUMrm2c5jbqQgwWeg40ih0aXVG1vT8NeAjMQ,2709
3
3
  imio/smartweb/common/adapters.py,sha256=dG4MALuHPQI6lTeNvs5p4vVOxHoBBYaWN6g8J96KxzQ,1507
4
4
  imio/smartweb/common/adapters.zcml,sha256=VO3luZDtRL9FIIEghxPrqpx8paZF3m6MGEy-8kF1sOQ,437
5
5
  imio/smartweb/common/caching.py,sha256=aN7gX9rT63fnmUuZnx82Mbu3ghjJUeOiLvLEp9OiFm4,895
6
6
  imio/smartweb/common/caching_overrides.zcml,sha256=rpyKruOfuhAWfhtDVS9X54ibmNTZ9FmueH5Jz8aBf0w,570
7
7
  imio/smartweb/common/config.py,sha256=gAw_y3C-qQRdYB-9FEnRznX-hMU5jV5FIoVBOUjsBho,653
8
- imio/smartweb/common/configure.zcml,sha256=Ypqlo27RCC_w48QaQ0xucQRDjIBs9VpdtoJSjionK6Y,1128
8
+ imio/smartweb/common/configure.zcml,sha256=uIcXrtI-lc7slAVSWFz6S-4oUp0IjiOZYeIGYNT3zbM,1156
9
9
  imio/smartweb/common/contact_utils.py,sha256=Pr-Nhz9MRnfirZ7RbmF5JZw9fX4gWa0dWkvJlQBiDKY,11341
10
10
  imio/smartweb/common/indexers.py,sha256=TvvKglWI0JM5_jwetlpvqcjwkid_2PhaCZGKZV4sD34,1148
11
11
  imio/smartweb/common/indexers.zcml,sha256=End1fDod99sr0xw8PaakgeTAZYq-HLOGw3MNA8K_CTs,324
@@ -20,7 +20,7 @@ imio/smartweb/common/subscribers.zcml,sha256=8v2lqNNVAHlrh2G3jtjVgr3Asrw8WJLS9jS
20
20
  imio/smartweb/common/testing.py,sha256=GKlYMHJUSxZFVX0o_R_c_Au1VYlkd-GjykQqfONHv7I,1985
21
21
  imio/smartweb/common/testing.zcml,sha256=7N-ALtklyWeLSzZmlxN2Tp-aZe_3An--w_6BGl1991E,172
22
22
  imio/smartweb/common/utility_overrides.zcml,sha256=Nn1q1FwQUyktB-EJM2qzPfsc-zUmHxX0Gj9OQTlYKQM,413
23
- imio/smartweb/common/utils.py,sha256=Or5oV0l33wuoc9-Y4WDeVjXzGgluFZVyQWBoc_PRUjo,8195
23
+ imio/smartweb/common/utils.py,sha256=i8dffr_ky4BDBtJ9l5N21o_a7x9kZcSCHsI7j_gOJdo,8243
24
24
  imio/smartweb/common/vocabularies.py,sha256=L4H73GQxLbIRZOpn_fHBU4-J-gY6BeiYjDyU90jV0U8,4809
25
25
  imio/smartweb/common/vocabularies.zcml,sha256=hnsIJYrof0k4gCj1wAJQtekXznvfFHIQXu-58eqXevk,1306
26
26
  imio/smartweb/common/widgets.zcml,sha256=GQ0aJblx44OJpj0HGXiyQJnFeSaJlOTMd1RAZn_1Qgk,375
@@ -36,7 +36,6 @@ imio/smartweb/common/browser/description.pt,sha256=ZXKpsMQDJGC0dxVUg5v1W6LsG1_OW
36
36
  imio/smartweb/common/browser/description.py,sha256=BRpHkVzwyeM-SUzkEbtHn2fm8pQREtcHIW7feoQlBPQ,517
37
37
  imio/smartweb/common/browser/edit_taxonomy_data.pt,sha256=PWM7SGaWAkrPZ7jxVRBry8ed5_1PD7fucCMgmMCx9tg,6937
38
38
  imio/smartweb/common/browser/forms.py,sha256=UK72J9cEadVU4DqQ3OHqv2Jo_Qff9iFSoRv2gsWpZps,4168
39
- imio/smartweb/common/browser/ia.py,sha256=ZWIoZEJQHYdpTRDsH55P9feNGfQbUyDtn0N8RohsOgM,953
40
39
  imio/smartweb/common/browser/scaling.py,sha256=aBmuMyzy2s_5PCfkyvxJiARHowpck1BOva8RKEJSVso,297
41
40
  imio/smartweb/common/browser/vocabulary.py,sha256=XXFuV1nYvu7s8j7tufrg33AmpaNgTIHl13VzEK0ro34,905
42
41
  imio/smartweb/common/browser/overrides/plone.app.z3cform.templates.widget.pt,sha256=5ODz0fk4QW4docMHdVzHDst2OkFQZBy5RAifU4pR3EM,1818
@@ -60,18 +59,38 @@ imio/smartweb/common/browser/static/src/view.js,sha256=CspnXPDZ8eo37Mse0Hk_NbVuX
60
59
  imio/smartweb/common/browser/static/src/view.less,sha256=6JV71CZtvZNaFhg6lIm2hwtfijxErsqb0ZyNPc3XIYs,1542
61
60
  imio/smartweb/common/browser/tiny/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
61
  imio/smartweb/common/browser/tiny/configure.zcml,sha256=CsCs64JLBHGuzlv6zeDgVvV0Ff4wSwfXzqjv4K6rpf4,712
63
- imio/smartweb/common/browser/tiny/process.py,sha256=ZdRkvl7W7WNaJhYlyd_8dyot151W8cte9NC9UH1gcHU,2732
62
+ imio/smartweb/common/browser/tiny/process.py,sha256=q0V4J-KXzZUFmK092q9oN8vVoD_btOSNvLTObkguuKk,2738
64
63
  imio/smartweb/common/faceted/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
64
  imio/smartweb/common/faceted/configure.zcml,sha256=xSwfB8tW49FndBuQkOJeVRnfEmx5yIaBHl7G3kGOBrU,236
66
65
  imio/smartweb/common/faceted/utils.py,sha256=H0Z7oOMUUZYhwCtlYdtIOCvT4iDcEBQVuiNn8yTyEgA,642
67
66
  imio/smartweb/common/faceted/widget.pt,sha256=5bhD0M5KVAIutYxb1-yx8AX_toAGSmZ-G6oiQSYZrOc,642
68
67
  imio/smartweb/common/faceted/widget.py,sha256=EMvFyEcS9t6lJAgz4zIkUnGAPd1fQcrv4AOBunR1a4g,938
68
+ imio/smartweb/common/ia/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
+ imio/smartweb/common/ia/configure.zcml,sha256=LlFWGO3NwRZfgRbBJ2mElV4z_q9uqVdePmV_MDjYEno,279
70
+ imio/smartweb/common/ia/behaviors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
+ imio/smartweb/common/ia/behaviors/configure.zcml,sha256=iBIby_LvzZJ4PhHj3etwjDsFJq1kdxQAt6WNRBayb3s,372
72
+ imio/smartweb/common/ia/behaviors/title.py,sha256=JL09YSNQhm-AFrVAp00Ni3_2OxnbxbEKhSV058GT_LE,632
73
+ imio/smartweb/common/ia/browser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
+ imio/smartweb/common/ia/browser/categorization_button_add.py,sha256=bYH4Ac4F-iAS6Ut4L68iLaGehySu11Y0QN1Lrr_ogCo,2239
75
+ imio/smartweb/common/ia/browser/categorization_button_edit.py,sha256=AFusupO0whvkLKFzEu7w2Ep1_pwDfmEC1iwahIVdUzs,2983
76
+ imio/smartweb/common/ia/browser/configure.zcml,sha256=CBXqBtTtfRSk3XzjqLsXQk215cRLHziMxmpJNNobCFQ,1175
77
+ imio/smartweb/common/ia/browser/views.py,sha256=VXJlGduoJ4EVVJ4TQQp522-1aqivtpCFt0mElgcf90c,5149
78
+ imio/smartweb/common/ia/browser/static/Makefile,sha256=M6dYqYEKwHzwyCn3d8RWpbwVJmfLSr2D0Zvqyl7fqFM,350
79
+ imio/smartweb/common/ia/browser/static/package.json,sha256=iL6kePbkDNmYZvfImu_126QCYi2gpLQ-wTuuNoT_Prw,704
80
+ imio/smartweb/common/ia/browser/static/smartweb-common-ia_suggested_titles-compiled.js,sha256=CqsdspYM8LRWrDBG7xpcXcbcQDdB7DkYg6y1d8r-7GQ,4943
81
+ imio/smartweb/common/ia/browser/static/webpack.config.js,sha256=U_9Q0BJJZ8i9I8x53-D3ZoIa3t435DWJU-L9pRuCzKY,1046
82
+ imio/smartweb/common/ia/browser/static/src/ia_suggested_titles.js,sha256=rV3S9FsAeOAvV9PB3NczG-1lyPkauJP6YMFVgsTZqzY,8955
83
+ imio/smartweb/common/ia/widgets/configure.zcml,sha256=eGtqFxJKBTyGwOLg5z4B_hz4Njn2EkyDpIzOi6_52GI,537
84
+ imio/smartweb/common/ia/widgets/html_snippet_widget.pt,sha256=N-2L8ur-59LjQB_tOFewvR2Zutm0eF2xp0GMRxgYzf4,12143
85
+ imio/smartweb/common/ia/widgets/html_snippet_widget.py,sha256=viuTFcXBL-pHSbQjQ28RbObTofOVY3jXw4BuBR_maVc,2416
86
+ imio/smartweb/common/ia/widgets/suggested_ia_titles_input.pt,sha256=KCpZuRxIuI6o6omFNxAy7laeKdhBmO4QSjXulz9aFkQ,1693
87
+ imio/smartweb/common/ia/widgets/widget.py,sha256=JOwYE7xe-zNhf2c-ItgStF5Li1SnlzucRy11e_rNyzU,1369
69
88
  imio/smartweb/common/profiles/default/actions.xml,sha256=q5ajChGAPlPtpN_H80voDgg4C8Z-yDcIghUJIgFYtRg,1193
70
89
  imio/smartweb/common/profiles/default/browserlayer.xml,sha256=Up2dVOgFtzE43eLMNJY1xXvdUbQRSEpNxnySqSncFqQ,185
71
90
  imio/smartweb/common/profiles/default/catalog.xml,sha256=hB2Cu64TPp29EKICqbfixwa3AFmrDJVC784KeKTMX90,576
72
- imio/smartweb/common/profiles/default/metadata.xml,sha256=xdDhVWxrX53uUQrvjH0rhEfyjiYvK-8Ikyynd5TAgpA,432
91
+ imio/smartweb/common/profiles/default/metadata.xml,sha256=I0U1mlN1PAlYs93RIQREYh4XQ6PCQrsEzk2Typ6Otx0,432
73
92
  imio/smartweb/common/profiles/default/rolemap.xml,sha256=XCdOazRleiwTAAZt3lzTsOw3ZtIwoPDqA8s4zXACvkc,1595
74
- imio/smartweb/common/profiles/default/registry/registry.xml,sha256=GXo92ntNu5GPhFOvDzde5ES7z6pgzrvK1aJtH-ElAHg,44314
93
+ imio/smartweb/common/profiles/default/registry/registry.xml,sha256=HE5wJVaXUHIwQf2JHQa2ldE9AIzEMdD97JdUxO_w_sk,44808
75
94
  imio/smartweb/common/profiles/default/registry/tinymce.xml,sha256=Bd7v0-JvSENGTbbNpdr8emyIwJqPijE5c8j3eozjeyI,5662
76
95
  imio/smartweb/common/profiles/testing/catalog.xml,sha256=CzEXLuHkT5NH-lRzTSDIR_3y_U7t2D7oBDm1oAJIoP4,214
77
96
  imio/smartweb/common/profiles/testing/metadata.xml,sha256=hPZnje-9ffhOiQfVamGoE_lOf9ISjBBf2ynQlg-Hv20,229
@@ -82,7 +101,7 @@ imio/smartweb/common/profiles/testing/types/Folder.xml,sha256=RPxIPgViAK0GGGTPKb
82
101
  imio/smartweb/common/profiles/uninstall/browserlayer.xml,sha256=glaCGlITwc36-1Fi2z0VCbLcoQ5GddkAhuW-SGYeZy8,130
83
102
  imio/smartweb/common/rest/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
103
  imio/smartweb/common/rest/configure.zcml,sha256=eT5gr-PcfMRxQzMME7T3nzz2Y0BVI4r9HyKHIccQC2s,575
85
- imio/smartweb/common/rest/endpoint.py,sha256=QDxyYuhI7ipB-JkFbMsl2OS7Vk-Uc39NwTJ41ZKZVDc,7411
104
+ imio/smartweb/common/rest/endpoint.py,sha256=QU9JKwEaCJQtPMMmZwmzvX7frYVTwR-a-sJbn6jvAQY,10428
86
105
  imio/smartweb/common/rest/odwb.py,sha256=zRZxowUaE76xlW_blc92vRCzToUpnzw3O5mxFXaeScU,2249
87
106
  imio/smartweb/common/rest/search_filters.py,sha256=upZAZ6h50qiSXo0q22lUgNlcmX5elFtrIQs_jFBl1-s,3832
88
107
  imio/smartweb/common/rest/utils.py,sha256=9zc5ge_DmVuexxN09c3U6QAITAI1s2hc0m6eZuylSxM,1269
@@ -120,7 +139,7 @@ imio/smartweb/common/tests/resources/image_1400x800.png,sha256=Iy3bWGH4NBlgYC5Bo
120
139
  imio/smartweb/common/tests/resources/image_1800x700.png,sha256=aQcMisSFQO78c6QX4mO7qIfDb9SDRmfzTuPjxMJ_0HM,32643
121
140
  imio/smartweb/common/tests/robot/test_example.robot,sha256=3ClbWps1Pfr6-RHT4FmmzGWGmtJrNnDW53bJGP69Nz4,2011
122
141
  imio/smartweb/common/upgrades/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
123
- imio/smartweb/common/upgrades/configure.zcml,sha256=hBeNtqeYTJxHxEzqBAUN-z-uBrBcRguwK8zvGWJ6hzs,18010
142
+ imio/smartweb/common/upgrades/configure.zcml,sha256=9zCGm9iiNeZ6M_gAkucpJx2M7htBzvv34ec-PExQEfI,18642
124
143
  imio/smartweb/common/upgrades/upgrades.py,sha256=NObmvdWPUrfgaPJhTB_tIZsmLawxg5jbui-TRLhS2NE,5474
125
144
  imio/smartweb/common/upgrades/profiles/1007_to_1008/rolemap.xml,sha256=dKUuBq-2pO4dGtHshBisISSTBP8aWfbwTGHj_pJvY5A,1346
126
145
  imio/smartweb/common/upgrades/profiles/1008_to_1009/actions.xml,sha256=D41gp1PDVINobhCM8L11IMXABYatjmoUuW-EQkPT804,721
@@ -146,6 +165,7 @@ imio/smartweb/common/upgrades/profiles/1031_to_1032/registry/tinymce.xml,sha256=
146
165
  imio/smartweb/common/upgrades/profiles/1032_to_1033/registry/tinymce.xml,sha256=V-8TeadC9Wk4aEBPOKOKd_48iSeyQEYlYXMLP2ILJ10,2421
147
166
  imio/smartweb/common/upgrades/profiles/1033_to_1034/registry/tinymce.xml,sha256=vxpLtDuSApvFQJ5t7hI6_5cWtZ78BoycJgy1emPkhr8,2013
148
167
  imio/smartweb/common/upgrades/profiles/1034_to_1035/registry/tinymce.xml,sha256=35nNu2uuCUY6tyVd5vj6Sad6oxIyhm-akmSt2O7tfcQ,2167
168
+ imio/smartweb/common/upgrades/profiles/1035_to_1036/registry/bundles.xml,sha256=b8eJpjnglwzzkIggXGaHRPPodJ8qfM3HiZPniP1qhJE,628
149
169
  imio/smartweb/common/viewlets/__init__.py,sha256=iwhKnzeBJLKxpRVjvzwiRE63_zNpIBfaKLITauVph-0,24
150
170
  imio/smartweb/common/viewlets/analytics.pt,sha256=J6e8fWmusLWMKXg3cJbNYV0LPS9ONz2yJ921vMvrrzE,33
151
171
  imio/smartweb/common/viewlets/colophon.pt,sha256=qaEUV2N5aZpAEcztLzK_R2eINBod1AByWxi11B1HYa0,1278
@@ -158,10 +178,10 @@ imio/smartweb/common/viewlets/skip_to_content.py,sha256=wm22NUf8Qh5uzz8p4vkLCdFN
158
178
  imio/smartweb/common/widgets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
159
179
  imio/smartweb/common/widgets/select.py,sha256=5sV0UIgwu4AvwpgVmJeSZwUWz7OPD9VxYMowfmjcfbA,1313
160
180
  imio/smartweb/common/widgets/templates/ajaxselect_display.pt,sha256=v8TT2Xc19er6SUGWabgNfIdrayFYIjxyLK9H_XkIG3M,1209
161
- imio_smartweb_common-1.2.41.dist-info/licenses/LICENSE.GPL,sha256=gXf5dRMhNSbfLPYYTY_5hsZ1r7UU1OaKQEAQUhuIBkM,18092
162
- imio_smartweb_common-1.2.41.dist-info/licenses/LICENSE.rst,sha256=5dd78Fdt0e-oM2ICBrMpjHnT8vEP-jhBDF7akXni6B4,655
163
- imio_smartweb_common-1.2.41.dist-info/METADATA,sha256=IMOqMnAl_g9U45WYc8wiW7zmgUB2HErN-ZH4ijXIxmk,19497
164
- imio_smartweb_common-1.2.41.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
165
- imio_smartweb_common-1.2.41.dist-info/namespace_packages.txt,sha256=Pg8AH8t9viMMW1hJbNZvTy_n2jXG2igIYUpon5RA4Js,19
166
- imio_smartweb_common-1.2.41.dist-info/top_level.txt,sha256=ZktC0EGzThvMTAin9_q_41rzvvfMT2FYbP8pbhSLMSA,5
167
- imio_smartweb_common-1.2.41.dist-info/RECORD,,
181
+ imio_smartweb_common-1.2.43.dist-info/licenses/LICENSE.GPL,sha256=gXf5dRMhNSbfLPYYTY_5hsZ1r7UU1OaKQEAQUhuIBkM,18092
182
+ imio_smartweb_common-1.2.43.dist-info/licenses/LICENSE.rst,sha256=5dd78Fdt0e-oM2ICBrMpjHnT8vEP-jhBDF7akXni6B4,655
183
+ imio_smartweb_common-1.2.43.dist-info/METADATA,sha256=Yb_c_0i0gjkwPmhoiQBXzd5FvaVl9AnI_PDUjIyT2Qg,19947
184
+ imio_smartweb_common-1.2.43.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
185
+ imio_smartweb_common-1.2.43.dist-info/namespace_packages.txt,sha256=Pg8AH8t9viMMW1hJbNZvTy_n2jXG2igIYUpon5RA4Js,19
186
+ imio_smartweb_common-1.2.43.dist-info/top_level.txt,sha256=ZktC0EGzThvMTAin9_q_41rzvvfMT2FYbP8pbhSLMSA,5
187
+ imio_smartweb_common-1.2.43.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,33 +0,0 @@
1
- from imio.smartweb.common.config import APPLICATION_ID
2
- from imio.smartweb.common.config import PROJECT_ID
3
- from zope.publisher.browser import BrowserView
4
-
5
- import json
6
- import os
7
-
8
-
9
- class BaseIAView(BrowserView):
10
- """
11
- Base view providing common headers and configuration for IA-related features.
12
- This class is shared across multiple projects, including imio.smartweb.core.
13
- """
14
-
15
- def __init__(self, context, request):
16
- self.context = context
17
- self.request = request
18
- self._headers = None
19
-
20
- @property
21
- def headers(self):
22
- if self._headers is None:
23
- self._headers = {
24
- "accept": "application/json",
25
- "Content-Type": "application/json",
26
- "x-imio-application": APPLICATION_ID,
27
- "x-imio-municipality": PROJECT_ID,
28
- }
29
- return self._headers
30
-
31
- @property
32
- def headers_json(self):
33
- return json.dumps(self.headers)