[1] | 1 | from AccessControl import ClassSecurityInfo |
---|
| 2 | try: |
---|
| 3 | from Products.CMFCore.permissions import ModifyPortalContent, View |
---|
| 4 | except ImportError: |
---|
| 5 | from Products.CMFCore.CMFCorePermissions import ModifyPortalContent, View |
---|
| 6 | try: |
---|
| 7 | from Products.LinguaPlone.public import * |
---|
| 8 | except ImportError: |
---|
| 9 | from Products.Archetypes.public import * |
---|
| 10 | |
---|
| 11 | #from Products.ATContentTypes.content.base import ATCTContent |
---|
| 12 | from Products.ATContentTypes.content.document import ATDocumentSchema |
---|
| 13 | from Products.ATContentTypes.content.document import ATDocument |
---|
| 14 | from Products.ATContentTypes.content.schemata import finalizeATCTSchema |
---|
| 15 | |
---|
| 16 | from Products.qPloneGoogleMaps.field import * |
---|
| 17 | from Products.qPloneGoogleMaps.config import * |
---|
| 18 | |
---|
| 19 | MarkerSchema = ATDocumentSchema.copy() + Schema(( |
---|
| 20 | MapField('location', |
---|
| 21 | default=None, |
---|
| 22 | required=True, |
---|
| 23 | validators=('isLocation',), |
---|
| 24 | widget=MapWidget( |
---|
| 25 | label='Marker Location', |
---|
| 26 | label_msgid='label_marker_center', |
---|
| 27 | description='Here you can choose marker location on the map by mouse clicking', |
---|
| 28 | description_msgid='help_marker_center', |
---|
| 29 | i18n_domain='googlemaps', |
---|
| 30 | ) |
---|
| 31 | ), |
---|
| 32 | |
---|
| 33 | StringField('color', |
---|
| 34 | vocabulary=('default', 'red', 'green', 'blue'), |
---|
| 35 | default='default', |
---|
| 36 | widget=SelectionWidget( |
---|
| 37 | label='Marker Color', |
---|
| 38 | label_msgid='label_marker_color', |
---|
| 39 | description_msgid='help_marker_color', |
---|
| 40 | i18n_domain='googlemaps', |
---|
| 41 | ) |
---|
| 42 | ), |
---|
| 43 | |
---|
| 44 | ), |
---|
| 45 | ) |
---|
| 46 | |
---|
| 47 | finalizeATCTSchema(MarkerSchema) |
---|
| 48 | |
---|
| 49 | class Marker(ATDocument): |
---|
| 50 | """ Map Marker """ |
---|
| 51 | |
---|
| 52 | schema = MarkerSchema |
---|
| 53 | |
---|
| 54 | content_icon = 'marker_icon.gif' |
---|
| 55 | portal_type = 'Marker' |
---|
| 56 | meta_type = 'Marker' |
---|
| 57 | archetype_name = 'Marker' |
---|
| 58 | default_view = 'marker_view' |
---|
| 59 | immediate_view = 'marker_view' |
---|
| 60 | suppl_views = () |
---|
| 61 | typeDescription = 'Marker document' |
---|
| 62 | typeDescMsgId = 'marker_description_edit' |
---|
| 63 | |
---|
| 64 | security = ClassSecurityInfo() |
---|
| 65 | |
---|
| 66 | # Get the standard actions (tabs) |
---|
| 67 | #actions = ATCTContent.actions |
---|
| 68 | |
---|
| 69 | # Make sure we get title-to-id generation when an object is created |
---|
| 70 | _at_rename_after_creation = True |
---|
| 71 | |
---|
| 72 | security.declareProtected(View, 'geoLocation') |
---|
| 73 | def geoLocation(self): |
---|
| 74 | return self.getLocation() |
---|
| 75 | |
---|
| 76 | registerType(Marker, PROJECTNAME) |
---|