src/pyams_notify/handlers/login.py
changeset 35 b38715db69e1
parent 28 68466fa61001
equal deleted inserted replaced
34:a9e5a6bd8ca2 35:b38715db69e1
    14 
    14 
    15 
    15 
    16 # import standard library
    16 # import standard library
    17 
    17 
    18 # import interfaces
    18 # import interfaces
       
    19 from pyams_content.interfaces import WEBMASTER_ROLE
    19 from pyams_notify.interfaces import INotification, INotificationHandler
    20 from pyams_notify.interfaces import INotification, INotificationHandler
    20 from pyams_security.interfaces import IAuthenticatedPrincipalEvent, IProtectedObject
    21 from pyams_security.interfaces import IAuthenticatedPrincipalEvent, IProtectedObject, ADMIN_USER_ID, SYSTEM_ADMIN_ROLE
    21 
    22 
    22 # import packages
    23 # import packages
    23 from pyams_notify.event import Notification
    24 from pyams_notify.event import Notification
    24 from pyams_utils.adapter import adapter_config, ContextAdapter
    25 from pyams_utils.adapter import adapter_config, ContextAdapter
    25 from pyams_utils.request import query_request
    26 from pyams_utils.request import query_request
    52     """User login notification handler"""
    53     """User login notification handler"""
    53 
    54 
    54     def get_target(self):
    55     def get_target(self):
    55         root = self.context.request.root
    56         root = self.context.request.root
    56         protection = IProtectedObject(root)
    57         protection = IProtectedObject(root)
    57         principals = {'system:admin'} | \
    58         principals = {ADMIN_USER_ID} | \
    58                      protection.get_principals('system.Manager') | \
    59                      protection.get_principals(SYSTEM_ADMIN_ROLE) | \
    59                      protection.get_principals('pyams.Webmaster')
    60                      protection.get_principals(WEBMASTER_ROLE)
    60         return {'principals': tuple(principals)}
    61         return {'principals': tuple(principals)}