10 # FOR A PARTICULAR PURPOSE. |
10 # FOR A PARTICULAR PURPOSE. |
11 # |
11 # |
12 |
12 |
13 __docformat__ = 'restructuredtext' |
13 __docformat__ = 'restructuredtext' |
14 |
14 |
|
15 from persistent import Persistent |
|
16 from zope.schema.fieldproperty import FieldProperty |
15 |
17 |
16 # import standard library |
18 from pyams_skin.interfaces.extension import GOOGLE_ANALYTICS_INFO_KEY, GOOGLE_TAGS_INFO_KEY, IGoogleAnalyticsInfo, \ |
17 |
19 IGoogleTagManagerInfo, IUserReportInfo, USER_REPORT_INFO_KEY |
18 # import interfaces |
20 from pyams_utils.adapter import adapter_config, get_annotation_adapter |
19 from pyams_skin.interfaces.extension import \ |
21 from pyams_utils.factory import factory_config |
20 IGoogleAnalyticsInfo, GOOGLE_ANALYTICS_INFO_KEY, \ |
|
21 IUserReportInfo, USER_REPORT_INFO_KEY, IGoogleTagManagerInfo, GOOGLE_TAGS_INFO_KEY |
|
22 from pyams_utils.interfaces.site import ISiteRoot |
22 from pyams_utils.interfaces.site import ISiteRoot |
23 |
23 |
24 # import packages |
|
25 from persistent import Persistent |
|
26 from pyams_utils.adapter import adapter_config, get_annotation_adapter |
|
27 from zope.interface import implementer |
|
28 from zope.schema.fieldproperty import FieldProperty |
|
29 |
24 |
30 |
25 @factory_config(IGoogleTagManagerInfo) |
31 @implementer(IGoogleTagManagerInfo) |
|
32 class GoogleTagManagerInfo(Persistent): |
26 class GoogleTagManagerInfo(Persistent): |
33 """Google tag manager settings class""" |
27 """Google tag manager settings class""" |
34 |
28 |
35 enabled = FieldProperty(IGoogleTagManagerInfo['enabled']) |
29 enabled = FieldProperty(IGoogleTagManagerInfo['enabled']) |
|
30 on_accepted_cookie = FieldProperty(IGoogleTagManagerInfo['on_accepted_cookie']) |
|
31 cookie_name = FieldProperty(IGoogleTagManagerInfo['cookie_name']) |
|
32 rejected_cookie_value = FieldProperty(IGoogleTagManagerInfo['rejected_cookie_value']) |
36 container_id = FieldProperty(IGoogleTagManagerInfo['container_id']) |
33 container_id = FieldProperty(IGoogleTagManagerInfo['container_id']) |
37 activation_mode = FieldProperty(IGoogleTagManagerInfo['activation_mode']) |
34 activation_mode = FieldProperty(IGoogleTagManagerInfo['activation_mode']) |
38 |
35 |
39 |
36 |
40 @adapter_config(context=ISiteRoot, provides=IGoogleTagManagerInfo) |
37 @adapter_config(context=ISiteRoot, provides=IGoogleTagManagerInfo) |
41 def google_tag_manager_info_factory(context): |
38 def google_tag_manager_info_factory(context): |
42 """Google Tag Manager settings factory""" |
39 """Google Tag Manager settings factory""" |
43 return get_annotation_adapter(context, GOOGLE_TAGS_INFO_KEY, GoogleTagManagerInfo, |
40 return get_annotation_adapter(context, GOOGLE_TAGS_INFO_KEY, IGoogleTagManagerInfo, |
44 notify=False, locate=False) |
41 notify=False, locate=False) |
45 |
42 |
46 |
43 |
47 @implementer(IGoogleAnalyticsInfo) |
44 @factory_config(IGoogleAnalyticsInfo) |
48 class GoogleAnalyticsInfo(Persistent): |
45 class GoogleAnalyticsInfo(Persistent): |
49 """Google Analytics settings class""" |
46 """Google Analytics settings class""" |
50 |
47 |
51 enabled = FieldProperty(IGoogleAnalyticsInfo['enabled']) |
48 enabled = FieldProperty(IGoogleAnalyticsInfo['enabled']) |
|
49 on_accepted_cookie = FieldProperty(IGoogleAnalyticsInfo['on_accepted_cookie']) |
|
50 cookie_name = FieldProperty(IGoogleAnalyticsInfo['cookie_name']) |
|
51 rejected_cookie_value = FieldProperty(IGoogleAnalyticsInfo['rejected_cookie_value']) |
52 website_id = FieldProperty(IGoogleAnalyticsInfo['website_id']) |
52 website_id = FieldProperty(IGoogleAnalyticsInfo['website_id']) |
53 verification_code = FieldProperty(IGoogleAnalyticsInfo['verification_code']) |
53 verification_code = FieldProperty(IGoogleAnalyticsInfo['verification_code']) |
54 activation_mode = FieldProperty(IGoogleAnalyticsInfo['activation_mode']) |
54 activation_mode = FieldProperty(IGoogleAnalyticsInfo['activation_mode']) |
55 |
55 |
56 |
56 |
57 @adapter_config(context=ISiteRoot, provides=IGoogleAnalyticsInfo) |
57 @adapter_config(context=ISiteRoot, provides=IGoogleAnalyticsInfo) |
58 def google_analytics_info_factory(context): |
58 def google_analytics_info_factory(context): |
59 """Google Analytics settings factory""" |
59 """Google Analytics settings factory""" |
60 return get_annotation_adapter(context, GOOGLE_ANALYTICS_INFO_KEY, GoogleAnalyticsInfo, |
60 return get_annotation_adapter(context, GOOGLE_ANALYTICS_INFO_KEY, IGoogleAnalyticsInfo, |
61 notify=False, locate=False) |
61 notify=False, locate=False) |
62 |
62 |
63 |
63 |
64 @implementer(IUserReportInfo) |
64 @factory_config(IUserReportInfo) |
65 class UserReportInfo(Persistent): |
65 class UserReportInfo(Persistent): |
66 """User report settings class""" |
66 """User report settings class""" |
67 |
67 |
68 enabled = FieldProperty(IUserReportInfo['enabled']) |
68 enabled = FieldProperty(IUserReportInfo['enabled']) |
|
69 on_accepted_cookie = FieldProperty(IUserReportInfo['on_accepted_cookie']) |
|
70 cookie_name = FieldProperty(IUserReportInfo['cookie_name']) |
|
71 rejected_cookie_value = FieldProperty(IUserReportInfo['rejected_cookie_value']) |
69 account_id = FieldProperty(IUserReportInfo['account_id']) |
72 account_id = FieldProperty(IUserReportInfo['account_id']) |
70 activation_mode = FieldProperty(IUserReportInfo['activation_mode']) |
73 activation_mode = FieldProperty(IUserReportInfo['activation_mode']) |
71 |
74 |
72 |
75 |
73 @adapter_config(context=ISiteRoot, provides=IUserReportInfo) |
76 @adapter_config(context=ISiteRoot, provides=IUserReportInfo) |
74 def user_report_info_factory(context): |
77 def user_report_info_factory(context): |
75 """User report settings factory""" |
78 """User report settings factory""" |
76 return get_annotation_adapter(context, USER_REPORT_INFO_KEY, UserReportInfo, |
79 return get_annotation_adapter(context, USER_REPORT_INFO_KEY, IUserReportInfo, |
77 notify=False, locate=False) |
80 notify=False, locate=False) |