imio.smartweb.common 1.2.39__py3-none-any.whl → 1.2.41__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/common/browser/configure.zcml +6 -0
- imio/smartweb/common/browser/ia.py +33 -0
- imio/smartweb/common/browser/static/smartweb-common-edit-compiled.js +1 -1
- imio/smartweb/common/browser/static/smartweb-common-tinymce-compiled.js +1 -0
- imio/smartweb/common/browser/static/smartweb-common-view-compiled.js +1 -1
- imio/smartweb/common/browser/static/src/tinymce.js +317 -0
- imio/smartweb/common/browser/static/webpack.config.js +1 -0
- imio/smartweb/common/browser/tiny/__init__.py +0 -0
- imio/smartweb/common/browser/tiny/configure.zcml +29 -0
- imio/smartweb/common/browser/tiny/process.py +87 -0
- imio/smartweb/common/config.py +8 -0
- imio/smartweb/common/profiles/default/metadata.xml +1 -1
- imio/smartweb/common/profiles/default/registry/tinymce.xml +20 -1
- imio/smartweb/common/tests/test_utils.py +16 -0
- imio/smartweb/common/upgrades/configure.zcml +20 -1
- imio/smartweb/common/upgrades/profiles/1034_to_1035/registry/tinymce.xml +71 -0
- imio/smartweb/common/utils.py +13 -1
- {imio_smartweb_common-1.2.39.dist-info → imio_smartweb_common-1.2.41.dist-info}/METADATA +22 -1
- {imio_smartweb_common-1.2.39.dist-info → imio_smartweb_common-1.2.41.dist-info}/RECORD +25 -18
- /imio.smartweb.common-1.2.39-py3.12-nspkg.pth → /imio.smartweb.common-1.2.41-py3.12-nspkg.pth +0 -0
- {imio_smartweb_common-1.2.39.dist-info → imio_smartweb_common-1.2.41.dist-info}/WHEEL +0 -0
- {imio_smartweb_common-1.2.39.dist-info → imio_smartweb_common-1.2.41.dist-info}/licenses/LICENSE.GPL +0 -0
- {imio_smartweb_common-1.2.39.dist-info → imio_smartweb_common-1.2.41.dist-info}/licenses/LICENSE.rst +0 -0
- {imio_smartweb_common-1.2.39.dist-info → imio_smartweb_common-1.2.41.dist-info}/namespace_packages.txt +0 -0
- {imio_smartweb_common-1.2.39.dist-info → imio_smartweb_common-1.2.41.dist-info}/top_level.txt +0 -0
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
xmlns:plone="http://namespaces.plone.org/plone">
|
|
5
5
|
|
|
6
6
|
<include package=".privacy" />
|
|
7
|
+
<include package=".tiny" />
|
|
7
8
|
|
|
8
9
|
<!-- Set overrides folder for Just-a-Bunch-Of-Templates product -->
|
|
9
10
|
<include package="z3c.jbot" file="meta.zcml" />
|
|
@@ -108,4 +109,9 @@
|
|
|
108
109
|
layer="imio.smartweb.common.interfaces.IImioSmartwebCommonLayer"
|
|
109
110
|
/>
|
|
110
111
|
|
|
112
|
+
<browser:resource
|
|
113
|
+
name="tinymce.js"
|
|
114
|
+
file="./static/smartweb-common-tinymce-compiled.js"
|
|
115
|
+
/>
|
|
116
|
+
|
|
111
117
|
</configure>
|
|
@@ -0,0 +1,33 @@
|
|
|
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)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(
|
|
1
|
+
!function(){"use strict";jQuery(document).ready(function(e){e("input[type='file']").on("change",function(){this.files[0].size>20971520&&(alert("Le poids de votre image/fichier dépasse les 20Mo autorisés. Veuillez alléger votre fichier."),e(this).val(null))}),e("form.tabbed-form-with-toggle fieldset:first legend").hide(),e("form.tabbed-form-with-toggle fieldset:first legend").addClass("expanded"),e("form.tabbed-form-with-toggle fieldset:not(:first) legend").siblings().hide(),e("form.tabbed-form-with-toggle fieldset:not(:first) legend").addClass("dropdown-toggle collapsed"),e("form.tabbed-form-with-toggle fieldset:not(:first) legend").click(function(){var t=e(this),i=!1;e(this).siblings().slideToggle("fast",function(){i||(t.toggleClass("collapsed"),t.toggleClass("expanded"),i=!0)})})})}();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(){async function t(t,e){const n=await fetch(t,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json; charset=utf-8","X-CSRF-TOKEN":token},credentials:"same-origin",body:JSON.stringify(e)});if(!n.ok){const t=await n.text().catch(()=>"");throw new Error("HTTP "+n.status+" – "+t)}return(n.headers.get("Content-Type")||"").includes("application/json")?n.json():{html:await n.text()}}function e(t,e){t.setProgressState?.(!1),e&&e.setEnabled(!0)}async function n(t,n,C){try{!function(t,e){e&&e.setEnabled(!1),t.setProgressState?.(!0)}(t,n),await C(),e(t,n),t.notificationManager.open({text:"Terminé",type:"success",timeout:1800})}catch(C){console.error("[tinymce-process] error:",C),e(t,n),t.notificationManager.open({text:"Échec du traitement",type:"error",timeout:2500})}}function C(t){return t.selection?.getContent({format:"html"})||""}tinymce.i18n.add("fr_FR",{text_expand_label:"Développer le texte",text_improve_label:"Améliorer le texte",text_shorter_label:"Raccourcir le texte",text_shorter_label:"Raccourcir le texte"}),tinymce.i18n.add("nl_NL",{text_expand_label:"Tekst uitbreiden",text_improve_label:"Tekst verbeteren",text_shorter_label:"Tekst verkorten",text_shorter_label:"Tekst verkorten"}),tinymce.i18n.add("de_DE",{text_expand_label:"Text erweitern",text_improve_label:"Text verbessern",text_shorter_label:"Text verkürzen",text_shorter_label:"Text verkürzen"}),window.tinymce&&(tinymce.PluginManager.add("text_expand",function(e){let i=null;e.addCommand("textExpandRun",async function(){const o=C(e);if(!o.trim())return void e.notificationManager.open({text:"Sélectionnez du texte à traiter.",type:"warning",timeout:2e3});const a=e.selection.getBookmark(2,!0);await n(e,i,async()=>{const n=await t("@@process-textexpand",{html:o});if(!n||"string"!=typeof n.html)throw new Error("Réponse invalide");e.undoManager.transact(()=>{e.selection.moveToBookmark(a),e.selection.setContent(n.html)})})}),e.ui.registry.addButton("text_expand",{text:"Text expand",tooltip:"Process text expand",onAction:()=>e.execCommand("textExpandRun"),onSetup:t=>(i=t,()=>i=null)})}),tinymce.PluginManager.add("text_improve",function(e){let i=null;e.addCommand("textImproveRun",async function(){const o=C(e);if(!o.trim())return void e.notificationManager.open({text:"Sélectionnez le passage pour améliorer le texte.",type:"warning",timeout:2e3});const a=e.selection.getBookmark(2,!0);await n(e,i,async()=>{const n=await t("@@process-textimprove",{html:o});if(!n||"string"!=typeof n.html)throw new Error("Réponse invalide");e.undoManager.transact(()=>{e.selection.moveToBookmark(a),e.selection.setContent(n.html)})})}),e.ui.registry.addButton("text_improve",{text:"Text improve",tooltip:"Améliorer le texte",onAction:()=>e.execCommand("textImproveRun"),onSetup:t=>(i=t,()=>i=null)})}),tinymce.PluginManager.add("text_shorter",function(e){let i=null;e.addCommand("textShorterRun",async function(){const o=C(e);if(!o.trim())return void e.notificationManager.open({text:"Sélectionnez le passage pour raccourcir le texte.",type:"warning",timeout:2e3});const a=e.selection.getBookmark(2,!0);await n(e,i,async()=>{const n=await t("@@process-textshorter",{html:o});if(!n||"string"!=typeof n.html)throw new Error("Réponse invalide");e.undoManager.transact(()=>{e.selection.moveToBookmark(a),e.selection.setContent(n.html)})})}),e.ui.registry.addButton("text_shorter",{text:"Text shorter",tooltip:"Raccourcir le texte",onAction:()=>e.execCommand("textShorterRun"),onSetup:t=>(i=t,()=>i=null)})}),tinymce.PluginManager.add("ia",function(t){t.ui.registry.addIcon("iacustom",'\n<svg width="32" height="20" viewBox="0 0 32 20" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M25.8779 0.554711C26.0205 0.522358 26.0793 0.62971 26.1558 0.723826C26.5367 2.14881 26.9911 3.70321 28.1146 4.72231C29.0014 5.52819 30.2382 5.95024 31.3779 6.27671C31.5764 6.33406 32.1249 6.37082 31.9705 6.71641C31.897 6.87817 31.5602 6.90317 31.4102 6.94729C30.3043 7.27081 29.1029 7.67081 28.2279 8.41639C27.1323 9.34432 26.6132 10.8237 26.2396 12.1708C26.2146 12.2678 26.2029 12.4193 26.1661 12.5016C26.1588 12.5163 26.0558 12.6413 26.0455 12.6487C25.9102 12.7384 25.7632 12.6487 25.7088 12.5119C25.6793 12.4399 25.6426 12.3105 25.6205 12.2311C25.1043 10.384 24.5514 8.81197 22.7823 7.82963C21.9323 7.35758 21.047 7.17081 20.1279 6.87964C19.9485 6.82229 19.772 6.68111 19.9117 6.49435C20.025 6.33994 20.3367 6.32818 20.5044 6.27818C21.7926 5.88995 23.1161 5.44289 24.0485 4.41349C24.8352 3.54585 25.2499 2.33263 25.572 1.22529C25.6191 1.05618 25.6779 0.598828 25.8793 0.556181H25.8764L25.8779 0.554711Z" fill="#E6007E"/>\n<path d="M5.88252 13.3328C5.65016 12.6681 5.49134 11.974 5.40752 11.2476C3.80164 12.0755 2.21783 13.0064 0.703125 14.0505C0.84136 13.9828 0.995771 13.9402 1.15901 13.9299C1.18695 13.9284 3.02959 13.8019 5.88399 13.3328H5.88252Z" fill="#7D1751"/>\n<path d="M0.0154884 15.2306C-0.00362921 14.9438 0.0787234 14.6732 0.231664 14.4541C-0.0683348 14.86 -0.0859818 15.4261 0.231664 15.86C0.289017 15.9379 0.353722 16.0056 0.42431 16.0658C0.191958 15.8585 0.0375471 15.5644 0.0169589 15.2306H0.0154884Z" fill="#7D1751"/>\n<path d="M0.494761 16.1246C0.482996 16.1158 0.471232 16.107 0.460938 16.0967C0.472702 16.1055 0.482996 16.1158 0.494761 16.1246Z" fill="#7D1751"/>\n<path d="M10.3879 4.93377C11.7467 3.52937 13.4438 2.80732 15.407 2.80732C17.2555 2.80732 18.8349 3.44702 20.179 4.69407C21.1217 4.38966 22.0511 4.01172 22.7981 3.35732C22.6658 3.21026 22.5305 3.06467 22.3893 2.92203C20.4276 0.986754 18.0879 0 15.332 0C12.5761 0 10.2364 0.948519 8.27467 2.92203C6.31291 4.8573 5.33203 7.21169 5.33203 9.98077C5.33203 10.4131 5.3585 10.8352 5.40703 11.2469C6.37173 10.7499 7.34526 10.2911 8.31437 9.8646C8.34084 7.94256 9.02025 6.30875 10.3879 4.9323V4.93377Z" fill="#282828"/>\n<path d="M22.4232 11.1017C22.21 12.6076 21.5512 13.9355 20.4262 15.0679C19.0306 16.4723 17.3703 17.1943 15.4071 17.1943C13.4439 17.1943 11.7836 16.4737 10.388 15.0679C10.3601 15.0385 10.3336 15.0076 10.3056 14.9782C9.13947 15.2355 8.04977 15.4473 7.05859 15.6208C7.41153 16.1282 7.81447 16.6149 8.27624 17.0781C10.238 19.0134 12.5777 20.0002 15.3336 20.0002C18.0894 20.0002 20.4291 19.0516 22.3909 17.0781C23.4262 16.037 24.185 14.8885 24.6747 13.6311C24.3571 12.5179 24.0085 11.5106 23.3659 10.6812C23.0527 10.8253 22.7394 10.965 22.4262 11.1017H22.4232Z" fill="#282828"/>\n<path d="M7.05078 13.131C7.62137 13.028 8.22431 12.9119 8.85224 12.781C8.79195 12.6383 8.73607 12.4942 8.68607 12.3486C8.14048 12.5972 7.5949 12.8589 7.05078 13.131Z" fill="#282828"/>\n<path d="M7.05183 13.1309C7.59595 12.8588 8.14153 12.5971 8.68712 12.3485C8.43565 11.6103 8.31065 10.8236 8.31065 9.98092C8.31065 9.94269 8.31212 9.90445 8.31359 9.86475C7.34448 10.2897 6.37242 10.75 5.40625 11.2471C5.49007 11.9735 5.6489 12.6677 5.88125 13.3324C6.25478 13.2706 6.64448 13.2044 7.05036 13.1309H7.05183Z" fill="#282828"/>\n<path d="M0.509879 14.1822C0.573115 14.138 0.63782 14.0939 0.702526 14.0498C0.51135 14.1425 0.349586 14.2822 0.230469 14.4542C0.305468 14.3513 0.399586 14.2586 0.509879 14.1807V14.1822Z" fill="#E6007E"/>\n<path d="M0.46011 16.0983C0.446875 16.088 0.43511 16.0777 0.421875 16.0674C0.43364 16.0777 0.446875 16.088 0.46011 16.0983Z" fill="#E6007E"/>\n<path d="M1.94365 16.1454C1.49954 16.4571 0.911303 16.4322 0.492188 16.1248C0.718657 16.2983 1.00689 16.3939 1.31424 16.3748C1.43924 16.366 3.6657 16.216 7.0554 15.6204C6.62599 15.0013 6.27305 14.3528 6.00393 13.6689C4.61423 14.4101 3.24953 15.2322 1.94218 16.1454H1.94365Z" fill="#E6007E"/>\n<path d="M22.4981 9.81896C22.3128 9.67926 22.1113 9.54691 21.8907 9.42485C21.6084 9.2675 21.3216 9.14397 21.0319 9.03662C17.2996 10.6278 13.6422 11.6851 10.7363 12.3675C10.0878 12.5204 9.45988 12.6572 8.85547 12.7822C9.18488 13.5689 9.6687 14.2983 10.3069 14.9777C10.6158 14.9101 10.9275 14.8395 11.2466 14.7645C13.0422 14.3454 15.1128 13.7866 17.3157 13.0557C18.9657 12.5057 20.6892 11.8586 22.426 11.1013C22.4775 10.7381 22.5039 10.3645 22.5039 9.9822C22.5039 9.92779 22.4995 9.87338 22.4995 9.81896H22.4981Z" fill="#E6007E"/>\n<path d="M1.94679 16.1452C3.25267 15.232 4.61884 14.41 6.00854 13.6688C5.96442 13.557 5.92325 13.4453 5.88354 13.332C3.02914 13.8011 1.1865 13.9276 1.15856 13.9291C0.995325 13.9394 0.842385 13.982 0.702679 14.0497C0.639444 14.0938 0.574739 14.1364 0.510033 14.182C0.398269 14.26 0.305622 14.3526 0.230622 14.4555C0.0776816 14.6747 -0.00467104 14.9452 0.0144465 15.232C0.0365053 15.5673 0.189446 15.8614 0.421798 16.0673C0.433563 16.0776 0.446798 16.0879 0.460033 16.0982C0.471798 16.107 0.482092 16.1173 0.493856 16.1261C0.911502 16.4335 1.49974 16.457 1.94532 16.1467L1.94679 16.1452Z" fill="#E6007E"/>\n<path d="M8.85486 12.7803C8.22692 12.9097 7.62545 13.0259 7.0534 13.1303C6.7034 13.3053 6.35487 13.4832 6.00781 13.6685C6.27693 14.3523 6.6284 15.0008 7.05928 15.6199C8.05045 15.4464 9.14015 15.2347 10.3063 14.9773C9.66662 14.2979 9.18427 13.5685 8.85486 12.7817V12.7803Z" fill="#E6007E"/>\n<path d="M22.4974 9.81885C22.4974 9.87326 22.5018 9.9262 22.5018 9.98208C22.5018 10.3659 22.4753 10.738 22.4238 11.1012C22.7371 10.9644 23.0503 10.8247 23.3635 10.6806C23.1209 10.3674 22.8385 10.0777 22.4959 9.81885H22.4974Z" fill="#E6007E"/>\n<path d="M6.00634 13.6691C6.3534 13.4838 6.70193 13.3059 7.05193 13.1309C6.64605 13.2044 6.25487 13.272 5.88281 13.3323C5.92252 13.4456 5.96369 13.5573 6.00781 13.6691H6.00634Z" fill="#E6007E"/>\n</svg>\n '),t.ui.registry.addIcon("iashorter",'\n <svg width="100" height="96" viewBox="0 0 100 96" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M33.4583 44.1499H4.04167C1.80952 44.1499 0 45.9673 0 48.2092V50.6782C0 52.9201 1.80952 54.7375 4.04167 54.7375H33.4583C35.6905 54.7375 37.5 52.9201 37.5 50.6782V48.2092C37.5 45.9673 35.6905 44.1499 33.4583 44.1499Z" fill="#282828"/>\n <path d="M70.9583 22.5981H4.04167C1.80952 22.5981 0 24.4155 0 26.6574V29.1265C0 31.3684 1.80952 33.1858 4.04167 33.1858H70.9583C73.1905 33.1858 75 31.3684 75 29.1265V26.6574C75 24.4155 73.1905 22.5981 70.9583 22.5981Z" fill="#282828"/>\n <path d="M95.9583 0H4.04167C1.80952 0 0 1.8174 0 4.05929V6.52833C0 8.77022 1.80952 10.5876 4.04167 10.5876H95.9583C98.1905 10.5876 100 8.77022 100 6.52833V4.05929C100 1.8174 98.1905 0 95.9583 0Z" fill="#282828"/>\n <path d="M74.7917 49.4646C75.3333 49.3391 75.5417 49.7576 75.875 50.1342C77.3333 55.6163 79.0833 61.5588 83.375 65.4925C86.75 68.5893 91.5 70.2214 95.8333 71.4768C96.5833 71.6861 98.7083 71.8535 98.0833 73.1508C97.7917 73.7785 96.5 73.8622 95.9583 74.0296C91.75 75.285 87.125 76.7916 83.7917 79.6791C79.625 83.2362 77.625 88.9276 76.2083 94.0749C76.125 94.4515 76.0833 95.0374 75.9167 95.3304C75.9167 95.3722 75.5 95.8744 75.4583 95.9162C74.9583 96.251 74.375 95.9162 74.1667 95.3722C74.0417 95.0793 73.9167 94.6189 73.8333 94.2842C71.875 87.2118 69.75 81.1438 63 77.3774C59.75 75.578 56.375 74.8665 52.875 73.7366C52.2083 73.5274 51.5 72.9834 52.0417 72.2719C52.4583 71.6861 53.6667 71.6442 54.2917 71.435C59.2083 69.9284 64.25 68.2127 67.8333 64.2789C70.8333 60.9311 72.4167 56.2859 73.6667 52.0592C73.8333 51.3896 74.0833 49.6739 74.8333 49.5065L74.7917 49.4646Z" fill="#E6007E"/>\n </svg>\n\n '),t.ui.registry.addIcon("iaexpand",'\n <svg width="100" height="96" viewBox="0 0 100 96" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M33.4583 51.8501L4.04167 51.8501C1.80952 51.8501 -1.58883e-07 50.0327 -3.54874e-07 47.7908L-5.70725e-07 45.3218C-7.66716e-07 43.0799 1.80951 41.2625 4.04167 41.2625L33.4583 41.2625C35.6905 41.2625 37.5 43.0799 37.5 45.3218L37.5 47.7908C37.5 50.0327 35.6905 51.8501 33.4583 51.8501Z" fill="#282828"/>\n <path d="M70.9583 73.4019L4.04167 73.4019C1.80952 73.4019 -1.58882e-07 71.5845 -3.54874e-07 69.3426L-5.70725e-07 66.8735C-7.66717e-07 64.6316 1.80951 62.8142 4.04167 62.8142L70.9583 62.8142C73.1905 62.8142 75 64.6316 75 66.8735L75 69.3426C75 71.5845 73.1905 73.4019 70.9583 73.4019Z" fill="#282828"/>\n <path d="M95.9583 96L4.04167 96C1.80952 96 -1.58882e-07 94.1826 -3.54874e-07 91.9407L-5.70725e-07 89.4717C-7.66717e-07 87.2298 1.80951 85.4124 4.04167 85.4124L95.9583 85.4124C98.1905 85.4124 100 87.2298 100 89.4717L100 91.9407C100 94.1826 98.1905 96 95.9583 96Z" fill="#282828"/>\n <path d="M77.4056 46.5354C76.8639 46.6609 76.6556 46.2424 76.3223 45.8658C74.8639 40.3837 73.1139 34.4412 68.8223 30.5075C65.4473 27.4107 60.6973 25.7786 56.3639 24.5232C55.6139 24.3139 53.4889 24.1465 54.1139 22.8492C54.4056 22.2215 55.6973 22.1378 56.2389 21.9704C60.4473 20.715 65.0723 19.2084 68.4056 16.3209C72.5723 12.7638 74.5723 7.07244 75.9889 1.9251C76.0723 1.54846 76.1139 0.962584 76.2806 0.669646C76.2806 0.627795 76.6973 0.125621 76.7389 0.0837698C77.2389 -0.251016 77.8223 0.0837661 78.0306 0.627795C78.1556 0.920734 78.2806 1.38106 78.3639 1.71585C80.3223 8.78821 82.4473 14.8562 89.1973 18.6226C92.4473 20.422 95.8223 21.1335 99.3223 22.2634C99.9889 22.4726 100.697 23.0166 100.156 23.7281C99.7389 24.3139 98.5306 24.3558 97.9056 24.565C92.9889 26.0716 87.9473 27.7873 84.3639 31.7211C81.3639 35.069 79.7806 39.7141 78.5306 43.9408C78.3639 44.6104 78.1139 46.3261 77.3639 46.4935L77.4056 46.5354Z" fill="#E6007E"/>\n </svg>\n\n '),t.ui.registry.addIcon("iaimprove",'\n <svg width="100" height="102" viewBox="0 0 100 102" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path fill-rule="evenodd" clip-rule="evenodd" d="M67.3925 22.0785C65.1216 19.8554 61.486 19.8554 59.2179 22.0785L1.40159 80.4139C-0.467197 82.5974 -0.467197 85.8133 1.40159 87.9968L13.6648 100.246C16.0008 102.58 19.5034 102.58 21.8422 100.246L80.2418 42.4937C81.9945 40.743 81.9945 36.6616 80.2418 34.3282L67.7662 22.4575L67.3953 22.0785H67.3925ZM75.5698 38.4124L63.8899 26.7453L46.9066 43.0311L58.5186 55.3346L75.5698 38.4152V38.4124Z" fill="#282828"/>\n <path d="M87.7392 53.6969C88.0252 53.6319 88.1413 53.8468 88.297 54.0363C89.0587 56.8902 89.9704 60.0014 92.2215 62.0407C93.9968 63.6557 96.4772 64.4985 98.7594 65.1519C99.1558 65.2678 100.257 65.3386 99.9486 66.0315C99.8014 66.3568 99.1275 66.4049 98.8245 66.4925C96.6074 67.1402 94.2035 67.9407 92.448 69.4312C90.2536 71.2895 89.2116 74.2508 88.4641 76.9462C88.4131 77.1414 88.3904 77.444 88.3168 77.6081C88.3027 77.6364 88.096 77.8881 88.0761 77.9022C87.8043 78.0832 87.5098 77.9022 87.4022 77.6279C87.3428 77.4836 87.2692 77.2234 87.2267 77.065C86.1932 73.3683 85.0833 70.2203 81.5411 68.2546C79.8393 67.3099 78.064 66.9366 76.2207 66.3539C75.8611 66.238 75.51 65.958 75.7874 65.5818C76.014 65.2707 76.6397 65.2509 76.9767 65.149C79.559 64.3712 82.2093 63.4775 84.0781 61.4184C85.6552 59.6818 86.4848 57.255 87.1304 55.0347C87.2267 54.6953 87.3428 53.7818 87.7477 53.6941H87.742L87.7392 53.6969Z" fill="#E6007E"/>\n <path d="M87.7392 0.0113778C88.0252 -0.0536751 88.1413 0.161282 88.297 0.350784C89.0587 3.20462 89.9704 6.31584 92.2215 8.35511C93.9968 9.97012 96.4772 10.813 98.7594 11.4663C99.1558 11.5823 100.257 11.653 99.9486 12.346C99.8014 12.6712 99.1275 12.7193 98.8245 12.807C96.6074 13.4547 94.2035 14.2551 92.448 15.7457C90.2536 17.6039 89.2116 20.5652 88.4641 23.2607C88.4131 23.4558 88.3904 23.7585 88.3168 23.9225C88.3027 23.9508 88.096 24.2025 88.0761 24.2167C87.8043 24.3977 87.5098 24.2167 87.4022 23.9423C87.3428 23.7981 87.2692 23.5379 87.2267 23.3795C86.1932 19.6828 85.0833 16.5348 81.5411 14.5691C79.8393 13.6244 78.064 13.251 76.2207 12.6684C75.8611 12.5524 75.51 12.2724 75.7874 11.8962C76.014 11.5851 76.6397 11.5653 76.9767 11.4635C79.559 10.6857 82.2093 9.79193 84.0781 7.73286C85.6552 5.99624 86.4848 3.56948 87.1304 1.3492C87.2267 1.0098 87.3428 0.0962293 87.7477 0.00854938H87.742L87.7392 0.0113778Z" fill="#E6007E"/>\n <path d="M36.6279 0.0113778C36.9139 -0.0536751 37.0299 0.161282 37.1857 0.350784C37.9473 3.20462 38.8591 6.31584 41.1101 8.35511C42.8855 9.97012 45.3659 10.813 47.6481 11.4663C48.0445 11.5823 49.1459 11.653 48.8373 12.346C48.6901 12.6712 48.0162 12.7193 47.7132 12.807C45.4961 13.4547 43.0922 14.2551 41.3367 15.7457C39.1422 17.6039 38.1002 20.5652 37.3527 23.2607C37.3018 23.4558 37.2791 23.7585 37.2055 23.9225C37.1913 23.9508 36.9846 24.2025 36.9648 24.2167C36.693 24.3977 36.3985 24.2167 36.2909 23.9423C36.2315 23.7981 36.1578 23.5379 36.1154 23.3795C35.0819 19.6828 33.9719 16.5348 30.4297 14.5691C28.728 13.6244 26.9526 13.251 25.1093 12.6684C24.7497 12.5524 24.3986 12.2724 24.6761 11.8962C24.9026 11.5851 25.5284 11.5653 25.8653 11.4635C28.4477 10.6857 31.098 9.79193 32.9667 7.73286C34.5439 5.99624 35.3735 3.56948 36.0191 1.3492C36.1154 1.0098 36.2315 0.0962293 36.6364 0.00854938H36.6307L36.6279 0.0113778Z" fill="#E6007E"/>\n </svg>\n '),t.ui.registry.addMenuButton("ia",{text:"",tooltip:"Outils IA",icon:"iacustom",fetch:e=>{e([{type:"menuitem",text:tinymce.i18n.translate("text_expand_label"),icon:"iaexpand",onAction:()=>t.execCommand("textExpandRun")},{type:"menuitem",text:tinymce.i18n.translate("text_improve_label"),icon:"iaimprove",onAction:()=>t.execCommand("textImproveRun")},{type:"menuitem",text:tinymce.i18n.translate("text_shorter_label"),icon:"iashorter",onAction:()=>t.execCommand("textShorterRun")}])}})}))}();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(
|
|
1
|
+
!function(){"use strict";jQuery(document).ready(function(t){var e=t("body").data("portal-url"),r=t("#gdpr-consent-banner form").data("json-url");t.ajax({type:"GET",url:r,headers:{"Cache-Control":"no-cache"},cache:!1}).done(function(e){0==e.length?t("#gdpr-consent-banner").remove():(t("#gdpr-consent-banner").show(),t("#gdpr-consent-banner").find("input[type='submit']:first").focus())});var n=function(){t.ajax({type:"GET",url:e+"/@@get_analytics",headers:{"Cache-Control":"no-cache"},cache:!1}).done(function(e){t("div#plone-analytics").html(e)}),t(".gdpr-iframe").length>0&&t.ajax({type:"GET",url:e+"/@@allow_iframes",headers:{"Cache-Control":"no-cache"},cache:!1}).done(function(e){1==e&&(t(".gdpr-iframe-message").hide(),t(".gdpr-iframe").each(function(){t(this).attr("src",t(this).attr("gdpr-src")),t(this).attr("gdpr-height")?t(this).attr("height",t(this).attr("gdpr-height")):t(this).removeAttr("height"),t(this).attr("gdpr-width")?t(this).attr("width",t(this).attr("gdpr-width")):t(this).removeAttr("width")}))})};window.Faceted&&jQuery(Faceted.Events).bind(Faceted.Events.AJAX_QUERY_SUCCESS,function(){n()}),n()})}();
|
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
// Traductions françaises directement dans le JS
|
|
2
|
+
tinymce.i18n.add("fr_FR", {
|
|
3
|
+
text_expand_label: "Développer le texte",
|
|
4
|
+
text_improve_label: "Améliorer le texte",
|
|
5
|
+
text_shorter_label: "Raccourcir le texte",
|
|
6
|
+
text_shorter_label: "Raccourcir le texte",
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
tinymce.i18n.add("nl_NL", {
|
|
10
|
+
text_expand_label: "Tekst uitbreiden",
|
|
11
|
+
text_improve_label: "Tekst verbeteren",
|
|
12
|
+
text_shorter_label: "Tekst verkorten",
|
|
13
|
+
text_shorter_label: "Tekst verkorten",
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
tinymce.i18n.add("de_DE", {
|
|
17
|
+
text_expand_label: "Text erweitern",
|
|
18
|
+
text_improve_label: "Text verbessern",
|
|
19
|
+
text_shorter_label: "Text verkürzen",
|
|
20
|
+
text_shorter_label: "Text verkürzen",
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
// --- CSRF helper -------------------------------------------------------------
|
|
24
|
+
function getCsrfTokenSync() {
|
|
25
|
+
const meta = document.querySelector('meta[name="csrf-token"]');
|
|
26
|
+
if (meta && meta.content) return meta.content;
|
|
27
|
+
try {
|
|
28
|
+
const xhr = new XMLHttpRequest();
|
|
29
|
+
xhr.open("GET", "@@authenticator", false);
|
|
30
|
+
xhr.send(null);
|
|
31
|
+
const m = /value="([^"]+)"/.exec(xhr.responseText);
|
|
32
|
+
return m ? m[1] : "";
|
|
33
|
+
} catch (e) {
|
|
34
|
+
return "";
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// --- HTTP helper -------------------------------------------------------------
|
|
39
|
+
async function postProcess(url, payload) {
|
|
40
|
+
// const token = getCsrfTokenSync();
|
|
41
|
+
const resp = await fetch(url, {
|
|
42
|
+
method: "POST",
|
|
43
|
+
headers: {
|
|
44
|
+
Accept: "application/json",
|
|
45
|
+
"Content-Type": "application/json; charset=utf-8",
|
|
46
|
+
"X-CSRF-TOKEN": token,
|
|
47
|
+
},
|
|
48
|
+
credentials: "same-origin",
|
|
49
|
+
body: JSON.stringify(payload),
|
|
50
|
+
});
|
|
51
|
+
if (!resp.ok) {
|
|
52
|
+
const txt = await resp.text().catch(() => "");
|
|
53
|
+
throw new Error("HTTP " + resp.status + " – " + txt);
|
|
54
|
+
}
|
|
55
|
+
const ct = resp.headers.get("Content-Type") || "";
|
|
56
|
+
return ct.includes("application/json")
|
|
57
|
+
? resp.json()
|
|
58
|
+
: { html: await resp.text() };
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// --- UI helpers (spinner + disable button) -----------------------------------
|
|
62
|
+
function startProcessingUI(editor, btnApi) {
|
|
63
|
+
if (btnApi) btnApi.setEnabled(false);
|
|
64
|
+
editor.setProgressState?.(true); // spinner intégré TinyMCE
|
|
65
|
+
}
|
|
66
|
+
function stopProcessingUI(editor, btnApi) {
|
|
67
|
+
editor.setProgressState?.(false);
|
|
68
|
+
if (btnApi) btnApi.setEnabled(true);
|
|
69
|
+
}
|
|
70
|
+
async function withProcessingUI(editor, btnApi, fn) {
|
|
71
|
+
try {
|
|
72
|
+
startProcessingUI(editor, btnApi);
|
|
73
|
+
await fn();
|
|
74
|
+
stopProcessingUI(editor, btnApi);
|
|
75
|
+
editor.notificationManager.open({
|
|
76
|
+
text: "Terminé",
|
|
77
|
+
type: "success",
|
|
78
|
+
timeout: 1800,
|
|
79
|
+
});
|
|
80
|
+
} catch (e) {
|
|
81
|
+
console.error("[tinymce-process] error:", e);
|
|
82
|
+
stopProcessingUI(editor, btnApi);
|
|
83
|
+
editor.notificationManager.open({
|
|
84
|
+
text: "Échec du traitement",
|
|
85
|
+
type: "error",
|
|
86
|
+
timeout: 2500,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// --- Selection helper --------------------------------------------------------
|
|
92
|
+
function getSelectedHtml(editor) {
|
|
93
|
+
// TinyMCE renvoie du HTML formaté si on demande format:"html"
|
|
94
|
+
return editor.selection?.getContent({ format: "html" }) || "";
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
// --- Plugins -----------------------------------------------------------------
|
|
98
|
+
(function () {
|
|
99
|
+
if (!window.tinymce) return;
|
|
100
|
+
|
|
101
|
+
// ===== Plugin 1 : text_expand =====
|
|
102
|
+
tinymce.PluginManager.add("text_expand", function (editor) {
|
|
103
|
+
let btnApi = null;
|
|
104
|
+
|
|
105
|
+
editor.addCommand("textExpandRun", async function () {
|
|
106
|
+
const selectedHtml = getSelectedHtml(editor);
|
|
107
|
+
if (!selectedHtml.trim()) {
|
|
108
|
+
editor.notificationManager.open({
|
|
109
|
+
text: "Sélectionnez du texte à traiter.",
|
|
110
|
+
type: "warning",
|
|
111
|
+
timeout: 2000,
|
|
112
|
+
});
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// On mémorise la sélection avant l'appel async
|
|
117
|
+
const bookmark = editor.selection.getBookmark(2, true);
|
|
118
|
+
|
|
119
|
+
await withProcessingUI(editor, btnApi, async () => {
|
|
120
|
+
const data = await postProcess("@@process-textexpand", {
|
|
121
|
+
html: selectedHtml,
|
|
122
|
+
});
|
|
123
|
+
if (!data || typeof data.html !== "string")
|
|
124
|
+
throw new Error("Réponse invalide");
|
|
125
|
+
editor.undoManager.transact(() => {
|
|
126
|
+
editor.selection.moveToBookmark(bookmark);
|
|
127
|
+
editor.selection.setContent(data.html);
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
editor.ui.registry.addButton("text_expand", {
|
|
133
|
+
text: "Text expand",
|
|
134
|
+
tooltip: "Process text expand",
|
|
135
|
+
onAction: () => editor.execCommand("textExpandRun"),
|
|
136
|
+
onSetup: (api) => {
|
|
137
|
+
btnApi = api;
|
|
138
|
+
return () => (btnApi = null);
|
|
139
|
+
},
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
// ===== Plugin 2 : text_improve =====
|
|
144
|
+
tinymce.PluginManager.add("text_improve", function (editor) {
|
|
145
|
+
let btnApi = null;
|
|
146
|
+
|
|
147
|
+
editor.addCommand("textImproveRun", async function () {
|
|
148
|
+
const selectedHtml = getSelectedHtml(editor);
|
|
149
|
+
if (!selectedHtml.trim()) {
|
|
150
|
+
editor.notificationManager.open({
|
|
151
|
+
text: "Sélectionnez le passage pour améliorer le texte.",
|
|
152
|
+
type: "warning",
|
|
153
|
+
timeout: 2000,
|
|
154
|
+
});
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
const bookmark = editor.selection.getBookmark(2, true);
|
|
159
|
+
|
|
160
|
+
await withProcessingUI(editor, btnApi, async () => {
|
|
161
|
+
const data = await postProcess("@@process-textimprove", {
|
|
162
|
+
html: selectedHtml,
|
|
163
|
+
});
|
|
164
|
+
if (!data || typeof data.html !== "string")
|
|
165
|
+
throw new Error("Réponse invalide");
|
|
166
|
+
editor.undoManager.transact(() => {
|
|
167
|
+
editor.selection.moveToBookmark(bookmark);
|
|
168
|
+
editor.selection.setContent(data.html);
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
editor.ui.registry.addButton("text_improve", {
|
|
174
|
+
text: "Text improve",
|
|
175
|
+
tooltip: "Améliorer le texte",
|
|
176
|
+
onAction: () => editor.execCommand("textImproveRun"),
|
|
177
|
+
onSetup: (api) => {
|
|
178
|
+
btnApi = api;
|
|
179
|
+
return () => (btnApi = null);
|
|
180
|
+
},
|
|
181
|
+
});
|
|
182
|
+
});
|
|
183
|
+
|
|
184
|
+
// ===== Plugin 3 : text_shorter =====
|
|
185
|
+
tinymce.PluginManager.add("text_shorter", function (editor) {
|
|
186
|
+
let btnApi = null;
|
|
187
|
+
|
|
188
|
+
editor.addCommand("textShorterRun", async function () {
|
|
189
|
+
const selectedHtml = getSelectedHtml(editor);
|
|
190
|
+
if (!selectedHtml.trim()) {
|
|
191
|
+
editor.notificationManager.open({
|
|
192
|
+
text: "Sélectionnez le passage pour raccourcir le texte.",
|
|
193
|
+
type: "warning",
|
|
194
|
+
timeout: 2000,
|
|
195
|
+
});
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
const bookmark = editor.selection.getBookmark(2, true);
|
|
200
|
+
|
|
201
|
+
await withProcessingUI(editor, btnApi, async () => {
|
|
202
|
+
const data = await postProcess("@@process-textshorter", {
|
|
203
|
+
html: selectedHtml,
|
|
204
|
+
});
|
|
205
|
+
if (!data || typeof data.html !== "string")
|
|
206
|
+
throw new Error("Réponse invalide");
|
|
207
|
+
editor.undoManager.transact(() => {
|
|
208
|
+
editor.selection.moveToBookmark(bookmark);
|
|
209
|
+
editor.selection.setContent(data.html);
|
|
210
|
+
});
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
|
|
214
|
+
editor.ui.registry.addButton("text_shorter", {
|
|
215
|
+
text: "Text shorter",
|
|
216
|
+
tooltip: "Raccourcir le texte",
|
|
217
|
+
onAction: () => editor.execCommand("textShorterRun"),
|
|
218
|
+
onSetup: (api) => {
|
|
219
|
+
btnApi = api;
|
|
220
|
+
return () => (btnApi = null);
|
|
221
|
+
},
|
|
222
|
+
});
|
|
223
|
+
});
|
|
224
|
+
|
|
225
|
+
tinymce.PluginManager.add("ia", function (editor) {
|
|
226
|
+
// Déclare ton icône custom (injectée dans le registry de l’éditeur actif)
|
|
227
|
+
editor.ui.registry.addIcon(
|
|
228
|
+
"iacustom",
|
|
229
|
+
`
|
|
230
|
+
<svg width="32" height="20" viewBox="0 0 32 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
231
|
+
<path d="M25.8779 0.554711C26.0205 0.522358 26.0793 0.62971 26.1558 0.723826C26.5367 2.14881 26.9911 3.70321 28.1146 4.72231C29.0014 5.52819 30.2382 5.95024 31.3779 6.27671C31.5764 6.33406 32.1249 6.37082 31.9705 6.71641C31.897 6.87817 31.5602 6.90317 31.4102 6.94729C30.3043 7.27081 29.1029 7.67081 28.2279 8.41639C27.1323 9.34432 26.6132 10.8237 26.2396 12.1708C26.2146 12.2678 26.2029 12.4193 26.1661 12.5016C26.1588 12.5163 26.0558 12.6413 26.0455 12.6487C25.9102 12.7384 25.7632 12.6487 25.7088 12.5119C25.6793 12.4399 25.6426 12.3105 25.6205 12.2311C25.1043 10.384 24.5514 8.81197 22.7823 7.82963C21.9323 7.35758 21.047 7.17081 20.1279 6.87964C19.9485 6.82229 19.772 6.68111 19.9117 6.49435C20.025 6.33994 20.3367 6.32818 20.5044 6.27818C21.7926 5.88995 23.1161 5.44289 24.0485 4.41349C24.8352 3.54585 25.2499 2.33263 25.572 1.22529C25.6191 1.05618 25.6779 0.598828 25.8793 0.556181H25.8764L25.8779 0.554711Z" fill="#E6007E"/>
|
|
232
|
+
<path d="M5.88252 13.3328C5.65016 12.6681 5.49134 11.974 5.40752 11.2476C3.80164 12.0755 2.21783 13.0064 0.703125 14.0505C0.84136 13.9828 0.995771 13.9402 1.15901 13.9299C1.18695 13.9284 3.02959 13.8019 5.88399 13.3328H5.88252Z" fill="#7D1751"/>
|
|
233
|
+
<path d="M0.0154884 15.2306C-0.00362921 14.9438 0.0787234 14.6732 0.231664 14.4541C-0.0683348 14.86 -0.0859818 15.4261 0.231664 15.86C0.289017 15.9379 0.353722 16.0056 0.42431 16.0658C0.191958 15.8585 0.0375471 15.5644 0.0169589 15.2306H0.0154884Z" fill="#7D1751"/>
|
|
234
|
+
<path d="M0.494761 16.1246C0.482996 16.1158 0.471232 16.107 0.460938 16.0967C0.472702 16.1055 0.482996 16.1158 0.494761 16.1246Z" fill="#7D1751"/>
|
|
235
|
+
<path d="M10.3879 4.93377C11.7467 3.52937 13.4438 2.80732 15.407 2.80732C17.2555 2.80732 18.8349 3.44702 20.179 4.69407C21.1217 4.38966 22.0511 4.01172 22.7981 3.35732C22.6658 3.21026 22.5305 3.06467 22.3893 2.92203C20.4276 0.986754 18.0879 0 15.332 0C12.5761 0 10.2364 0.948519 8.27467 2.92203C6.31291 4.8573 5.33203 7.21169 5.33203 9.98077C5.33203 10.4131 5.3585 10.8352 5.40703 11.2469C6.37173 10.7499 7.34526 10.2911 8.31437 9.8646C8.34084 7.94256 9.02025 6.30875 10.3879 4.9323V4.93377Z" fill="#282828"/>
|
|
236
|
+
<path d="M22.4232 11.1017C22.21 12.6076 21.5512 13.9355 20.4262 15.0679C19.0306 16.4723 17.3703 17.1943 15.4071 17.1943C13.4439 17.1943 11.7836 16.4737 10.388 15.0679C10.3601 15.0385 10.3336 15.0076 10.3056 14.9782C9.13947 15.2355 8.04977 15.4473 7.05859 15.6208C7.41153 16.1282 7.81447 16.6149 8.27624 17.0781C10.238 19.0134 12.5777 20.0002 15.3336 20.0002C18.0894 20.0002 20.4291 19.0516 22.3909 17.0781C23.4262 16.037 24.185 14.8885 24.6747 13.6311C24.3571 12.5179 24.0085 11.5106 23.3659 10.6812C23.0527 10.8253 22.7394 10.965 22.4262 11.1017H22.4232Z" fill="#282828"/>
|
|
237
|
+
<path d="M7.05078 13.131C7.62137 13.028 8.22431 12.9119 8.85224 12.781C8.79195 12.6383 8.73607 12.4942 8.68607 12.3486C8.14048 12.5972 7.5949 12.8589 7.05078 13.131Z" fill="#282828"/>
|
|
238
|
+
<path d="M7.05183 13.1309C7.59595 12.8588 8.14153 12.5971 8.68712 12.3485C8.43565 11.6103 8.31065 10.8236 8.31065 9.98092C8.31065 9.94269 8.31212 9.90445 8.31359 9.86475C7.34448 10.2897 6.37242 10.75 5.40625 11.2471C5.49007 11.9735 5.6489 12.6677 5.88125 13.3324C6.25478 13.2706 6.64448 13.2044 7.05036 13.1309H7.05183Z" fill="#282828"/>
|
|
239
|
+
<path d="M0.509879 14.1822C0.573115 14.138 0.63782 14.0939 0.702526 14.0498C0.51135 14.1425 0.349586 14.2822 0.230469 14.4542C0.305468 14.3513 0.399586 14.2586 0.509879 14.1807V14.1822Z" fill="#E6007E"/>
|
|
240
|
+
<path d="M0.46011 16.0983C0.446875 16.088 0.43511 16.0777 0.421875 16.0674C0.43364 16.0777 0.446875 16.088 0.46011 16.0983Z" fill="#E6007E"/>
|
|
241
|
+
<path d="M1.94365 16.1454C1.49954 16.4571 0.911303 16.4322 0.492188 16.1248C0.718657 16.2983 1.00689 16.3939 1.31424 16.3748C1.43924 16.366 3.6657 16.216 7.0554 15.6204C6.62599 15.0013 6.27305 14.3528 6.00393 13.6689C4.61423 14.4101 3.24953 15.2322 1.94218 16.1454H1.94365Z" fill="#E6007E"/>
|
|
242
|
+
<path d="M22.4981 9.81896C22.3128 9.67926 22.1113 9.54691 21.8907 9.42485C21.6084 9.2675 21.3216 9.14397 21.0319 9.03662C17.2996 10.6278 13.6422 11.6851 10.7363 12.3675C10.0878 12.5204 9.45988 12.6572 8.85547 12.7822C9.18488 13.5689 9.6687 14.2983 10.3069 14.9777C10.6158 14.9101 10.9275 14.8395 11.2466 14.7645C13.0422 14.3454 15.1128 13.7866 17.3157 13.0557C18.9657 12.5057 20.6892 11.8586 22.426 11.1013C22.4775 10.7381 22.5039 10.3645 22.5039 9.9822C22.5039 9.92779 22.4995 9.87338 22.4995 9.81896H22.4981Z" fill="#E6007E"/>
|
|
243
|
+
<path d="M1.94679 16.1452C3.25267 15.232 4.61884 14.41 6.00854 13.6688C5.96442 13.557 5.92325 13.4453 5.88354 13.332C3.02914 13.8011 1.1865 13.9276 1.15856 13.9291C0.995325 13.9394 0.842385 13.982 0.702679 14.0497C0.639444 14.0938 0.574739 14.1364 0.510033 14.182C0.398269 14.26 0.305622 14.3526 0.230622 14.4555C0.0776816 14.6747 -0.00467104 14.9452 0.0144465 15.232C0.0365053 15.5673 0.189446 15.8614 0.421798 16.0673C0.433563 16.0776 0.446798 16.0879 0.460033 16.0982C0.471798 16.107 0.482092 16.1173 0.493856 16.1261C0.911502 16.4335 1.49974 16.457 1.94532 16.1467L1.94679 16.1452Z" fill="#E6007E"/>
|
|
244
|
+
<path d="M8.85486 12.7803C8.22692 12.9097 7.62545 13.0259 7.0534 13.1303C6.7034 13.3053 6.35487 13.4832 6.00781 13.6685C6.27693 14.3523 6.6284 15.0008 7.05928 15.6199C8.05045 15.4464 9.14015 15.2347 10.3063 14.9773C9.66662 14.2979 9.18427 13.5685 8.85486 12.7817V12.7803Z" fill="#E6007E"/>
|
|
245
|
+
<path d="M22.4974 9.81885C22.4974 9.87326 22.5018 9.9262 22.5018 9.98208C22.5018 10.3659 22.4753 10.738 22.4238 11.1012C22.7371 10.9644 23.0503 10.8247 23.3635 10.6806C23.1209 10.3674 22.8385 10.0777 22.4959 9.81885H22.4974Z" fill="#E6007E"/>
|
|
246
|
+
<path d="M6.00634 13.6691C6.3534 13.4838 6.70193 13.3059 7.05193 13.1309C6.64605 13.2044 6.25487 13.272 5.88281 13.3323C5.92252 13.4456 5.96369 13.5573 6.00781 13.6691H6.00634Z" fill="#E6007E"/>
|
|
247
|
+
</svg>
|
|
248
|
+
`
|
|
249
|
+
);
|
|
250
|
+
|
|
251
|
+
editor.ui.registry.addIcon(
|
|
252
|
+
"iashorter",
|
|
253
|
+
`
|
|
254
|
+
<svg width="100" height="96" viewBox="0 0 100 96" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
255
|
+
<path d="M33.4583 44.1499H4.04167C1.80952 44.1499 0 45.9673 0 48.2092V50.6782C0 52.9201 1.80952 54.7375 4.04167 54.7375H33.4583C35.6905 54.7375 37.5 52.9201 37.5 50.6782V48.2092C37.5 45.9673 35.6905 44.1499 33.4583 44.1499Z" fill="#282828"/>
|
|
256
|
+
<path d="M70.9583 22.5981H4.04167C1.80952 22.5981 0 24.4155 0 26.6574V29.1265C0 31.3684 1.80952 33.1858 4.04167 33.1858H70.9583C73.1905 33.1858 75 31.3684 75 29.1265V26.6574C75 24.4155 73.1905 22.5981 70.9583 22.5981Z" fill="#282828"/>
|
|
257
|
+
<path d="M95.9583 0H4.04167C1.80952 0 0 1.8174 0 4.05929V6.52833C0 8.77022 1.80952 10.5876 4.04167 10.5876H95.9583C98.1905 10.5876 100 8.77022 100 6.52833V4.05929C100 1.8174 98.1905 0 95.9583 0Z" fill="#282828"/>
|
|
258
|
+
<path d="M74.7917 49.4646C75.3333 49.3391 75.5417 49.7576 75.875 50.1342C77.3333 55.6163 79.0833 61.5588 83.375 65.4925C86.75 68.5893 91.5 70.2214 95.8333 71.4768C96.5833 71.6861 98.7083 71.8535 98.0833 73.1508C97.7917 73.7785 96.5 73.8622 95.9583 74.0296C91.75 75.285 87.125 76.7916 83.7917 79.6791C79.625 83.2362 77.625 88.9276 76.2083 94.0749C76.125 94.4515 76.0833 95.0374 75.9167 95.3304C75.9167 95.3722 75.5 95.8744 75.4583 95.9162C74.9583 96.251 74.375 95.9162 74.1667 95.3722C74.0417 95.0793 73.9167 94.6189 73.8333 94.2842C71.875 87.2118 69.75 81.1438 63 77.3774C59.75 75.578 56.375 74.8665 52.875 73.7366C52.2083 73.5274 51.5 72.9834 52.0417 72.2719C52.4583 71.6861 53.6667 71.6442 54.2917 71.435C59.2083 69.9284 64.25 68.2127 67.8333 64.2789C70.8333 60.9311 72.4167 56.2859 73.6667 52.0592C73.8333 51.3896 74.0833 49.6739 74.8333 49.5065L74.7917 49.4646Z" fill="#E6007E"/>
|
|
259
|
+
</svg>
|
|
260
|
+
|
|
261
|
+
`
|
|
262
|
+
);
|
|
263
|
+
|
|
264
|
+
editor.ui.registry.addIcon(
|
|
265
|
+
"iaexpand",
|
|
266
|
+
`
|
|
267
|
+
<svg width="100" height="96" viewBox="0 0 100 96" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
268
|
+
<path d="M33.4583 51.8501L4.04167 51.8501C1.80952 51.8501 -1.58883e-07 50.0327 -3.54874e-07 47.7908L-5.70725e-07 45.3218C-7.66716e-07 43.0799 1.80951 41.2625 4.04167 41.2625L33.4583 41.2625C35.6905 41.2625 37.5 43.0799 37.5 45.3218L37.5 47.7908C37.5 50.0327 35.6905 51.8501 33.4583 51.8501Z" fill="#282828"/>
|
|
269
|
+
<path d="M70.9583 73.4019L4.04167 73.4019C1.80952 73.4019 -1.58882e-07 71.5845 -3.54874e-07 69.3426L-5.70725e-07 66.8735C-7.66717e-07 64.6316 1.80951 62.8142 4.04167 62.8142L70.9583 62.8142C73.1905 62.8142 75 64.6316 75 66.8735L75 69.3426C75 71.5845 73.1905 73.4019 70.9583 73.4019Z" fill="#282828"/>
|
|
270
|
+
<path d="M95.9583 96L4.04167 96C1.80952 96 -1.58882e-07 94.1826 -3.54874e-07 91.9407L-5.70725e-07 89.4717C-7.66717e-07 87.2298 1.80951 85.4124 4.04167 85.4124L95.9583 85.4124C98.1905 85.4124 100 87.2298 100 89.4717L100 91.9407C100 94.1826 98.1905 96 95.9583 96Z" fill="#282828"/>
|
|
271
|
+
<path d="M77.4056 46.5354C76.8639 46.6609 76.6556 46.2424 76.3223 45.8658C74.8639 40.3837 73.1139 34.4412 68.8223 30.5075C65.4473 27.4107 60.6973 25.7786 56.3639 24.5232C55.6139 24.3139 53.4889 24.1465 54.1139 22.8492C54.4056 22.2215 55.6973 22.1378 56.2389 21.9704C60.4473 20.715 65.0723 19.2084 68.4056 16.3209C72.5723 12.7638 74.5723 7.07244 75.9889 1.9251C76.0723 1.54846 76.1139 0.962584 76.2806 0.669646C76.2806 0.627795 76.6973 0.125621 76.7389 0.0837698C77.2389 -0.251016 77.8223 0.0837661 78.0306 0.627795C78.1556 0.920734 78.2806 1.38106 78.3639 1.71585C80.3223 8.78821 82.4473 14.8562 89.1973 18.6226C92.4473 20.422 95.8223 21.1335 99.3223 22.2634C99.9889 22.4726 100.697 23.0166 100.156 23.7281C99.7389 24.3139 98.5306 24.3558 97.9056 24.565C92.9889 26.0716 87.9473 27.7873 84.3639 31.7211C81.3639 35.069 79.7806 39.7141 78.5306 43.9408C78.3639 44.6104 78.1139 46.3261 77.3639 46.4935L77.4056 46.5354Z" fill="#E6007E"/>
|
|
272
|
+
</svg>
|
|
273
|
+
|
|
274
|
+
`
|
|
275
|
+
);
|
|
276
|
+
|
|
277
|
+
editor.ui.registry.addIcon(
|
|
278
|
+
"iaimprove",
|
|
279
|
+
`
|
|
280
|
+
<svg width="100" height="102" viewBox="0 0 100 102" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
281
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M67.3925 22.0785C65.1216 19.8554 61.486 19.8554 59.2179 22.0785L1.40159 80.4139C-0.467197 82.5974 -0.467197 85.8133 1.40159 87.9968L13.6648 100.246C16.0008 102.58 19.5034 102.58 21.8422 100.246L80.2418 42.4937C81.9945 40.743 81.9945 36.6616 80.2418 34.3282L67.7662 22.4575L67.3953 22.0785H67.3925ZM75.5698 38.4124L63.8899 26.7453L46.9066 43.0311L58.5186 55.3346L75.5698 38.4152V38.4124Z" fill="#282828"/>
|
|
282
|
+
<path d="M87.7392 53.6969C88.0252 53.6319 88.1413 53.8468 88.297 54.0363C89.0587 56.8902 89.9704 60.0014 92.2215 62.0407C93.9968 63.6557 96.4772 64.4985 98.7594 65.1519C99.1558 65.2678 100.257 65.3386 99.9486 66.0315C99.8014 66.3568 99.1275 66.4049 98.8245 66.4925C96.6074 67.1402 94.2035 67.9407 92.448 69.4312C90.2536 71.2895 89.2116 74.2508 88.4641 76.9462C88.4131 77.1414 88.3904 77.444 88.3168 77.6081C88.3027 77.6364 88.096 77.8881 88.0761 77.9022C87.8043 78.0832 87.5098 77.9022 87.4022 77.6279C87.3428 77.4836 87.2692 77.2234 87.2267 77.065C86.1932 73.3683 85.0833 70.2203 81.5411 68.2546C79.8393 67.3099 78.064 66.9366 76.2207 66.3539C75.8611 66.238 75.51 65.958 75.7874 65.5818C76.014 65.2707 76.6397 65.2509 76.9767 65.149C79.559 64.3712 82.2093 63.4775 84.0781 61.4184C85.6552 59.6818 86.4848 57.255 87.1304 55.0347C87.2267 54.6953 87.3428 53.7818 87.7477 53.6941H87.742L87.7392 53.6969Z" fill="#E6007E"/>
|
|
283
|
+
<path d="M87.7392 0.0113778C88.0252 -0.0536751 88.1413 0.161282 88.297 0.350784C89.0587 3.20462 89.9704 6.31584 92.2215 8.35511C93.9968 9.97012 96.4772 10.813 98.7594 11.4663C99.1558 11.5823 100.257 11.653 99.9486 12.346C99.8014 12.6712 99.1275 12.7193 98.8245 12.807C96.6074 13.4547 94.2035 14.2551 92.448 15.7457C90.2536 17.6039 89.2116 20.5652 88.4641 23.2607C88.4131 23.4558 88.3904 23.7585 88.3168 23.9225C88.3027 23.9508 88.096 24.2025 88.0761 24.2167C87.8043 24.3977 87.5098 24.2167 87.4022 23.9423C87.3428 23.7981 87.2692 23.5379 87.2267 23.3795C86.1932 19.6828 85.0833 16.5348 81.5411 14.5691C79.8393 13.6244 78.064 13.251 76.2207 12.6684C75.8611 12.5524 75.51 12.2724 75.7874 11.8962C76.014 11.5851 76.6397 11.5653 76.9767 11.4635C79.559 10.6857 82.2093 9.79193 84.0781 7.73286C85.6552 5.99624 86.4848 3.56948 87.1304 1.3492C87.2267 1.0098 87.3428 0.0962293 87.7477 0.00854938H87.742L87.7392 0.0113778Z" fill="#E6007E"/>
|
|
284
|
+
<path d="M36.6279 0.0113778C36.9139 -0.0536751 37.0299 0.161282 37.1857 0.350784C37.9473 3.20462 38.8591 6.31584 41.1101 8.35511C42.8855 9.97012 45.3659 10.813 47.6481 11.4663C48.0445 11.5823 49.1459 11.653 48.8373 12.346C48.6901 12.6712 48.0162 12.7193 47.7132 12.807C45.4961 13.4547 43.0922 14.2551 41.3367 15.7457C39.1422 17.6039 38.1002 20.5652 37.3527 23.2607C37.3018 23.4558 37.2791 23.7585 37.2055 23.9225C37.1913 23.9508 36.9846 24.2025 36.9648 24.2167C36.693 24.3977 36.3985 24.2167 36.2909 23.9423C36.2315 23.7981 36.1578 23.5379 36.1154 23.3795C35.0819 19.6828 33.9719 16.5348 30.4297 14.5691C28.728 13.6244 26.9526 13.251 25.1093 12.6684C24.7497 12.5524 24.3986 12.2724 24.6761 11.8962C24.9026 11.5851 25.5284 11.5653 25.8653 11.4635C28.4477 10.6857 31.098 9.79193 32.9667 7.73286C34.5439 5.99624 35.3735 3.56948 36.0191 1.3492C36.1154 1.0098 36.2315 0.0962293 36.6364 0.00854938H36.6307L36.6279 0.0113778Z" fill="#E6007E"/>
|
|
285
|
+
</svg>
|
|
286
|
+
`
|
|
287
|
+
);
|
|
288
|
+
|
|
289
|
+
editor.ui.registry.addMenuButton("ia", {
|
|
290
|
+
text: "",
|
|
291
|
+
tooltip: "Outils IA",
|
|
292
|
+
icon: "iacustom", // 👈 maintenant ça marche
|
|
293
|
+
fetch: (callback) => {
|
|
294
|
+
callback([
|
|
295
|
+
{
|
|
296
|
+
type: "menuitem",
|
|
297
|
+
text: tinymce.i18n.translate("text_expand_label"),
|
|
298
|
+
icon: "iaexpand",
|
|
299
|
+
onAction: () => editor.execCommand("textExpandRun"),
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
type: "menuitem",
|
|
303
|
+
text: tinymce.i18n.translate("text_improve_label"),
|
|
304
|
+
icon: "iaimprove",
|
|
305
|
+
onAction: () => editor.execCommand("textImproveRun"),
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
type: "menuitem",
|
|
309
|
+
text: tinymce.i18n.translate("text_shorter_label"),
|
|
310
|
+
icon: "iashorter",
|
|
311
|
+
onAction: () => editor.execCommand("textShorterRun"),
|
|
312
|
+
},
|
|
313
|
+
]);
|
|
314
|
+
},
|
|
315
|
+
});
|
|
316
|
+
});
|
|
317
|
+
})();
|
|
File without changes
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<configure
|
|
2
|
+
xmlns="http://namespaces.zope.org/zope"
|
|
3
|
+
xmlns:browser="http://namespaces.zope.org/browser"
|
|
4
|
+
xmlns:plone="http://namespaces.plone.org/plone"
|
|
5
|
+
xmlns:z3c="http://namespaces.zope.org/z3c"
|
|
6
|
+
>
|
|
7
|
+
|
|
8
|
+
<browser:page
|
|
9
|
+
name="process-textexpand"
|
|
10
|
+
for="*"
|
|
11
|
+
class=".process.ProcessTextExpandView"
|
|
12
|
+
permission="cmf.ModifyPortalContent"
|
|
13
|
+
/>
|
|
14
|
+
|
|
15
|
+
<browser:page
|
|
16
|
+
name="process-textimprove"
|
|
17
|
+
for="*"
|
|
18
|
+
class=".process.ProcessTextImproveView"
|
|
19
|
+
permission="cmf.ModifyPortalContent"
|
|
20
|
+
/>
|
|
21
|
+
|
|
22
|
+
<browser:page
|
|
23
|
+
name="process-textshorter"
|
|
24
|
+
for="*"
|
|
25
|
+
class=".process.ProcessTextShorterView"
|
|
26
|
+
permission="cmf.ModifyPortalContent"
|
|
27
|
+
/>
|
|
28
|
+
|
|
29
|
+
</configure>
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# src/your.pkg/browser/process.py
|
|
2
|
+
from imio.smartweb.common.browser.ia import BaseIAView
|
|
3
|
+
from imio.smartweb.common.config import IPA_URL
|
|
4
|
+
|
|
5
|
+
import json
|
|
6
|
+
import requests
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class ProcessTextExpandView(BaseIAView):
|
|
10
|
+
|
|
11
|
+
def __call__(self):
|
|
12
|
+
self.request.response.setHeader(
|
|
13
|
+
"Content-Type", "application/json; charset=utf-8"
|
|
14
|
+
)
|
|
15
|
+
body = self.request.get("BODY", b"") or self.request.stdin.read() or b""
|
|
16
|
+
try:
|
|
17
|
+
data = json.loads(body.decode("utf-8"))
|
|
18
|
+
except Exception:
|
|
19
|
+
data = {}
|
|
20
|
+
current_html = data.get("html", "")
|
|
21
|
+
payload = {
|
|
22
|
+
"input": current_html,
|
|
23
|
+
"expansion_target": 50,
|
|
24
|
+
}
|
|
25
|
+
url = f"{IPA_URL}/expand-text"
|
|
26
|
+
response = requests.post(url, headers=self.headers, json=payload)
|
|
27
|
+
if response.status_code != 200:
|
|
28
|
+
return current_html
|
|
29
|
+
data = response.json()
|
|
30
|
+
if not data:
|
|
31
|
+
return current_html
|
|
32
|
+
|
|
33
|
+
new_html = data.get("result")
|
|
34
|
+
return json.dumps({"html": new_html})
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class ProcessTextShorterView(BaseIAView):
|
|
38
|
+
|
|
39
|
+
def __call__(self):
|
|
40
|
+
self.request.response.setHeader(
|
|
41
|
+
"Content-Type", "application/json; charset=utf-8"
|
|
42
|
+
)
|
|
43
|
+
body = self.request.get("BODY", b"") or self.request.stdin.read() or b""
|
|
44
|
+
try:
|
|
45
|
+
data = json.loads(body.decode("utf-8"))
|
|
46
|
+
except Exception:
|
|
47
|
+
data = {}
|
|
48
|
+
current_html = data.get("html", "")
|
|
49
|
+
payload = {
|
|
50
|
+
"input": current_html,
|
|
51
|
+
"reduction_target": 50,
|
|
52
|
+
}
|
|
53
|
+
url = f"{IPA_URL}/reduce-text"
|
|
54
|
+
response = requests.post(url, headers=self.headers, json=payload)
|
|
55
|
+
if response.status_code != 200:
|
|
56
|
+
return current_html
|
|
57
|
+
data = response.json()
|
|
58
|
+
if not data:
|
|
59
|
+
return current_html
|
|
60
|
+
|
|
61
|
+
new_html = data.get("result")
|
|
62
|
+
return json.dumps({"html": new_html})
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
class ProcessTextImproveView(BaseIAView):
|
|
66
|
+
|
|
67
|
+
def __call__(self):
|
|
68
|
+
self.request.response.setHeader(
|
|
69
|
+
"Content-Type", "application/json; charset=utf-8"
|
|
70
|
+
)
|
|
71
|
+
body = self.request.get("BODY", b"") or self.request.stdin.read() or b""
|
|
72
|
+
try:
|
|
73
|
+
data = json.loads(body.decode("utf-8"))
|
|
74
|
+
except Exception:
|
|
75
|
+
data = {}
|
|
76
|
+
current_html = data.get("html", "")
|
|
77
|
+
payload = {"input": current_html}
|
|
78
|
+
url = f"{IPA_URL}/improve-text"
|
|
79
|
+
response = requests.post(url, headers=self.headers, json=payload)
|
|
80
|
+
if response.status_code != 200:
|
|
81
|
+
return current_html
|
|
82
|
+
data = response.json()
|
|
83
|
+
if not data:
|
|
84
|
+
return current_html
|
|
85
|
+
|
|
86
|
+
new_html = data.get("result")
|
|
87
|
+
return json.dumps({"html": new_html})
|
imio/smartweb/common/config.py
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import os
|
|
2
|
+
|
|
1
3
|
# Used to limit description field on all content types
|
|
2
4
|
DESCRIPTION_MAX_LENGTH = 700
|
|
3
5
|
|
|
@@ -12,3 +14,9 @@ VOCABULARIES_MAPPING = {
|
|
|
12
14
|
TRANSLATED_VOCABULARIES = [
|
|
13
15
|
"imio.smartweb.vocabulary.Countries",
|
|
14
16
|
]
|
|
17
|
+
|
|
18
|
+
IPA_URL = os.environ.get("IPA_URL", "https://ipa-staging.imio.be/imio/ai/v1/agents")
|
|
19
|
+
|
|
20
|
+
APPLICATION_ID = os.environ.get("application_id", "iA.Smartweb")
|
|
21
|
+
|
|
22
|
+
PROJECT_ID = os.environ.get("PROJECT_ID", "smartweb")
|
|
@@ -63,6 +63,21 @@
|
|
|
63
63
|
</value>
|
|
64
64
|
</record>
|
|
65
65
|
|
|
66
|
+
<record name="plone.custom_plugins"
|
|
67
|
+
interface="Products.CMFPlone.interfaces.controlpanel.ITinyMCESchema"
|
|
68
|
+
field="custom_plugins">
|
|
69
|
+
<field type="plone.registry.field.List">
|
|
70
|
+
<value_type type="plone.registry.field.TextLine" />
|
|
71
|
+
</field>
|
|
72
|
+
<value>
|
|
73
|
+
<element>text_expand|++resource++tinymce.js</element>
|
|
74
|
+
<element>text_shorter|++resource++tinymce.js</element>
|
|
75
|
+
<element>text_improve|++resource++tinymce.js</element>
|
|
76
|
+
<element>ia|++resource++tinymce.js</element>
|
|
77
|
+
<element>ia_menuitems|++resource++tinymce.js</element>
|
|
78
|
+
</value>
|
|
79
|
+
</record>
|
|
80
|
+
|
|
66
81
|
<!-- See possible values in https://www.tiny.cloud/docs/tinymce/latest/menus-configuration-options/#menubar -->
|
|
67
82
|
<record interface="plone.base.interfaces.controlpanel.ITinyMCESchema"
|
|
68
83
|
name="plone.menubar"
|
|
@@ -107,6 +122,10 @@
|
|
|
107
122
|
"view": {
|
|
108
123
|
"title": "View",
|
|
109
124
|
"items": "visualblocks preview fullscreen"
|
|
125
|
+
},
|
|
126
|
+
"ia_menuitems": {
|
|
127
|
+
"title": "IA",
|
|
128
|
+
"items": "ia_text_expand ia_text_shorter ia_text_improve"
|
|
110
129
|
}
|
|
111
130
|
}
|
|
112
131
|
</value>
|
|
@@ -116,7 +135,7 @@
|
|
|
116
135
|
<record interface="plone.base.interfaces.controlpanel.ITinyMCESchema"
|
|
117
136
|
name="plone.toolbar"
|
|
118
137
|
>
|
|
119
|
-
<value>undo redo | styleselect | bold italic superscript | bullist numlist | nonbreaking | plonelink unlink | fullscreen</value>
|
|
138
|
+
<value>undo redo | styleselect | bold italic superscript | bullist numlist | nonbreaking | plonelink unlink | fullscreen | ia</value>
|
|
120
139
|
</record>
|
|
121
140
|
|
|
122
141
|
|
|
@@ -102,6 +102,22 @@ class TestUtils(unittest.TestCase):
|
|
|
102
102
|
self.assertEqual(obj.geolocation.latitude, 1)
|
|
103
103
|
self.assertEqual(obj.geolocation.longitude, 2)
|
|
104
104
|
|
|
105
|
+
def test_geocode_object_geocoder_unavailable(self):
|
|
106
|
+
obj = GeolocatedObject()
|
|
107
|
+
obj.street = "Test Street"
|
|
108
|
+
obj.number = "1"
|
|
109
|
+
obj.complement = ""
|
|
110
|
+
obj.zipcode = "12345"
|
|
111
|
+
obj.city = "Testville"
|
|
112
|
+
obj.country = "be"
|
|
113
|
+
with patch("geopy.geocoders.Nominatim") as mock_nominatim, patch(
|
|
114
|
+
"geopy.exc.GeocoderUnavailable", new=geopy.exc.GeocoderUnavailable
|
|
115
|
+
):
|
|
116
|
+
instance = mock_nominatim.return_value
|
|
117
|
+
instance.geocode.side_effect = geopy.exc.GeocoderUnavailable
|
|
118
|
+
result = geocode_object(obj)
|
|
119
|
+
self.assertFalse(result)
|
|
120
|
+
|
|
105
121
|
def test_get_uncroppable_scales_infos(self):
|
|
106
122
|
folder = api.content.create(
|
|
107
123
|
container=self.portal,
|
|
@@ -171,7 +171,15 @@
|
|
|
171
171
|
description="Update configuration from TinyMCE 7.7.0 to be TinyMCE 7.9.1"
|
|
172
172
|
provides="Products.GenericSetup.interfaces.EXTENSION"
|
|
173
173
|
directory="profiles/1033_to_1034"
|
|
174
|
-
/>
|
|
174
|
+
/>
|
|
175
|
+
|
|
176
|
+
<genericsetup:registerProfile
|
|
177
|
+
name="upgrade_1034_to_1035"
|
|
178
|
+
title="Upgrade common from 1034 to 1035"
|
|
179
|
+
description="Add IA buttons to TinyMCE"
|
|
180
|
+
provides="Products.GenericSetup.interfaces.EXTENSION"
|
|
181
|
+
directory="profiles/1034_to_1035"
|
|
182
|
+
/>
|
|
175
183
|
|
|
176
184
|
<genericsetup:upgradeStep
|
|
177
185
|
title="Configure first official release"
|
|
@@ -534,4 +542,15 @@
|
|
|
534
542
|
/>
|
|
535
543
|
</genericsetup:upgradeSteps>
|
|
536
544
|
|
|
545
|
+
<genericsetup:upgradeSteps
|
|
546
|
+
profile="imio.smartweb.common:default"
|
|
547
|
+
source="1034"
|
|
548
|
+
destination="1035"
|
|
549
|
+
>
|
|
550
|
+
<genericsetup:upgradeDepends
|
|
551
|
+
title="Add IA buttons to TinyMCE"
|
|
552
|
+
import_profile="imio.smartweb.common.upgrades:upgrade_1034_to_1035"
|
|
553
|
+
/>
|
|
554
|
+
</genericsetup:upgradeSteps>
|
|
555
|
+
|
|
537
556
|
</configure>
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<registry>
|
|
3
|
+
|
|
4
|
+
<record name="plone.custom_plugins"
|
|
5
|
+
interface="Products.CMFPlone.interfaces.controlpanel.ITinyMCESchema"
|
|
6
|
+
field="custom_plugins"
|
|
7
|
+
>
|
|
8
|
+
<field type="plone.registry.field.List">
|
|
9
|
+
<value_type type="plone.registry.field.TextLine" />
|
|
10
|
+
</field>
|
|
11
|
+
<value>
|
|
12
|
+
<element>text_expand|++resource++tinymce.js</element>
|
|
13
|
+
<element>text_shorter|++resource++tinymce.js</element>
|
|
14
|
+
<element>text_improve|++resource++tinymce.js</element>
|
|
15
|
+
<element>ia|++resource++tinymce.js</element>
|
|
16
|
+
<element>ia_menuitems|++resource++tinymce.js</element>
|
|
17
|
+
</value>
|
|
18
|
+
</record>
|
|
19
|
+
|
|
20
|
+
<record interface="plone.base.interfaces.controlpanel.ITinyMCESchema"
|
|
21
|
+
name="plone.menu"
|
|
22
|
+
>
|
|
23
|
+
<value purge="true">
|
|
24
|
+
{
|
|
25
|
+
"file": {
|
|
26
|
+
"title": "File",
|
|
27
|
+
"items": ""
|
|
28
|
+
},
|
|
29
|
+
"tools": {
|
|
30
|
+
"title": "Tools",
|
|
31
|
+
"items": ""
|
|
32
|
+
},
|
|
33
|
+
"table": {
|
|
34
|
+
"title": "Table",
|
|
35
|
+
"items": ""
|
|
36
|
+
},
|
|
37
|
+
"edit": {
|
|
38
|
+
"title": "Edit",
|
|
39
|
+
"items": "undo redo | cut copy paste | searchreplace selectall"
|
|
40
|
+
},
|
|
41
|
+
"format": {
|
|
42
|
+
"title": "Format",
|
|
43
|
+
"items": ""
|
|
44
|
+
},
|
|
45
|
+
"insert": {
|
|
46
|
+
"title": "Insert",
|
|
47
|
+
"items": "hr"
|
|
48
|
+
},
|
|
49
|
+
"table": {
|
|
50
|
+
"title": "Table",
|
|
51
|
+
"items": "inserttable deletetable | cell row column"
|
|
52
|
+
},
|
|
53
|
+
"view": {
|
|
54
|
+
"title": "View",
|
|
55
|
+
"items": "visualblocks preview fullscreen"
|
|
56
|
+
},
|
|
57
|
+
"ia_menuitems": {
|
|
58
|
+
"title": "IA",
|
|
59
|
+
"items": "ia_text_expand ia_text_shorter ia_text_improve"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
</value>
|
|
63
|
+
</record>
|
|
64
|
+
|
|
65
|
+
<record interface="plone.base.interfaces.controlpanel.ITinyMCESchema"
|
|
66
|
+
name="plone.toolbar"
|
|
67
|
+
>
|
|
68
|
+
<value>undo redo | styleselect | bold italic superscript | bullist numlist | nonbreaking | plonelink unlink | fullscreen | ia</value>
|
|
69
|
+
</record>
|
|
70
|
+
|
|
71
|
+
</registry>
|
imio/smartweb/common/utils.py
CHANGED
|
@@ -14,6 +14,7 @@ from plone.namedfile.field import NamedBlobImage
|
|
|
14
14
|
from plone.namedfile.interfaces import IAvailableSizes
|
|
15
15
|
from urllib.parse import urlparse
|
|
16
16
|
from zope.component import getUtility
|
|
17
|
+
from zope.globalrequest import getRequest
|
|
17
18
|
from zope.i18n import translate
|
|
18
19
|
from zope.schema import getFields
|
|
19
20
|
from zope.schema.interfaces import IVocabularyFactory
|
|
@@ -77,7 +78,18 @@ def geocode_object(obj):
|
|
|
77
78
|
if not address:
|
|
78
79
|
return
|
|
79
80
|
geolocator = geopy.geocoders.Nominatim(user_agent="contact@imio.be", timeout=3)
|
|
80
|
-
location =
|
|
81
|
+
location = None
|
|
82
|
+
try:
|
|
83
|
+
location = geolocator.geocode(address)
|
|
84
|
+
except geopy.exc.GeocoderUnavailable:
|
|
85
|
+
api.portal.show_message(
|
|
86
|
+
_(
|
|
87
|
+
"Error: Geolocation service is unavailable. Your content is not geocoded."
|
|
88
|
+
),
|
|
89
|
+
request=getRequest(),
|
|
90
|
+
type="warning",
|
|
91
|
+
)
|
|
92
|
+
return False
|
|
81
93
|
if location:
|
|
82
94
|
obj.geolocation = Geolocation(
|
|
83
95
|
latitude=location.latitude, longitude=location.longitude
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: imio.smartweb.common
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.41
|
|
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,27 @@ Changelog
|
|
|
178
178
|
=========
|
|
179
179
|
|
|
180
180
|
|
|
181
|
+
1.2.41 (2025-11-28)
|
|
182
|
+
-------------------
|
|
183
|
+
|
|
184
|
+
- IAK-77 : IPA : Change icon with omnia set
|
|
185
|
+
[thomlamb]
|
|
186
|
+
|
|
187
|
+
- IAK-77 : IPA : Add new header to queries + some Refactoring
|
|
188
|
+
[boulch]
|
|
189
|
+
|
|
190
|
+
- IAK-77 : IPA : Add IA buttons to TinyMCE + fix payload
|
|
191
|
+
[boulch]
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
1.2.40 (2025-11-05)
|
|
195
|
+
-------------------
|
|
196
|
+
|
|
197
|
+
- Catch Exception on geocoding to avoid blocking content creation
|
|
198
|
+
if geopy service is down
|
|
199
|
+
[remdub]
|
|
200
|
+
|
|
201
|
+
|
|
181
202
|
1.2.39 (2025-11-03)
|
|
182
203
|
-------------------
|
|
183
204
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
imio.smartweb.common-1.2.
|
|
1
|
+
imio.smartweb.common-1.2.41-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
|
-
imio/smartweb/common/config.py,sha256=
|
|
7
|
+
imio/smartweb/common/config.py,sha256=gAw_y3C-qQRdYB-9FEnRznX-hMU5jV5FIoVBOUjsBho,653
|
|
8
8
|
imio/smartweb/common/configure.zcml,sha256=Ypqlo27RCC_w48QaQ0xucQRDjIBs9VpdtoJSjionK6Y,1128
|
|
9
9
|
imio/smartweb/common/contact_utils.py,sha256=Pr-Nhz9MRnfirZ7RbmF5JZw9fX4gWa0dWkvJlQBiDKY,11341
|
|
10
10
|
imio/smartweb/common/indexers.py,sha256=TvvKglWI0JM5_jwetlpvqcjwkid_2PhaCZGKZV4sD34,1148
|
|
@@ -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=
|
|
23
|
+
imio/smartweb/common/utils.py,sha256=Or5oV0l33wuoc9-Y4WDeVjXzGgluFZVyQWBoc_PRUjo,8195
|
|
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
|
|
@@ -30,12 +30,13 @@ imio/smartweb/common/behaviors/iam.py,sha256=17ON7M6FHXOM_8NOHT_QnJJuAIs4diWCrgu
|
|
|
30
30
|
imio/smartweb/common/behaviors/topics.py,sha256=K9XkhTBxxp_nBBeQ-ovUpmOc6raXIiYqmzJtlKVdhbI,863
|
|
31
31
|
imio/smartweb/common/browser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
32
|
imio/smartweb/common/browser/collective_taxonomy_controlpanel.py,sha256=vHSd1rSlfK1SI4o9BIYIWIsh6S9QuHgkSZokoKEDFGM,1784
|
|
33
|
-
imio/smartweb/common/browser/configure.zcml,sha256=
|
|
33
|
+
imio/smartweb/common/browser/configure.zcml,sha256=h9W0VvwUxN0lcKv24hmaenGjHqCzYDVc-PMoK9DprfI,3676
|
|
34
34
|
imio/smartweb/common/browser/cropping.py,sha256=MjnXr-sfzjbJnscuX6rfyyEiwTmH9Pmu0sh_WirNnUk,2686
|
|
35
35
|
imio/smartweb/common/browser/description.pt,sha256=ZXKpsMQDJGC0dxVUg5v1W6LsG1_OWuYuWevZuF-Zn2Y,151
|
|
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
|
|
39
40
|
imio/smartweb/common/browser/scaling.py,sha256=aBmuMyzy2s_5PCfkyvxJiARHowpck1BOva8RKEJSVso,297
|
|
40
41
|
imio/smartweb/common/browser/vocabulary.py,sha256=XXFuV1nYvu7s8j7tufrg33AmpaNgTIHl13VzEK0ro34,905
|
|
41
42
|
imio/smartweb/common/browser/overrides/plone.app.z3cform.templates.widget.pt,sha256=5ODz0fk4QW4docMHdVzHDst2OkFQZBy5RAifU4pR3EM,1818
|
|
@@ -47,14 +48,19 @@ imio/smartweb/common/browser/privacy/views.py,sha256=RITfvlYcWG43Zssy46q3Izt-fDY
|
|
|
47
48
|
imio/smartweb/common/browser/static/Makefile,sha256=LtPs80oJtQ7OWohNU9C60gRVBfN3p0N8ki158FKU7pg,351
|
|
48
49
|
imio/smartweb/common/browser/static/package.json,sha256=lGQOfiOS0-p0SBh2rnNkZKiZToIKNGviruLr3sFUfV8,755
|
|
49
50
|
imio/smartweb/common/browser/static/smartweb-common-edit-compiled.css,sha256=XKYdL7pfkeY-RyoG-FdzhG3FYHM3upRimtebXlj_Pus,523
|
|
50
|
-
imio/smartweb/common/browser/static/smartweb-common-edit-compiled.js,sha256=
|
|
51
|
+
imio/smartweb/common/browser/static/smartweb-common-edit-compiled.js,sha256=gbj_bwoRFje_k8dLEI8JnYS3PZLpxvyzA-qrT3BLyN0,801
|
|
52
|
+
imio/smartweb/common/browser/static/smartweb-common-tinymce-compiled.js,sha256=PMpMKSxhmnSUi4ipyLUj6TrNdRMe6Kn7kV-cTJW7Zt8,17155
|
|
51
53
|
imio/smartweb/common/browser/static/smartweb-common-view-compiled.css,sha256=2ApU7ORyWPWUaylmnb-_JPVZyWNMGJsQFtaCcnuX-pY,1040
|
|
52
|
-
imio/smartweb/common/browser/static/smartweb-common-view-compiled.js,sha256=
|
|
53
|
-
imio/smartweb/common/browser/static/webpack.config.js,sha256=
|
|
54
|
+
imio/smartweb/common/browser/static/smartweb-common-view-compiled.js,sha256=wUWIJowzSpIE8pvNA-_Bp-x2Y5tH0_3n4U4sm-8Jq5Y,1127
|
|
55
|
+
imio/smartweb/common/browser/static/webpack.config.js,sha256=PGwRMQ_joyrLwYPJNy9295IbEmXoQSVLjV05mUx2hXk,1082
|
|
54
56
|
imio/smartweb/common/browser/static/src/edit.js,sha256=vmgtg9voaSw6nPcVNmkBqiuCnsrV-W352fSNZzxfDeU,1380
|
|
55
57
|
imio/smartweb/common/browser/static/src/edit.less,sha256=CeD6s43Mm03iql_D6f9H_eJ3V0xFoy8_qx95yKnMgMw,627
|
|
58
|
+
imio/smartweb/common/browser/static/src/tinymce.js,sha256=f4BZnbS3b9_IOLna0XJ3jf6W09tCBK8HTa4NTIm3rmM,21100
|
|
56
59
|
imio/smartweb/common/browser/static/src/view.js,sha256=CspnXPDZ8eo37Mse0Hk_NbVuXNRBrts3LOM4492z7-U,2045
|
|
57
60
|
imio/smartweb/common/browser/static/src/view.less,sha256=6JV71CZtvZNaFhg6lIm2hwtfijxErsqb0ZyNPc3XIYs,1542
|
|
61
|
+
imio/smartweb/common/browser/tiny/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
62
|
+
imio/smartweb/common/browser/tiny/configure.zcml,sha256=CsCs64JLBHGuzlv6zeDgVvV0Ff4wSwfXzqjv4K6rpf4,712
|
|
63
|
+
imio/smartweb/common/browser/tiny/process.py,sha256=ZdRkvl7W7WNaJhYlyd_8dyot151W8cte9NC9UH1gcHU,2732
|
|
58
64
|
imio/smartweb/common/faceted/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
65
|
imio/smartweb/common/faceted/configure.zcml,sha256=xSwfB8tW49FndBuQkOJeVRnfEmx5yIaBHl7G3kGOBrU,236
|
|
60
66
|
imio/smartweb/common/faceted/utils.py,sha256=H0Z7oOMUUZYhwCtlYdtIOCvT4iDcEBQVuiNn8yTyEgA,642
|
|
@@ -63,10 +69,10 @@ imio/smartweb/common/faceted/widget.py,sha256=EMvFyEcS9t6lJAgz4zIkUnGAPd1fQcrv4A
|
|
|
63
69
|
imio/smartweb/common/profiles/default/actions.xml,sha256=q5ajChGAPlPtpN_H80voDgg4C8Z-yDcIghUJIgFYtRg,1193
|
|
64
70
|
imio/smartweb/common/profiles/default/browserlayer.xml,sha256=Up2dVOgFtzE43eLMNJY1xXvdUbQRSEpNxnySqSncFqQ,185
|
|
65
71
|
imio/smartweb/common/profiles/default/catalog.xml,sha256=hB2Cu64TPp29EKICqbfixwa3AFmrDJVC784KeKTMX90,576
|
|
66
|
-
imio/smartweb/common/profiles/default/metadata.xml,sha256
|
|
72
|
+
imio/smartweb/common/profiles/default/metadata.xml,sha256=xdDhVWxrX53uUQrvjH0rhEfyjiYvK-8Ikyynd5TAgpA,432
|
|
67
73
|
imio/smartweb/common/profiles/default/rolemap.xml,sha256=XCdOazRleiwTAAZt3lzTsOw3ZtIwoPDqA8s4zXACvkc,1595
|
|
68
74
|
imio/smartweb/common/profiles/default/registry/registry.xml,sha256=GXo92ntNu5GPhFOvDzde5ES7z6pgzrvK1aJtH-ElAHg,44314
|
|
69
|
-
imio/smartweb/common/profiles/default/registry/tinymce.xml,sha256=
|
|
75
|
+
imio/smartweb/common/profiles/default/registry/tinymce.xml,sha256=Bd7v0-JvSENGTbbNpdr8emyIwJqPijE5c8j3eozjeyI,5662
|
|
70
76
|
imio/smartweb/common/profiles/testing/catalog.xml,sha256=CzEXLuHkT5NH-lRzTSDIR_3y_U7t2D7oBDm1oAJIoP4,214
|
|
71
77
|
imio/smartweb/common/profiles/testing/metadata.xml,sha256=hPZnje-9ffhOiQfVamGoE_lOf9ISjBBf2ynQlg-Hv20,229
|
|
72
78
|
imio/smartweb/common/profiles/testing/registry.xml,sha256=8lTQSGT_bnP2Z0y-86ztgpdQY8yDOLoXgqTC7fXiD2Y,1010
|
|
@@ -104,7 +110,7 @@ imio/smartweb/common/tests/test_setup.py,sha256=TxoQZrESFOgGRBN9uO8FzEOx57G550YI
|
|
|
104
110
|
imio/smartweb/common/tests/test_subscribers.py,sha256=AiJ5LTqGP2JKGJFYNeCCAMJL53DWO41iYQ9VYiA7DIA,1699
|
|
105
111
|
imio/smartweb/common/tests/test_taxonomy.py,sha256=z4WawTa_hIsW7kVqQSlGBDWSnkeHAa2CPYFkfjZ0oRg,2600
|
|
106
112
|
imio/smartweb/common/tests/test_text.py,sha256=Ll6TYnYxEBtpYe3T0yTOVT9wXWJaWGWW23eUV2jK92A,1570
|
|
107
|
-
imio/smartweb/common/tests/test_utils.py,sha256=
|
|
113
|
+
imio/smartweb/common/tests/test_utils.py,sha256=7cYVfHCxsty6U1UgW1Knzpi1yfzb8IG4TLVDQ2AZ6c8,9946
|
|
108
114
|
imio/smartweb/common/tests/test_viewlets.py,sha256=NVEZWEmYo4K_-81Q6w-JTx2nT_3NBcJCl3946MAUnhU,1738
|
|
109
115
|
imio/smartweb/common/tests/test_vocabularies.py,sha256=C-78USTvOHljuMSLkNb9onSRxLEJmBQLpktetAO74RE,848
|
|
110
116
|
imio/smartweb/common/tests/test_vocabulary.py,sha256=4E5i5znt_hLhnnRay1iBaOZRmQyFJs8-OMdPm4iSGSg,1638
|
|
@@ -114,7 +120,7 @@ imio/smartweb/common/tests/resources/image_1400x800.png,sha256=Iy3bWGH4NBlgYC5Bo
|
|
|
114
120
|
imio/smartweb/common/tests/resources/image_1800x700.png,sha256=aQcMisSFQO78c6QX4mO7qIfDb9SDRmfzTuPjxMJ_0HM,32643
|
|
115
121
|
imio/smartweb/common/tests/robot/test_example.robot,sha256=3ClbWps1Pfr6-RHT4FmmzGWGmtJrNnDW53bJGP69Nz4,2011
|
|
116
122
|
imio/smartweb/common/upgrades/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
117
|
-
imio/smartweb/common/upgrades/configure.zcml,sha256=
|
|
123
|
+
imio/smartweb/common/upgrades/configure.zcml,sha256=hBeNtqeYTJxHxEzqBAUN-z-uBrBcRguwK8zvGWJ6hzs,18010
|
|
118
124
|
imio/smartweb/common/upgrades/upgrades.py,sha256=NObmvdWPUrfgaPJhTB_tIZsmLawxg5jbui-TRLhS2NE,5474
|
|
119
125
|
imio/smartweb/common/upgrades/profiles/1007_to_1008/rolemap.xml,sha256=dKUuBq-2pO4dGtHshBisISSTBP8aWfbwTGHj_pJvY5A,1346
|
|
120
126
|
imio/smartweb/common/upgrades/profiles/1008_to_1009/actions.xml,sha256=D41gp1PDVINobhCM8L11IMXABYatjmoUuW-EQkPT804,721
|
|
@@ -139,6 +145,7 @@ imio/smartweb/common/upgrades/profiles/1030_to_1031/registry/tinymce.xml,sha256=
|
|
|
139
145
|
imio/smartweb/common/upgrades/profiles/1031_to_1032/registry/tinymce.xml,sha256=3IOzZra7FIfxDO8DDIXwygL8z92f-cUCYEXq2GsVetg,2419
|
|
140
146
|
imio/smartweb/common/upgrades/profiles/1032_to_1033/registry/tinymce.xml,sha256=V-8TeadC9Wk4aEBPOKOKd_48iSeyQEYlYXMLP2ILJ10,2421
|
|
141
147
|
imio/smartweb/common/upgrades/profiles/1033_to_1034/registry/tinymce.xml,sha256=vxpLtDuSApvFQJ5t7hI6_5cWtZ78BoycJgy1emPkhr8,2013
|
|
148
|
+
imio/smartweb/common/upgrades/profiles/1034_to_1035/registry/tinymce.xml,sha256=35nNu2uuCUY6tyVd5vj6Sad6oxIyhm-akmSt2O7tfcQ,2167
|
|
142
149
|
imio/smartweb/common/viewlets/__init__.py,sha256=iwhKnzeBJLKxpRVjvzwiRE63_zNpIBfaKLITauVph-0,24
|
|
143
150
|
imio/smartweb/common/viewlets/analytics.pt,sha256=J6e8fWmusLWMKXg3cJbNYV0LPS9ONz2yJ921vMvrrzE,33
|
|
144
151
|
imio/smartweb/common/viewlets/colophon.pt,sha256=qaEUV2N5aZpAEcztLzK_R2eINBod1AByWxi11B1HYa0,1278
|
|
@@ -151,10 +158,10 @@ imio/smartweb/common/viewlets/skip_to_content.py,sha256=wm22NUf8Qh5uzz8p4vkLCdFN
|
|
|
151
158
|
imio/smartweb/common/widgets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
152
159
|
imio/smartweb/common/widgets/select.py,sha256=5sV0UIgwu4AvwpgVmJeSZwUWz7OPD9VxYMowfmjcfbA,1313
|
|
153
160
|
imio/smartweb/common/widgets/templates/ajaxselect_display.pt,sha256=v8TT2Xc19er6SUGWabgNfIdrayFYIjxyLK9H_XkIG3M,1209
|
|
154
|
-
imio_smartweb_common-1.2.
|
|
155
|
-
imio_smartweb_common-1.2.
|
|
156
|
-
imio_smartweb_common-1.2.
|
|
157
|
-
imio_smartweb_common-1.2.
|
|
158
|
-
imio_smartweb_common-1.2.
|
|
159
|
-
imio_smartweb_common-1.2.
|
|
160
|
-
imio_smartweb_common-1.2.
|
|
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,,
|
/imio.smartweb.common-1.2.39-py3.12-nspkg.pth → /imio.smartweb.common-1.2.41-py3.12-nspkg.pth
RENAMED
|
File without changes
|
|
File without changes
|
{imio_smartweb_common-1.2.39.dist-info → imio_smartweb_common-1.2.41.dist-info}/licenses/LICENSE.GPL
RENAMED
|
File without changes
|
{imio_smartweb_common-1.2.39.dist-info → imio_smartweb_common-1.2.41.dist-info}/licenses/LICENSE.rst
RENAMED
|
File without changes
|
|
File without changes
|
{imio_smartweb_common-1.2.39.dist-info → imio_smartweb_common-1.2.41.dist-info}/top_level.txt
RENAMED
|
File without changes
|