diff -r f6b70a0c19e3 -r 08196fe15f4a src/pyams_skin/extension.py --- a/src/pyams_skin/extension.py Fri Dec 28 10:58:27 2018 +0100 +++ b/src/pyams_skin/extension.py Wed Jan 16 11:56:44 2019 +0100 @@ -12,27 +12,24 @@ __docformat__ = 'restructuredtext' - -# import standard library +from persistent import Persistent +from zope.schema.fieldproperty import FieldProperty -# import interfaces -from pyams_skin.interfaces.extension import \ - IGoogleAnalyticsInfo, GOOGLE_ANALYTICS_INFO_KEY, \ - IUserReportInfo, USER_REPORT_INFO_KEY, IGoogleTagManagerInfo, GOOGLE_TAGS_INFO_KEY +from pyams_skin.interfaces.extension import GOOGLE_ANALYTICS_INFO_KEY, GOOGLE_TAGS_INFO_KEY, IGoogleAnalyticsInfo, \ + IGoogleTagManagerInfo, IUserReportInfo, USER_REPORT_INFO_KEY +from pyams_utils.adapter import adapter_config, get_annotation_adapter +from pyams_utils.factory import factory_config from pyams_utils.interfaces.site import ISiteRoot -# import packages -from persistent import Persistent -from pyams_utils.adapter import adapter_config, get_annotation_adapter -from zope.interface import implementer -from zope.schema.fieldproperty import FieldProperty - -@implementer(IGoogleTagManagerInfo) +@factory_config(IGoogleTagManagerInfo) class GoogleTagManagerInfo(Persistent): """Google tag manager settings class""" enabled = FieldProperty(IGoogleTagManagerInfo['enabled']) + on_accepted_cookie = FieldProperty(IGoogleTagManagerInfo['on_accepted_cookie']) + cookie_name = FieldProperty(IGoogleTagManagerInfo['cookie_name']) + rejected_cookie_value = FieldProperty(IGoogleTagManagerInfo['rejected_cookie_value']) container_id = FieldProperty(IGoogleTagManagerInfo['container_id']) activation_mode = FieldProperty(IGoogleTagManagerInfo['activation_mode']) @@ -40,15 +37,18 @@ @adapter_config(context=ISiteRoot, provides=IGoogleTagManagerInfo) def google_tag_manager_info_factory(context): """Google Tag Manager settings factory""" - return get_annotation_adapter(context, GOOGLE_TAGS_INFO_KEY, GoogleTagManagerInfo, + return get_annotation_adapter(context, GOOGLE_TAGS_INFO_KEY, IGoogleTagManagerInfo, notify=False, locate=False) -@implementer(IGoogleAnalyticsInfo) +@factory_config(IGoogleAnalyticsInfo) class GoogleAnalyticsInfo(Persistent): """Google Analytics settings class""" enabled = FieldProperty(IGoogleAnalyticsInfo['enabled']) + on_accepted_cookie = FieldProperty(IGoogleAnalyticsInfo['on_accepted_cookie']) + cookie_name = FieldProperty(IGoogleAnalyticsInfo['cookie_name']) + rejected_cookie_value = FieldProperty(IGoogleAnalyticsInfo['rejected_cookie_value']) website_id = FieldProperty(IGoogleAnalyticsInfo['website_id']) verification_code = FieldProperty(IGoogleAnalyticsInfo['verification_code']) activation_mode = FieldProperty(IGoogleAnalyticsInfo['activation_mode']) @@ -57,15 +57,18 @@ @adapter_config(context=ISiteRoot, provides=IGoogleAnalyticsInfo) def google_analytics_info_factory(context): """Google Analytics settings factory""" - return get_annotation_adapter(context, GOOGLE_ANALYTICS_INFO_KEY, GoogleAnalyticsInfo, + return get_annotation_adapter(context, GOOGLE_ANALYTICS_INFO_KEY, IGoogleAnalyticsInfo, notify=False, locate=False) -@implementer(IUserReportInfo) +@factory_config(IUserReportInfo) class UserReportInfo(Persistent): """User report settings class""" enabled = FieldProperty(IUserReportInfo['enabled']) + on_accepted_cookie = FieldProperty(IUserReportInfo['on_accepted_cookie']) + cookie_name = FieldProperty(IUserReportInfo['cookie_name']) + rejected_cookie_value = FieldProperty(IUserReportInfo['rejected_cookie_value']) account_id = FieldProperty(IUserReportInfo['account_id']) activation_mode = FieldProperty(IUserReportInfo['activation_mode']) @@ -73,5 +76,5 @@ @adapter_config(context=ISiteRoot, provides=IUserReportInfo) def user_report_info_factory(context): """User report settings factory""" - return get_annotation_adapter(context, USER_REPORT_INFO_KEY, UserReportInfo, + return get_annotation_adapter(context, USER_REPORT_INFO_KEY, IUserReportInfo, notify=False, locate=False)