src/pyams_content/component/paragraph/interfaces/contact.py
changeset 1088 c83faa4b4559
parent 1087 978a2b9123b9
equal deleted inserted replaced
1085:85f4724e0c1d 1088:c83faa4b4559
    10 # FOR A PARTICULAR PURPOSE.
    10 # FOR A PARTICULAR PURPOSE.
    11 #
    11 #
    12 
    12 
    13 __docformat__ = 'restructuredtext'
    13 __docformat__ = 'restructuredtext'
    14 
    14 
       
    15 from zope.schema import Choice, Text, TextLine
    15 
    16 
    16 # import standard library
       
    17 
       
    18 # import interfaces
       
    19 from pyams_content.component.paragraph import IBaseParagraph
    17 from pyams_content.component.paragraph import IBaseParagraph
    20 from pyams_content.shared.form.interfaces import FORM_CONTENT_TYPE
    18 from pyams_content.shared.form.interfaces import FORM_CONTENT_TYPE
       
    19 from pyams_file.schema import ImageField
       
    20 from pyams_i18n.schema import I18nTextLineField
       
    21 from pyams_sequence.schema import InternalReferenceField
       
    22 from pyams_utils.schema import MailAddressField
    21 
    23 
    22 # import packages
    24 
    23 from pyams_file.schema import ImageField
       
    24 try:
    25 try:
    25     from pyams_gis.schema import GeoPointField
    26     from pyams_gis.schema import GeoPointField
    26 except ImportError:
    27 except ImportError:
    27     GeoPointField = None
    28     GeoPointField = None
    28     have_gis = False
    29     have_gis = False
    29 else:
    30 else:
    30     have_gis = True
    31     have_gis = True
    31 from pyams_i18n.schema import I18nTextLineField
       
    32 from pyams_sequence.schema import InternalReferenceField
       
    33 from pyams_utils.schema import MailAddressField
       
    34 from zope.schema import TextLine, Text, Choice
       
    35 
    32 
    36 from pyams_content import _
    33 from pyams_content import _
    37 
    34 
    38 
    35 
    39 #
    36 #
    48 class IContactParagraph(IBaseParagraph):
    45 class IContactParagraph(IBaseParagraph):
    49     """Contact paragraph interface"""
    46     """Contact paragraph interface"""
    50 
    47 
    51     name = TextLine(title=_("Contact identity"),
    48     name = TextLine(title=_("Contact identity"),
    52                     description=_("Name of the contact"),
    49                     description=_("Name of the contact"),
    53                     required=True)
    50                     required=False)
    54 
    51 
    55     charge = I18nTextLineField(title=_("In charge of"),
    52     charge = I18nTextLineField(title=_("In charge of"),
    56                                description=_("Label of contact function"),
    53                                description=_("Label of contact function"),
    57                                required=False)
    54                                required=False)
       
    55 
       
    56     company = TextLine(title=_("Company"),
       
    57                        description=_("Business name of the employer"),
       
    58                        required=False)
    58 
    59 
    59     contact_email = MailAddressField(title=_("Email address"),
    60     contact_email = MailAddressField(title=_("Email address"),
    60                                      description=_("Contact email address"),
    61                                      description=_("Contact email address"),
    61                                      required=False)
    62                                      required=False)
    62 
    63 
    63     contact_form = InternalReferenceField(title=_("Contact form"),
    64     contact_form = InternalReferenceField(title=_("Contact form"),
    64                                           description=_("Reference of contact form"),
    65                                           description=_("Reference of contact form"),
    65                                           required=False,
    66                                           required=False,
    66                                           content_type=FORM_CONTENT_TYPE)
    67                                           content_type=FORM_CONTENT_TYPE)
       
    68 
       
    69     phone_number = TextLine(title=_('Phone number'),
       
    70                             description=_('Phone number in international format.\n E.g. +33 ....'),
       
    71                             required=False, )
    67 
    72 
    68     photo = ImageField(title=_("Photo"),
    73     photo = ImageField(title=_("Photo"),
    69                        description=_("Use 'browse' button to select contact picture"),
    74                        description=_("Use 'browse' button to select contact picture"),
    70                        required=False)
    75                        required=False)
    71 
    76