imio.smartweb.core 1.4.3__py3-none-any.whl → 1.4.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- imio/smartweb/core/browser/configure.zcml +8 -0
- imio/smartweb/core/browser/controlpanel_siteadmin.py +142 -0
- imio/smartweb/core/browser/sitemap.py +1 -1
- imio/smartweb/core/browser/static/src/view.js +9 -2
- imio/smartweb/core/contents/pages/procedure/content.py +8 -0
- imio/smartweb/core/contents/rest/directory/endpoint.py +1 -1
- imio/smartweb/core/contents/sections/events/view.py +1 -1
- imio/smartweb/core/permissions.zcml +6 -0
- imio/smartweb/core/profiles/default/controlpanel.xml +12 -0
- imio/smartweb/core/profiles/default/metadata.xml +1 -1
- imio/smartweb/core/profiles/default/registry/smartweb.xml +3 -0
- imio/smartweb/core/profiles/default/rolemap.xml +5 -0
- imio/smartweb/core/profiles/default/taxonomies/procedure_category.xml +9 -0
- imio/smartweb/core/profiles/default/types/imio.smartweb.Page.xml +2 -1
- imio/smartweb/core/profiles/default/types/imio.smartweb.PortalPage.xml +1 -0
- imio/smartweb/core/setuphandlers.py +2 -0
- imio/smartweb/core/upgrades/configure.zcml +41 -1
- imio/smartweb/core/upgrades/profiles/1068_to_1069/controlpanel.xml +26 -0
- imio/smartweb/core/upgrades/profiles/1068_to_1069/registry.xml +9 -0
- imio/smartweb/core/upgrades/profiles/1068_to_1069/rolemap.xml +11 -0
- imio/smartweb/core/upgrades/profiles/1069_to_1070/taxonomies/procedure_category.cfg +9 -0
- imio/smartweb/core/upgrades/profiles/1069_to_1070/taxonomies/procedure_category.xml +121 -0
- imio/smartweb/core/upgrades/upgrades.py +7 -1
- imio/smartweb/core/utils.py +38 -0
- imio/smartweb/core/viewlets/procedure.pt +1 -0
- imio/smartweb/core/viewlets/procedure.py +14 -0
- imio/smartweb/core/vocabularies.py +28 -2
- imio/smartweb/core/vocabularies.zcml +6 -0
- imio/smartweb/core/webcomponents/build/css/251.smartweb-webcomponents-compiled.css +1 -0
- imio/smartweb/core/webcomponents/build/css/373.smartweb-webcomponents-compiled.css +1 -1
- imio/smartweb/core/webcomponents/build/css/666.smartweb-webcomponents-compiled.css +1 -1
- imio/smartweb/core/webcomponents/build/css/700.smartweb-webcomponents-compiled.css +1 -0
- imio/smartweb/core/webcomponents/build/js/141.smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/build/js/141.smartweb-webcomponents-compiled.js.LICENSE.txt +3 -3
- imio/smartweb/core/webcomponents/build/js/15.smartweb-webcomponents-compiled.js +2 -0
- imio/smartweb/core/webcomponents/build/js/21.smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/build/js/218.smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/build/js/251.smartweb-webcomponents-compiled.js +1 -0
- imio/smartweb/core/webcomponents/build/js/373.smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/build/js/666.smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/build/js/700.smartweb-webcomponents-compiled.js +1 -0
- imio/smartweb/core/webcomponents/build/js/824.smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/build/js/919.smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/build/js/922.smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/build/js/963.smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/build/js/smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/package.json +1 -1
- imio/smartweb/core/webcomponents/src/components/Annuaire/Annuaire.scss +32 -1
- imio/smartweb/core/webcomponents/src/components/Annuaire/Filters/Filter.jsx +118 -70
- imio/smartweb/core/webcomponents/src/components/Filters/MainFilter.scss +4 -8
- imio/smartweb/core/webcomponents/src/components/Filters/TaxonomyFilter.jsx +167 -85
- imio/smartweb/core/webcomponents/src/components/Filters/TaxonomyFilter.scss +44 -15
- imio/smartweb/core/webcomponents/src/components/News/News.scss +0 -1
- imio/smartweb/core/webcomponents/src/components/News/NewsContent/NewsContent.jsx +20 -11
- {imio_smartweb_core-1.4.3.dist-info → imio_smartweb_core-1.4.5.dist-info}/METADATA +27 -1
- {imio_smartweb_core-1.4.3.dist-info → imio_smartweb_core-1.4.5.dist-info}/RECORD +63 -58
- {imio_smartweb_core-1.4.3.dist-info → imio_smartweb_core-1.4.5.dist-info}/WHEEL +1 -1
- imio/smartweb/core/webcomponents/build/css/420.smartweb-webcomponents-compiled.css +0 -1
- imio/smartweb/core/webcomponents/build/css/486.smartweb-webcomponents-compiled.css +0 -1
- imio/smartweb/core/webcomponents/build/css/884.smartweb-webcomponents-compiled.css +0 -1
- imio/smartweb/core/webcomponents/build/js/486.smartweb-webcomponents-compiled.js +0 -1
- imio/smartweb/core/webcomponents/build/js/491.smartweb-webcomponents-compiled.js +0 -2
- imio/smartweb/core/webcomponents/build/js/884.smartweb-webcomponents-compiled.js +0 -1
- /imio/smartweb/core/webcomponents/build/js/{491.smartweb-webcomponents-compiled.js.LICENSE.txt → 15.smartweb-webcomponents-compiled.js.LICENSE.txt} +0 -0
- /imio.smartweb.core-1.4.3-py3.9-nspkg.pth → /imio.smartweb.core-1.4.5-py3.12-nspkg.pth +0 -0
- {imio_smartweb_core-1.4.3.dist-info → imio_smartweb_core-1.4.5.dist-info}/licenses/LICENSE.GPL +0 -0
- {imio_smartweb_core-1.4.3.dist-info → imio_smartweb_core-1.4.5.dist-info}/licenses/LICENSE.rst +0 -0
- {imio_smartweb_core-1.4.3.dist-info → imio_smartweb_core-1.4.5.dist-info}/namespace_packages.txt +0 -0
- {imio_smartweb_core-1.4.3.dist-info → imio_smartweb_core-1.4.5.dist-info}/top_level.txt +0 -0
@@ -56,6 +56,14 @@
|
|
56
56
|
layer="imio.smartweb.core.interfaces.IImioSmartwebCoreLayer"
|
57
57
|
/>
|
58
58
|
|
59
|
+
<browser:page
|
60
|
+
name="siteadmin-smartweb-controlpanel"
|
61
|
+
for="Products.CMFPlone.interfaces.IPloneSiteRoot"
|
62
|
+
class=".controlpanel_siteadmin.SmartwebSiteAdminControlPanelView"
|
63
|
+
permission="cmf.ManagePortal"
|
64
|
+
layer="imio.smartweb.core.interfaces.IImioSmartwebCoreLayer"
|
65
|
+
/>
|
66
|
+
|
59
67
|
<browser:page
|
60
68
|
name="utils"
|
61
69
|
for="*"
|
@@ -0,0 +1,142 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
from collective.z3cform.datagridfield.datagridfield import DataGridFieldFactory
|
4
|
+
from collective.z3cform.datagridfield.registry import DictRow
|
5
|
+
from imio.smartweb.locales import SmartwebMessageFactory as _
|
6
|
+
from plone import api
|
7
|
+
from plone.app.registry.browser.controlpanel import ControlPanelFormWrapper
|
8
|
+
from plone.app.registry.browser.controlpanel import RegistryEditForm
|
9
|
+
from plone.autoform.directives import omitted
|
10
|
+
from plone.autoform.directives import mode
|
11
|
+
from plone.autoform.directives import widget
|
12
|
+
from plone.registry.interfaces import IRegistry
|
13
|
+
from plone.z3cform import layout
|
14
|
+
from Products.statusmessages.interfaces import IStatusMessage
|
15
|
+
|
16
|
+
from z3c.form.interfaces import ActionExecutionError
|
17
|
+
from zope import schema
|
18
|
+
from zope.component import getUtility
|
19
|
+
from zope.interface import Interface
|
20
|
+
from zope.interface import Invalid
|
21
|
+
from zope.schema import ValidationError
|
22
|
+
from zope import schema
|
23
|
+
|
24
|
+
import json
|
25
|
+
import logging
|
26
|
+
|
27
|
+
logger = logging.getLogger("imio.smartweb.core.browser.controlpanel_siteadmin")
|
28
|
+
|
29
|
+
MAX_LENGTH = 33
|
30
|
+
|
31
|
+
|
32
|
+
class LabelTooLong(ValidationError):
|
33
|
+
__doc__ = f"Le texte ne peut pas dépasser {MAX_LENGTH} caractères."
|
34
|
+
|
35
|
+
|
36
|
+
def max_length_constraint(value):
|
37
|
+
if len(value) > MAX_LENGTH:
|
38
|
+
raise LabelTooLong(value)
|
39
|
+
return True
|
40
|
+
|
41
|
+
|
42
|
+
class IProcedureTextRowSchema(Interface):
|
43
|
+
|
44
|
+
omitted("label_id")
|
45
|
+
mode(label_id="hidden")
|
46
|
+
label_id = schema.TextLine(
|
47
|
+
title=_("ID"),
|
48
|
+
description=_("Unique identifier for the procedure button text"),
|
49
|
+
required=False,
|
50
|
+
)
|
51
|
+
label_fr = schema.TextLine(
|
52
|
+
title=_("Label (fr)"),
|
53
|
+
description=_("Your button title (french)"),
|
54
|
+
constraint=max_length_constraint,
|
55
|
+
required=True,
|
56
|
+
)
|
57
|
+
label_nl = schema.TextLine(
|
58
|
+
title=_("Label (nl)"),
|
59
|
+
description=_("Your button title (dutch)"),
|
60
|
+
constraint=max_length_constraint,
|
61
|
+
required=False,
|
62
|
+
)
|
63
|
+
label_de = schema.TextLine(
|
64
|
+
title=_("Label (de)"),
|
65
|
+
description=_("Your button title (german)"),
|
66
|
+
constraint=max_length_constraint,
|
67
|
+
required=False,
|
68
|
+
)
|
69
|
+
label_en = schema.TextLine(
|
70
|
+
title=_("Label (en)"),
|
71
|
+
description=_("Your button title (english)"),
|
72
|
+
constraint=max_length_constraint,
|
73
|
+
required=False,
|
74
|
+
)
|
75
|
+
|
76
|
+
|
77
|
+
class ISmartwebSiteAdminControlPanel(Interface):
|
78
|
+
|
79
|
+
widget(procedure_button_text=DataGridFieldFactory)
|
80
|
+
procedure_button_text = schema.List(
|
81
|
+
title=_("Procedure : Define button text"),
|
82
|
+
description=_("Choose procedure submission button text"),
|
83
|
+
value_type=DictRow(
|
84
|
+
title="Labels",
|
85
|
+
schema=IProcedureTextRowSchema,
|
86
|
+
),
|
87
|
+
default=[],
|
88
|
+
required=False,
|
89
|
+
)
|
90
|
+
|
91
|
+
|
92
|
+
class SmartwebSiteAdminControlPanelForm(RegistryEditForm):
|
93
|
+
schema = ISmartwebSiteAdminControlPanel
|
94
|
+
schema_prefix = "smartweb"
|
95
|
+
label = _("Smartweb Site admin Settings")
|
96
|
+
# fields = field.Fields(ISmartwebSiteAdminControlPanel)
|
97
|
+
|
98
|
+
|
99
|
+
class SmartwebSiteAdminControlPanelForm(RegistryEditForm):
|
100
|
+
schema = ISmartwebSiteAdminControlPanel
|
101
|
+
schema_prefix = "smartweb"
|
102
|
+
label = _("Smartweb Site admin Settings")
|
103
|
+
|
104
|
+
def applyChanges(self, data):
|
105
|
+
rows = data.get("procedure_button_text") or []
|
106
|
+
for row in rows:
|
107
|
+
all_label_ids = [row.get("label_id") for row in rows if row.get("label_id")]
|
108
|
+
numbers = [
|
109
|
+
int(label.split("-")[1])
|
110
|
+
for label in all_label_ids
|
111
|
+
if isinstance(label, str)
|
112
|
+
and label.startswith("label-")
|
113
|
+
and label.split("-")[1].isdigit()
|
114
|
+
]
|
115
|
+
max_number = max(numbers, default=0)
|
116
|
+
if row.get("label_id") is None:
|
117
|
+
max_number += 1
|
118
|
+
row["label_id"] = f"label-{max_number}"
|
119
|
+
new_ids = {row.get("label_id") for row in rows if row.get("label_id")}
|
120
|
+
|
121
|
+
registry = getUtility(IRegistry)
|
122
|
+
old_rows = registry.get("smartweb.procedure_button_text") or []
|
123
|
+
old_ids = {row.get("label_id") for row in old_rows if row.get("label_id")}
|
124
|
+
|
125
|
+
removed_ids = old_ids - new_ids
|
126
|
+
if removed_ids:
|
127
|
+
brains = api.content.find(portal_type="imio.smartweb.Procedure")
|
128
|
+
for removed_id in removed_ids:
|
129
|
+
for brain in brains:
|
130
|
+
obj = brain.getObject()
|
131
|
+
if obj.button_ts_label == removed_id:
|
132
|
+
IStatusMessage(self.request).addStatusMessage(
|
133
|
+
f"Label ID '{removed_id}' is still used in Procedure '{obj.absolute_url()}' and will not be removed.",
|
134
|
+
type="error",
|
135
|
+
)
|
136
|
+
return False
|
137
|
+
return super().applyChanges(data)
|
138
|
+
|
139
|
+
|
140
|
+
SmartwebSiteAdminControlPanelView = layout.wrap_form(
|
141
|
+
SmartwebSiteAdminControlPanelForm, ControlPanelFormWrapper
|
142
|
+
)
|
@@ -74,7 +74,7 @@ def format_sitemap_items(items, base_url):
|
|
74
74
|
formatted_items = []
|
75
75
|
for item in items:
|
76
76
|
item_id = normalizeString(item.get("title"))
|
77
|
-
item_uid = item.get("
|
77
|
+
item_uid = item.get("UID")
|
78
78
|
lastmod = item.get("modified") or "1970-01-01T00:00:00Z"
|
79
79
|
formatted_items.append(
|
80
80
|
{
|
@@ -1,6 +1,5 @@
|
|
1
|
-
import './view.less'
|
2
|
-
jQuery(document).ready(function ($) {
|
3
1
|
|
2
|
+
jQuery(document).ready(function ($) {
|
4
3
|
// Show full schedule table when clicking on today's schedule
|
5
4
|
$(".opening_informations").click(function (e) {
|
6
5
|
$(this).siblings(".table_schedule").toggleClass("table_schedule--active");
|
@@ -16,11 +15,19 @@ jQuery(document).ready(function ($) {
|
|
16
15
|
}
|
17
16
|
}
|
18
17
|
});
|
18
|
+
|
19
|
+
if (window.location.href.indexOf('@@siteadmin-smartweb-controlpanel') !== -1) {
|
20
|
+
// On est bien sur la page @@siteadmin-smartweb-controlpanel
|
21
|
+
if ($('div.container div.statusmessage-error').length > 0) {
|
22
|
+
$('div.container div.statusmessage-info').remove();
|
23
|
+
}
|
24
|
+
}
|
19
25
|
|
20
26
|
});
|
21
27
|
// New navigation
|
22
28
|
|
23
29
|
$(document).ready(function () {
|
30
|
+
|
24
31
|
const menu = $('#portal-globalnav');
|
25
32
|
const submenu = $('#subsite-navigation');
|
26
33
|
|
@@ -25,6 +25,14 @@ class IProcedure(IPages):
|
|
25
25
|
|
26
26
|
procedure_url = schema.URI(title=_("Procedure url"), required=False)
|
27
27
|
|
28
|
+
button_ts_label = schema.Choice(
|
29
|
+
vocabulary="imio.smartweb.vocabulary.ProcedureButtonLabels",
|
30
|
+
title=_("Button label"),
|
31
|
+
description=_("Set button label to redirect to e-guichet"),
|
32
|
+
required=False,
|
33
|
+
default=None,
|
34
|
+
)
|
35
|
+
|
28
36
|
@invariant
|
29
37
|
def required_procedure(data):
|
30
38
|
# if data.procedure_ts is None and data.procedure_url is None:
|
@@ -52,7 +52,7 @@ class BaseDirectoryEndpoint(BaseEndpoint):
|
|
52
52
|
params.append("b_size={}".format(self.context.nb_results))
|
53
53
|
else:
|
54
54
|
params.append("b_size={}".format(self.batch_size))
|
55
|
-
if self.context.selected_categories
|
55
|
+
if self.context.selected_categories:
|
56
56
|
for category in self.context.selected_categories:
|
57
57
|
params.append(f"taxonomy_contact_category.query={category}")
|
58
58
|
params.append("taxonomy_contact_category.operator=or")
|
@@ -52,7 +52,7 @@ class EventsView(CarouselOrTableSectionView, HashableJsonSectionView):
|
|
52
52
|
"sort_on=event_dates",
|
53
53
|
]
|
54
54
|
url = "{}/@events?{}".format(EVENTS_URL, "&".join(params))
|
55
|
-
self.json_data = get_json(url)
|
55
|
+
self.json_data = get_json(url, timeout=15)
|
56
56
|
self.json_data = remove_cache_key(self.json_data)
|
57
57
|
self.refresh_modification_date()
|
58
58
|
if self.json_data is None or len(self.json_data.get("items", [])) == 0:
|
@@ -11,4 +11,16 @@
|
|
11
11
|
visible="True">
|
12
12
|
<permission>Manage portal</permission>
|
13
13
|
</configlet>
|
14
|
+
|
15
|
+
<configlet
|
16
|
+
title="Site admin smartweb Settings"
|
17
|
+
action_id="siteadmin-smartweb-controlpanel"
|
18
|
+
appId="siteadmin-smartweb-controlpanel"
|
19
|
+
category="Products"
|
20
|
+
condition_expr=""
|
21
|
+
icon_expr=""
|
22
|
+
url_expr="string:${portal_url}/@@siteadmin-smartweb-controlpanel"
|
23
|
+
visible="True">
|
24
|
+
<permission>Manage portal</permission>
|
25
|
+
</configlet>
|
14
26
|
</object>
|
@@ -83,6 +83,11 @@
|
|
83
83
|
<role name="Site Administrator"/>
|
84
84
|
</permission>
|
85
85
|
|
86
|
+
<permission name="imio.smartweb.core: Manage site admin control panel" acquire="True">
|
87
|
+
<role name="Manager"/>
|
88
|
+
<role name="Site Administrator"/>
|
89
|
+
</permission>
|
90
|
+
|
86
91
|
</permissions>
|
87
92
|
|
88
93
|
</rolemap>
|
@@ -88,6 +88,15 @@
|
|
88
88
|
<langstring language="de">Anmeldung</langstring>
|
89
89
|
</caption>
|
90
90
|
</term>
|
91
|
+
<term>
|
92
|
+
<termIdentifier>offre_d_emploi</termIdentifier>
|
93
|
+
<caption>
|
94
|
+
<langstring language="fr">Offre d'emploi</langstring>
|
95
|
+
<langstring language="en">Job offer</langstring>
|
96
|
+
<langstring language="nl">Job aanbod</langstring>
|
97
|
+
<langstring language="de">Stellenangebot</langstring>
|
98
|
+
</caption>
|
99
|
+
</term>
|
91
100
|
<term>
|
92
101
|
<termIdentifier>permis</termIdentifier>
|
93
102
|
<caption>
|
@@ -19,7 +19,7 @@
|
|
19
19
|
<property name="filter_content_types">True</property>
|
20
20
|
<property name="allowed_content_types">
|
21
21
|
<element value="imio.smartweb.SectionContact" />
|
22
|
-
<element value="imio.smartweb.SectionExternalContent" />
|
22
|
+
<element value="imio.smartweb.SectionExternalContent" />
|
23
23
|
<element value="imio.smartweb.SectionFiles" />
|
24
24
|
<element value="imio.smartweb.SectionGallery" />
|
25
25
|
<element value="imio.smartweb.SectionHTML" />
|
@@ -28,6 +28,7 @@
|
|
28
28
|
<element value="imio.smartweb.SectionPostit" />
|
29
29
|
<element value="imio.smartweb.SectionSelections" />
|
30
30
|
<element value="imio.smartweb.SectionText" />
|
31
|
+
<element value="imio.smartweb.SectionTimestampedPublications" />
|
31
32
|
<element value="imio.smartweb.SectionVideo" />
|
32
33
|
</property>
|
33
34
|
<!-- Schema, class and security -->
|
@@ -32,6 +32,7 @@
|
|
32
32
|
<element value="imio.smartweb.SectionSelections" />
|
33
33
|
<element value="imio.smartweb.SectionSendinblue" />
|
34
34
|
<element value="imio.smartweb.SectionText" />
|
35
|
+
<element value="imio.smartweb.SectionTimestampedPublications" />
|
35
36
|
<element value="imio.smartweb.SectionVideo" />
|
36
37
|
</property>
|
37
38
|
<!-- Schema, class and security -->
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
|
3
|
+
from imio.smartweb.core.utils import populate_procedure_button_text
|
3
4
|
from Products.CMFPlone.interfaces import INonInstallable
|
4
5
|
from zope.interface import implementer
|
5
6
|
|
@@ -25,6 +26,7 @@ class HiddenProfiles(object):
|
|
25
26
|
|
26
27
|
def post_install(context):
|
27
28
|
"""Post install script"""
|
29
|
+
populate_procedure_button_text()
|
28
30
|
|
29
31
|
|
30
32
|
def uninstall(context):
|
@@ -305,7 +305,23 @@
|
|
305
305
|
directory="profiles/1067_to_1068"
|
306
306
|
description="Don't display cropping action on react views"
|
307
307
|
provides="Products.GenericSetup.interfaces.EXTENSION"
|
308
|
-
/>
|
308
|
+
/>
|
309
|
+
|
310
|
+
<genericsetup:registerProfile
|
311
|
+
name="upgrade_1068_to_1069"
|
312
|
+
title="Upgrade core from 1068 to 1069"
|
313
|
+
directory="profiles/1068_to_1069"
|
314
|
+
description="Add new control panel for site admin"
|
315
|
+
provides="Products.GenericSetup.interfaces.EXTENSION"
|
316
|
+
/>
|
317
|
+
|
318
|
+
<genericsetup:registerProfile
|
319
|
+
name="upgrade_1069_to_1070"
|
320
|
+
title="Upgrade core from 1069 to 1070"
|
321
|
+
directory="profiles/1069_to_1070"
|
322
|
+
description="Add term offre_d_emploi to procedure_taxonomy"
|
323
|
+
provides="Products.GenericSetup.interfaces.EXTENSION"
|
324
|
+
/>
|
309
325
|
|
310
326
|
<genericsetup:upgradeStep
|
311
327
|
title="Configure first official release"
|
@@ -997,6 +1013,30 @@
|
|
997
1013
|
/>
|
998
1014
|
</genericsetup:upgradeSteps>
|
999
1015
|
|
1016
|
+
<genericsetup:upgradeSteps
|
1017
|
+
source="1068"
|
1018
|
+
destination="1069"
|
1019
|
+
profile="imio.smartweb.core:default">
|
1020
|
+
<genericsetup:upgradeDepends
|
1021
|
+
title="Add new control panel for site admin"
|
1022
|
+
import_profile="imio.smartweb.core.upgrades:upgrade_1068_to_1069"
|
1023
|
+
/>
|
1024
|
+
<genericsetup:upgradeStep
|
1025
|
+
title="Set some default texts for procedure button"
|
1026
|
+
handler=".upgrades.populate_procedure_button_text"
|
1027
|
+
/>
|
1028
|
+
</genericsetup:upgradeSteps>
|
1029
|
+
|
1030
|
+
<genericsetup:upgradeSteps
|
1031
|
+
source="1069"
|
1032
|
+
destination="1070"
|
1033
|
+
profile="imio.smartweb.core:default">
|
1034
|
+
<genericsetup:upgradeDepends
|
1035
|
+
title="Add term offre_d_emploi to procedure_taxonomy"
|
1036
|
+
import_profile="imio.smartweb.core.upgrades:upgrade_1069_to_1070"
|
1037
|
+
/>
|
1038
|
+
</genericsetup:upgradeSteps>
|
1039
|
+
|
1000
1040
|
<!--genericsetup:upgradeStep
|
1001
1041
|
title="Check contact itinerary if address was checked in visible blocks"
|
1002
1042
|
description=""
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<object name="portal_controlpanel">
|
3
|
+
<configlet
|
4
|
+
title="Smartweb Settings"
|
5
|
+
action_id="smartweb-controlpanel"
|
6
|
+
appId="smartweb-controlpanel"
|
7
|
+
category="Products"
|
8
|
+
condition_expr=""
|
9
|
+
icon_expr=""
|
10
|
+
url_expr="string:${portal_url}/@@smartweb-controlpanel"
|
11
|
+
visible="True">
|
12
|
+
<permission>Manage portal</permission>
|
13
|
+
</configlet>
|
14
|
+
|
15
|
+
<configlet
|
16
|
+
title="Site admin smartweb Settings"
|
17
|
+
action_id="siteadmin-smartweb-controlpanel"
|
18
|
+
appId="siteadmin-smartweb-controlpanel"
|
19
|
+
category="Products"
|
20
|
+
condition_expr=""
|
21
|
+
icon_expr=""
|
22
|
+
url_expr="string:${portal_url}/@@siteadmin-smartweb-controlpanel"
|
23
|
+
visible="True">
|
24
|
+
<permission>Manage portal</permission>
|
25
|
+
</configlet>
|
26
|
+
</object>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
[taxonomy]
|
2
|
+
name = procedure_category
|
3
|
+
title = Catégorie d'une démarche
|
4
|
+
default_language = fr
|
5
|
+
field_title = Catégorie
|
6
|
+
field_description = Important! Ces catégories sont utilisées pour créer des listes accessibles via le menu navigation
|
7
|
+
taxonomy_fieldset = categorization
|
8
|
+
is_single_select = true
|
9
|
+
is_required = false
|
@@ -0,0 +1,121 @@
|
|
1
|
+
<?xml version='1.0' encoding='utf-8'?>
|
2
|
+
<vdex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.imsglobal.org/xsd/imsvdex_v1p0" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsvdex_v1p0 imsvdex_v1p0.xsd http://www.imsglobal.org/xsd/imsmd_rootv1p2p1 imsmd_rootv1p2p1.xsd" profileType="hierarchicalTokenTerms" orderSignificant="false" language="fr">
|
3
|
+
<vocabIdentifier>procedure_category</vocabIdentifier>
|
4
|
+
<term>
|
5
|
+
<termIdentifier>actes</termIdentifier>
|
6
|
+
<caption>
|
7
|
+
<langstring language="fr">Acte (naissance, mariage, décès, etc.)</langstring>
|
8
|
+
<langstring language="en">Act (birth, marriage, death, etc.)</langstring>
|
9
|
+
<langstring language="nl">Akte (geboorte, huwelijk, overlijden, enz.)</langstring>
|
10
|
+
<langstring language="de">Urkunde (Geburt, Ehe, Tod, usw.)</langstring>
|
11
|
+
</caption>
|
12
|
+
</term>
|
13
|
+
<term>
|
14
|
+
<termIdentifier>autorisation_carte</termIdentifier>
|
15
|
+
<caption>
|
16
|
+
<langstring language="fr">Autorisation et carte</langstring>
|
17
|
+
<langstring language="en">Authorization and card</langstring>
|
18
|
+
<langstring language="nl">Vergunning en kaart</langstring>
|
19
|
+
<langstring language="de">Genehmigung und Karte</langstring>
|
20
|
+
</caption>
|
21
|
+
</term>
|
22
|
+
<term>
|
23
|
+
<termIdentifier>certificat</termIdentifier>
|
24
|
+
<caption>
|
25
|
+
<langstring language="fr">Certificat (de vie, d'hérédité, etc.)</langstring>
|
26
|
+
<langstring language="en">Certificate (of life, inheritance, etc.)</langstring>
|
27
|
+
<langstring language="nl">Certificaat (van leven, van erfenis, enz.)</langstring>
|
28
|
+
<langstring language="de">Bescheinigung (des Lebens, des Erbes, usw.)</langstring>
|
29
|
+
</caption>
|
30
|
+
</term>
|
31
|
+
<term>
|
32
|
+
<termIdentifier>declaration</termIdentifier>
|
33
|
+
<caption>
|
34
|
+
<langstring language="fr">Déclaration</langstring>
|
35
|
+
<langstring language="en">Statement</langstring>
|
36
|
+
<langstring language="nl">Verklaring</langstring>
|
37
|
+
<langstring language="de">Erklärung</langstring>
|
38
|
+
</caption>
|
39
|
+
</term>
|
40
|
+
<term>
|
41
|
+
<termIdentifier>demande</termIdentifier>
|
42
|
+
<caption>
|
43
|
+
<langstring language="fr">Demande (concession funéraire, changement de prénom, etc.)</langstring>
|
44
|
+
<langstring language="en">Request (funeral concession, change of first name, etc.)</langstring>
|
45
|
+
<langstring language="nl">Aanvraag (begrafenisconcessie, naamsverandering, enz.)</langstring>
|
46
|
+
<langstring language="de">Antrag (Begräbnis Konzession, Namensänderung, usw.)</langstring>
|
47
|
+
</caption>
|
48
|
+
</term>
|
49
|
+
<term>
|
50
|
+
<termIdentifier>document_d_identite</termIdentifier>
|
51
|
+
<caption>
|
52
|
+
<langstring language="fr">Document d'identité</langstring>
|
53
|
+
<langstring language="en">Identity document</langstring>
|
54
|
+
<langstring language="nl">Identiteitsdocument</langstring>
|
55
|
+
<langstring language="de">Ausweisdokument</langstring>
|
56
|
+
</caption>
|
57
|
+
</term>
|
58
|
+
<term>
|
59
|
+
<termIdentifier>extrait_de_registre</termIdentifier>
|
60
|
+
<caption>
|
61
|
+
<langstring language="fr">Extrait de registre</langstring>
|
62
|
+
<langstring language="en">Register extract</langstring>
|
63
|
+
<langstring language="nl">Uittreksel uit het register</langstring>
|
64
|
+
<langstring language="de">Registerauszug</langstring>
|
65
|
+
</caption>
|
66
|
+
</term>
|
67
|
+
<term>
|
68
|
+
<termIdentifier>information_pratique</termIdentifier>
|
69
|
+
<caption>
|
70
|
+
<langstring language="fr">Information pratique</langstring>
|
71
|
+
<langstring language="en">Practical information</langstring>
|
72
|
+
<langstring language="nl">Praktische informatie</langstring>
|
73
|
+
<langstring language="de">Praktische Information</langstring>
|
74
|
+
</caption>
|
75
|
+
</term>
|
76
|
+
<term>
|
77
|
+
<termIdentifier>inscription</termIdentifier>
|
78
|
+
<caption>
|
79
|
+
<langstring language="fr">Inscription</langstring>
|
80
|
+
<langstring language="en">Registration</langstring>
|
81
|
+
<langstring language="nl">Inschrijving</langstring>
|
82
|
+
<langstring language="de">Anmeldung</langstring>
|
83
|
+
</caption>
|
84
|
+
</term>
|
85
|
+
<term>
|
86
|
+
<termIdentifier>offre_d_emploi</termIdentifier>
|
87
|
+
<caption>
|
88
|
+
<langstring language="fr">Offre d'emploi</langstring>
|
89
|
+
<langstring language="en">Job offer</langstring>
|
90
|
+
<langstring language="nl">Job aanbod</langstring>
|
91
|
+
<langstring language="de">Stellenangebot</langstring>
|
92
|
+
</caption>
|
93
|
+
</term>
|
94
|
+
<term>
|
95
|
+
<termIdentifier>permis</termIdentifier>
|
96
|
+
<caption>
|
97
|
+
<langstring language="fr">Permis</langstring>
|
98
|
+
<langstring language="en">License</langstring>
|
99
|
+
<langstring language="nl">Vergunning</langstring>
|
100
|
+
<langstring language="de">Erlaubnis</langstring>
|
101
|
+
</caption>
|
102
|
+
</term>
|
103
|
+
<term>
|
104
|
+
<termIdentifier>plainte_et_reclamation</termIdentifier>
|
105
|
+
<caption>
|
106
|
+
<langstring language="fr">Plainte et réclamation</langstring>
|
107
|
+
<langstring language="en">Complaint</langstring>
|
108
|
+
<langstring language="nl">Klacht</langstring>
|
109
|
+
<langstring language="de">Beschwerde</langstring>
|
110
|
+
</caption>
|
111
|
+
</term>
|
112
|
+
<term>
|
113
|
+
<termIdentifier>prime_et_aide</termIdentifier>
|
114
|
+
<caption>
|
115
|
+
<langstring language="fr">Prime et aide</langstring>
|
116
|
+
<langstring language="en">Bonus and aid</langstring>
|
117
|
+
<langstring language="nl">Premie en hulp</langstring>
|
118
|
+
<langstring language="de">Prämie und Hilfe</langstring>
|
119
|
+
</caption>
|
120
|
+
</term>
|
121
|
+
</vdex>
|
@@ -2,6 +2,9 @@
|
|
2
2
|
|
3
3
|
from imio.smartweb.core.browser.controlpanel import ISmartwebControlPanel
|
4
4
|
from imio.smartweb.core.contents import IPages
|
5
|
+
from imio.smartweb.core.utils import (
|
6
|
+
populate_procedure_button_text as utils_populate_procedure_button_text,
|
7
|
+
)
|
5
8
|
from imio.smartweb.locales import SmartwebMessageFactory as _
|
6
9
|
from eea.facetednavigation.interfaces import ICriteria
|
7
10
|
from eea.facetednavigation.subtypes.interfaces import IFacetedNavigable
|
@@ -13,7 +16,6 @@ from plone.registry.interfaces import IRegistry
|
|
13
16
|
from zope.annotation.interfaces import IAnnotations
|
14
17
|
from zope.component import getUtility
|
15
18
|
from zope.schema import getFieldNames
|
16
|
-
from zope.schema import TextLine
|
17
19
|
|
18
20
|
import logging
|
19
21
|
|
@@ -291,3 +293,7 @@ def update_control_panel_combo_api_fieldname(context):
|
|
291
293
|
logger.info("La clé 'smartweb.url_formdefs_api' a été supprimée.")
|
292
294
|
except KeyError:
|
293
295
|
logger.info("La clé 'smartweb.url_formdefs_api' n'existe pas dans le registre.")
|
296
|
+
|
297
|
+
|
298
|
+
def populate_procedure_button_text(context):
|
299
|
+
utils_populate_procedure_button_text()
|