core: properly handle invites; audit: log invite creation and usage
This commit is contained in:
		@ -24,6 +24,7 @@ class AuditEntry(UUIDModel):
 | 
			
		||||
    ACTION_SUSPICIOUS_REQUEST = 'suspicious_request'
 | 
			
		||||
    ACTION_SIGN_UP = 'sign_up'
 | 
			
		||||
    ACTION_PASSWORD_RESET = 'password_reset'
 | 
			
		||||
    ACTION_INVITE_CREATED = 'invite_created'
 | 
			
		||||
    ACTION_INVITE_USED = 'invite_used'
 | 
			
		||||
    ACTIONS = (
 | 
			
		||||
        (ACTION_LOGIN, ACTION_LOGIN),
 | 
			
		||||
@ -33,6 +34,7 @@ class AuditEntry(UUIDModel):
 | 
			
		||||
        (ACTION_SUSPICIOUS_REQUEST, ACTION_SUSPICIOUS_REQUEST),
 | 
			
		||||
        (ACTION_SIGN_UP, ACTION_SIGN_UP),
 | 
			
		||||
        (ACTION_PASSWORD_RESET, ACTION_PASSWORD_RESET),
 | 
			
		||||
        (ACTION_INVITE_CREATED, ACTION_INVITE_CREATED),
 | 
			
		||||
        (ACTION_INVITE_USED, ACTION_INVITE_USED),
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -4,6 +4,7 @@ from django.contrib.auth.signals import (user_logged_in, user_logged_out,
 | 
			
		||||
from django.dispatch import receiver
 | 
			
		||||
 | 
			
		||||
from passbook.audit.models import AuditEntry
 | 
			
		||||
from passbook.core.signals import invite_created, invite_used, user_signed_up
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@receiver(user_logged_in)
 | 
			
		||||
@ -16,6 +17,21 @@ def on_user_logged_out(sender, request, user, **kwargs):
 | 
			
		||||
    """Log successfully logout"""
 | 
			
		||||
    AuditEntry.create(AuditEntry.ACTION_LOGOUT, request)
 | 
			
		||||
 | 
			
		||||
@receiver(user_signed_up)
 | 
			
		||||
def on_user_signed_up(sender, request, user, **kwargs):
 | 
			
		||||
    """Log successfully signed up"""
 | 
			
		||||
    AuditEntry.create(AuditEntry.ACTION_SIGN_UP, request)
 | 
			
		||||
 | 
			
		||||
@receiver(invite_created)
 | 
			
		||||
def on_invite_created(sender, request, invite, **kwargs):
 | 
			
		||||
    """Log Invite creation"""
 | 
			
		||||
    AuditEntry.create(AuditEntry.ACTION_INVITE_CREATED, request, invite_uuid=invite.uuid)
 | 
			
		||||
 | 
			
		||||
@receiver(invite_used)
 | 
			
		||||
def on_invite_used(sender, request, invite, **kwargs):
 | 
			
		||||
    """Log Invite usage"""
 | 
			
		||||
    AuditEntry.create(AuditEntry.ACTION_INVITE_USED, request, invite_uuid=invite.uuid)
 | 
			
		||||
 | 
			
		||||
@receiver(user_login_failed)
 | 
			
		||||
def on_user_login_failed(sender, request, user, **kwargs):
 | 
			
		||||
    """Log failed login attempt"""
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user