src/pyams_skin/extension.py
changeset 506 08196fe15f4a
parent 328 277aea3b91ec
child 576 998a3b7cac64
equal deleted inserted replaced
505:f6b70a0c19e3 506:08196fe15f4a
    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)