diff --git a/rhodecode/events.py b/rhodecode/events.py new file mode 100644 --- /dev/null +++ b/rhodecode/events.py @@ -0,0 +1,14 @@ + +from zope.interface import implementer +from rhodecode.interfaces import IUserRegistered + + +@implementer(IUserRegistered) +class UserRegistered(object): + """ + An instance of this class is emitted as an :term:`event` whenever a user + account is registered. + """ + def __init__(self, user, session): + self.user = user + self.session = session diff --git a/rhodecode/interfaces.py b/rhodecode/interfaces.py new file mode 100644 --- /dev/null +++ b/rhodecode/interfaces.py @@ -0,0 +1,11 @@ + +from zope.interface import Attribute, Interface + + +class IUserRegistered(Interface): + """ + An event type that is emitted whenever a new user registers a user + account. + """ + user = Attribute('The user object.') + session = Attribute('The session while processing the register form post.')