diff --git a/news/SUP-48846.feature b/news/SUP-48846.feature new file mode 100644 index 000000000..599887916 --- /dev/null +++ b/news/SUP-48846.feature @@ -0,0 +1,2 @@ +Change `Applicant` and `Corporation` vocabulary for `persons_titles` to filter singular term +[jchandelle] \ No newline at end of file diff --git a/src/Products/urban/Applicant.py b/src/Products/urban/Applicant.py index 72c6549fb..a1f0d5b21 100644 --- a/src/Products/urban/Applicant.py +++ b/src/Products/urban/Applicant.py @@ -21,6 +21,7 @@ from Products.MasterSelectWidget.MasterBooleanWidget import MasterBooleanWidget from Products.urban.Contact import Contact from Products.urban.config import * +from Products.urban.UrbanVocabularyTerm import UrbanVocabulary from Products.urban.widget.select2widget import MultiSelect2Widget from plone import api from zope.interface import implements @@ -375,7 +376,12 @@ def finalizeSchema(schema, folderish=False, moveDiscussion=True): """ schema.moveField("representedBySociety", after="society") schema.moveField("isSameAddressAsWorks", after="representedBySociety") - + schema["personTitle"].vocabulary = UrbanVocabulary( + "persons_titles", + vocType="PersonTitleTerm", + inUrbanConfig=False, + _filter=lambda title: title["multiplicity"] == "single", + ) finalizeSchema(Applicant_schema) ##/code-section module-footer diff --git a/src/Products/urban/Corporation.py b/src/Products/urban/Corporation.py index bcc3be582..0c3883c1c 100644 --- a/src/Products/urban/Corporation.py +++ b/src/Products/urban/Corporation.py @@ -79,7 +79,10 @@ i18n_domain="urban", ), vocabulary=UrbanVocabulary( - "persons_titles", vocType="PersonTitleTerm", inUrbanConfig=False + "persons_titles", + vocType="PersonTitleTerm", + inUrbanConfig=False, + _filter=lambda title: title["multiplicity"] == "single" ), ), StringField(