This repository has been archived on 2023-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
pfwbged.basecontent/src/pfwbged/basecontent/types.py

206 lines
4.7 KiB
Python

from zope import schema
from zope.interface import implements
from plone.autoform import directives as form
from collective.contact.core.schema import ContactList, ContactChoice
from collective.dms.basecontent.dmsdocument import IDmsDocument, DmsDocument
from collective.dms.mailcontent.dmsmail import IDmsIncomingMail, DmsIncomingMail
from pfwbged.basecontent import _
from .widget import AjaxChosenFieldWidget
class IPfwbBaseDocument(IDmsDocument):
original_paper_version = schema.Choice(
title=_(u'Original Paper Version'),
required=False,
vocabulary='collective.dms.basecontent.recipient_groups')
form.widget(original_paper_version=AjaxChosenFieldWidget)
class PfwbBaseDocument(DmsDocument):
implements(IPfwbBaseDocument)
class IMedicalCertificate(IDmsIncomingMail):
""" """
concerned_person = schema.Choice(
title=_(u'Concerned Person'),
required=True,
vocabulary='plone.principalsource.Users')
form.widget(concerned_person=AjaxChosenFieldWidget)
class MedicalCertificate(DmsIncomingMail):
implements(IMedicalCertificate)
class IPressRelease(IPfwbBaseDocument):
""" """
contacts = ContactList(
title=_(u'Contacts'),
required=False)
class PressRelease(PfwbBaseDocument):
implements(IPressRelease)
class IMeetingDate(IPfwbBaseDocument):
""" """
meeting_date = schema.Date(
title=_(u'Meeting Date'),
required=False)
class IAgenda(IMeetingDate):
""" """
class Agenda(PfwbBaseDocument):
implements(IAgenda)
class IBoardDecision(IPfwbBaseDocument):
""" """
meeting_date = schema.Date(
title=_(u'Meeting Date'),
required=False)
class BoardDecision(PfwbBaseDocument):
implements(IBoardDecision)
class IGreenBoardDecision(IMeetingDate):
""" """
class GreenBoardDecision(PfwbBaseDocument):
implements(IGreenBoardDecision)
class IInsuranceDocument(IPfwbBaseDocument):
""" """
person = ContactChoice(
title=_(u'Person'),
required=False)
company = schema.TextLine(
title=_(u'Insurance Company'),
required=False)
company_reference = schema.TextLine(
title=_(u'Insurance Company Reference'),
required=False)
document_type = schema.Choice(
title=_(u'Document Type'),
vocabulary='InsuranceDocumentTypes')
class InsuranceDocument(PfwbBaseDocument):
implements(IInsuranceDocument)
class IInvoice(IDmsIncomingMail):
""" """
class Invoice(DmsIncomingMail):
implements(IInvoice)
class INoteForBoard(IPfwbBaseDocument):
""" """
internal_reference_no = schema.TextLine(
title=_(u'Internal Reference Number'),
required=False)
class NoteForBoard(PfwbBaseDocument):
implements(INoteForBoard)
class IInternalNote(IPfwbBaseDocument):
internal_reference_no = schema.TextLine(
title=_(u'Internal Reference Number'),
required=False)
sender = ContactChoice(
title=_(u'Sender'),
required=False)
recipients = ContactList(
title=_(u'Recipients'),
required=False)
session = schema.Choice(title=_(u'Session'),
vocabulary='Sessions', required=False)
class InternalNote(PfwbBaseDocument):
implements(IInternalNote)
class IMinutes(IPfwbBaseDocument):
reference = schema.TextLine(
title=_(u'Internal Reference'),
required=False)
meeting_people = schema.TextLine(
title=_(u'Committee or council that met'),
required=False)
sender = ContactChoice(
title=_(u'Sender'),
required=False)
recipients = ContactList(
title=_(u'Recipients'),
required=False)
class Minutes(PfwbBaseDocument):
implements(IMinutes)
class IBoardMinutes(IPfwbBaseDocument):
reference = schema.TextLine(
title=_(u'Internal Reference'),
required=False)
meeting_people = schema.TextLine(
title=_(u'Committee or council that met'),
required=False)
sender = ContactChoice(
title=_(u'Sender'),
required=False)
recipients = ContactList(
title=_(u'Recipients'),
required=False)
immediate = schema.Bool(
title=_(u'Immediate Decision'),
default=False)
class BoardMinutes(PfwbBaseDocument):
implements(IBoardMinutes)
class IApfIncomingMail(IDmsIncomingMail):
""" """
class ApfIncomingMail(DmsIncomingMail):
implements(IApfIncomingMail)
class IApfOutgoingMail(IDmsIncomingMail):
""" """
class ApfOutgoingMail(DmsIncomingMail):
implements(IApfOutgoingMail)