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 |