Add a new "mail ref id" field, to get a specialized view later on
This commit is contained in:
parent
40093a7b1c
commit
7b43be9b0f
|
@ -26,6 +26,7 @@ from themis.fields.interfaces import IDateOnly
|
|||
from themis.fields.interfaces import IRadioChoice
|
||||
from themis.fields.interfaces import ISubjects, ILegisSession, IList
|
||||
from themis.fields.interfaces import IRelatedDoc
|
||||
from themis.fields.interfaces import IMailRefId
|
||||
|
||||
from themis.fields.vocabs import SubjectsSource
|
||||
from themis.fields.vocabs import LegislativeSessionsSource
|
||||
|
@ -352,3 +353,8 @@ class RelatedDoc(Relation):
|
|||
clone.vocabulary = self.vocabulary(object)
|
||||
return clone
|
||||
|
||||
|
||||
class MailRefId(Field):
|
||||
implements(IMailRefId)
|
||||
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ from themis.fields import Deputy, Deputies
|
|||
from themis.fields import Ministry, Ministries
|
||||
from themis.fields import DeputyOrMinistry, DeputiesOrMinistries
|
||||
from themis.fields import RelatedDoc
|
||||
from themis.fields import MailRefId
|
||||
from plone.schemaeditor.fields import FieldFactory
|
||||
|
||||
@interface.implementer(editor_ifaces.IFieldEditFormSchema)
|
||||
|
@ -44,3 +45,5 @@ DateOnlyFactory = FieldFactory(DateOnly, u'Date')
|
|||
RadioChoiceFactory = FieldFactory(RadioChoice, u'Choice (radio)', values=[])
|
||||
|
||||
RelatedDocFactory = FieldFactory(RelatedDoc, u'Related Document')
|
||||
|
||||
MailRefIdFactory = FieldFactory(MailRefId, u'Mail Reference')
|
||||
|
|
|
@ -77,4 +77,9 @@
|
|||
component=".editors.RelatedDocFactory"
|
||||
/>
|
||||
|
||||
<utility
|
||||
name="themis.fields.MailRefId"
|
||||
component=".editors.MailRefIdFactory"
|
||||
/>
|
||||
|
||||
</configure>
|
||||
|
|
|
@ -22,6 +22,7 @@ if HAVE_SUPERMODEL:
|
|||
from themis.fields import Contact, Contacts
|
||||
from themis.fields import LegisSession
|
||||
from themis.fields import RelatedDoc
|
||||
from themis.fields import MailRefId
|
||||
|
||||
class CommissionHandler_(BaseHandler):
|
||||
pass
|
||||
|
@ -98,4 +99,9 @@ if HAVE_SUPERMODEL:
|
|||
|
||||
RelatedDocHandler = RelatedDocHandler_(RelatedDoc)
|
||||
|
||||
class MailRefIdHandler_(BaseHandler):
|
||||
pass
|
||||
|
||||
MailRefIdHandler = MailRefIdHandler_(MailRefId)
|
||||
|
||||
|
||||
|
|
|
@ -79,4 +79,9 @@
|
|||
name="themis.fields.RelatedDoc"
|
||||
/>
|
||||
|
||||
<utility
|
||||
component=".handlers.MailRefIdHandler"
|
||||
name="themis.fields.MailRefId"
|
||||
/>
|
||||
|
||||
</configure>
|
||||
|
|
|
@ -93,3 +93,15 @@ class IRelatedDoc(IRelation):
|
|||
title=IField['missing_value'].title,
|
||||
description=IField['missing_value'].description,
|
||||
required=False)
|
||||
|
||||
|
||||
class IMailRefId(IField):
|
||||
default = schema.Text(
|
||||
description=IField['default'].description,
|
||||
required=False)
|
||||
|
||||
missing_value = schema.Text(
|
||||
title=IField['missing_value'].title,
|
||||
description=IField['missing_value'].description,
|
||||
required=False)
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ from themis.fields.interfaces import IMinistry, IMinistries
|
|||
from themis.fields.interfaces import IDeputyOrMinistry, IDeputiesOrMinistries
|
||||
from themis.fields.interfaces import IOrderedSelectAndAddWidget
|
||||
from themis.fields.interfaces import IRelatedDoc
|
||||
from themis.fields.interfaces import IMailRefId
|
||||
|
||||
from plone.formwidget.autocomplete.interfaces import IAutocompleteWidget
|
||||
from plone.formwidget.autocomplete.widget import AutocompleteSelectionWidget
|
||||
|
@ -27,6 +28,7 @@ from plone.formwidget.autocomplete import AutocompleteFieldWidget
|
|||
from z3c.form.browser.orderedselect import OrderedSelectWidget
|
||||
from z3c.form.browser.checkbox import CheckBoxWidget
|
||||
from z3c.form.browser.select import SelectWidget
|
||||
from z3c.form.browser.text import TextWidget
|
||||
from z3c.form.browser.radio import RadioWidget
|
||||
from plone.formwidget.contenttree.widget import ContentTreeWidget
|
||||
|
||||
|
@ -189,3 +191,10 @@ def RelatedDocFieldWidget(field, request):
|
|||
'''IFieldWidget factory for RadioChoiceWidget'''
|
||||
return FieldWidget(field, ContentTreeWidget(request))
|
||||
|
||||
@adapter(IMailRefId, IFormLayer)
|
||||
@implementer(IFieldWidget)
|
||||
def MailRefIdFieldWidget(field, request):
|
||||
"""IFieldWidget factory for MailRefId"""
|
||||
return FieldWidget(field, TextWidget(request))
|
||||
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
<adapter factory=".widgets.DateFieldWidget"/>
|
||||
<adapter factory=".widgets.RadioChoiceFieldWidget"/>
|
||||
<adapter factory=".widgets.RelatedDocFieldWidget"/>
|
||||
<adapter factory=".widgets.MailRefIdFieldWidget"/>
|
||||
|
||||
<class class=".widgets.OrderedSelectAndAddWidget">
|
||||
<require
|
||||
|
|
Reference in New Issue