|
2 | 2 | from collective.contact.widget.schema import ContactList |
3 | 3 | from collective.dms.basecontent.dmsdocument import DmsDocument |
4 | 4 | from collective.dms.basecontent.dmsdocument import IDmsDocument |
5 | | -from collective.dms.basecontent.relateddocs import RelatedDocs |
6 | 5 | from collective.dms.mailcontent import _ |
7 | 6 | from imio.helpers.content import get_relations |
8 | 7 | from imio.helpers.emailer import validate_email_address |
9 | 8 | from imio.helpers.emailer import validate_email_addresses |
10 | 9 | from plone import api |
11 | 10 | from plone.app.dexterity import textindexer |
12 | 11 | from plone.app.textfield import RichText |
| 12 | +from plone.app.vocabularies.catalog import CatalogSource |
13 | 13 | from plone.autoform import directives as form |
14 | 14 | from plone.dexterity.schema import DexteritySchemaPolicy |
15 | 15 | from plone.registry.interfaces import IRegistry |
|
18 | 18 | from Products.CMFPlone.utils import getToolByName |
19 | 19 | from z3c.form import validator |
20 | 20 | from z3c.form.browser.checkbox import CheckBoxFieldWidget |
| 21 | +from z3c.relationfield import RelationChoice |
| 22 | +from z3c.relationfield import RelationList |
21 | 23 | from zope import schema |
22 | 24 | from zope.component import getMultiAdapter |
23 | 25 | from zope.component import getUtility |
@@ -157,14 +159,19 @@ class IDmsIncomingMail(IDmsDocument): |
157 | 159 |
|
158 | 160 | recipients = ContactList(title=_("Recipients"), required=False) |
159 | 161 |
|
160 | | - reply_to = RelatedDocs( |
| 162 | + reply_to = RelationList( |
161 | 163 | title=_("In Reply To"), |
162 | 164 | required=False, |
163 | | - object_provides=( |
164 | | - "collective.dms.mailcontent.dmsmail.IDmsIncomingMail", |
165 | | - "collective.dms.mailcontent.dmsmail.IDmsOutgoingMail", |
| 165 | + value_type=RelationChoice( |
| 166 | + title=u"", |
| 167 | + source=CatalogSource( |
| 168 | + object_provides=( |
| 169 | + "collective.dms.mailcontent.dmsmail.IDmsIncomingMail", |
| 170 | + "collective.dms.mailcontent.dmsmail.IDmsOutgoingMail", |
| 171 | + ) |
| 172 | + ), |
166 | 173 | ), |
167 | | - display_backrefs=True, |
| 174 | + # display_backrefs=True, TODO MIGRATION-PLONE6 option not available in widget |
168 | 175 | ) |
169 | 176 |
|
170 | 177 | form.order_before(sender="treating_groups") |
@@ -291,14 +298,19 @@ class IDmsOutgoingMail(IDmsDocument): |
291 | 298 |
|
292 | 299 | recipients = ContactList(title=_("Recipients"), required=True) |
293 | 300 |
|
294 | | - reply_to = RelatedDocs( |
| 301 | + reply_to = RelationList( |
295 | 302 | title=_("In Reply To"), |
296 | 303 | required=False, |
297 | | - object_provides=( |
298 | | - "collective.dms.mailcontent.dmsmail.IDmsIncomingMail", |
299 | | - "collective.dms.mailcontent.dmsmail.IDmsOutgoingMail", |
| 304 | + value_type=RelationChoice( |
| 305 | + title=u"", |
| 306 | + source=CatalogSource( |
| 307 | + object_provides=( |
| 308 | + "collective.dms.mailcontent.dmsmail.IDmsIncomingMail", |
| 309 | + "collective.dms.mailcontent.dmsmail.IDmsOutgoingMail", |
| 310 | + ) |
| 311 | + ), |
300 | 312 | ), |
301 | | - display_backrefs=True, |
| 313 | + # display_backrefs=True, TODO MIGRATION-PLONE6 option not available in widget |
302 | 314 | ) |
303 | 315 |
|
304 | 316 | external_reference_no = schema.TextLine( |
|
0 commit comments