2013-06-21 11:30:42 +02:00
|
|
|
from zope.interface import implements
|
2014-02-12 11:48:51 +01:00
|
|
|
from zope import schema
|
2013-06-21 11:30:42 +02:00
|
|
|
|
2013-07-19 18:11:42 +02:00
|
|
|
from plone.autoform import directives as form
|
2013-06-21 11:30:42 +02:00
|
|
|
from plone.dexterity.content import Item
|
2013-07-19 18:11:42 +02:00
|
|
|
from plone.directives.form import default_value
|
2013-06-21 11:30:42 +02:00
|
|
|
|
2013-06-21 14:57:13 +02:00
|
|
|
from collective.task.interfaces import IBaseTask
|
2013-06-21 11:30:42 +02:00
|
|
|
|
2014-02-12 11:48:51 +01:00
|
|
|
from collective.z3cform.rolefield.field import LocalRolesToPrincipals
|
|
|
|
from collective.dms.basecontent.widget import AjaxChosenMultiFieldWidget
|
|
|
|
|
|
|
|
from collective.task import _
|
2013-06-21 11:30:42 +02:00
|
|
|
|
2013-06-21 14:57:13 +02:00
|
|
|
class IInformation(IBaseTask):
|
2013-06-21 11:30:42 +02:00
|
|
|
"""Schema for information"""
|
2013-07-19 18:11:42 +02:00
|
|
|
form.mode(title='hidden')
|
2013-06-21 11:30:42 +02:00
|
|
|
|
2014-02-12 11:48:51 +01:00
|
|
|
responsible = LocalRolesToPrincipals(
|
|
|
|
title=_(u"Addressees"),
|
|
|
|
roles_to_assign=('Editor',),
|
|
|
|
value_type=schema.Choice(
|
|
|
|
vocabulary="dms.principals"
|
|
|
|
),
|
|
|
|
min_length=1,
|
|
|
|
required=True,
|
|
|
|
)
|
|
|
|
form.widget(responsible=AjaxChosenMultiFieldWidget)
|
|
|
|
|
2013-06-21 11:30:42 +02:00
|
|
|
|
2013-07-08 09:38:25 +02:00
|
|
|
class Information(Item):
|
2013-06-21 11:30:42 +02:00
|
|
|
"""Information content type"""
|
|
|
|
implements(IInformation)
|
|
|
|
|
|
|
|
meta_type = 'information'
|
|
|
|
# disable local roles inheritance
|
|
|
|
__ac_local_roles_block__ = True
|
2013-07-19 18:11:42 +02:00
|
|
|
|
|
|
|
|
|
|
|
@default_value(field=IInformation['title'])
|
|
|
|
def titleDefaultValue(data):
|
|
|
|
return u"Pour information"
|