# -*- coding: utf-8 -*-
"""
Activities App Configuration

This module configures the activities Django app which handles
activity logging, audit trails, and user action tracking.

Features:
    - Automatic activity logging via signals
    - User action tracking
    - Admin operation logging
    - Security event monitoring
    - Audit trail generation

Author: AdTlas Development Team
Version: 1.0.0
Last Updated: 2024
"""

from django.apps import AppConfig


class ActivitiesConfig(AppConfig):
    """
    Django app configuration for the activities application.
    
    This configuration class sets up the activities app with
    proper naming, auto field configuration, and signal registration.
    
    Attributes:
        default_auto_field (str): The default auto field type for models
        name (str): The full Python path to the application
        verbose_name (str): Human-readable name for the application
    """
    
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'apps.activities'
    verbose_name = 'Activities & Audit Logs'
    
    def ready(self):
        """
        Perform initialization when Django starts.
        
        This method is called when the app is ready and imports
        signal handlers for automatic activity logging.
        """
        # Import signal handlers for automatic activity logging
        try:
            import apps.activities.signals  # noqa F401
        except ImportError:
            pass
        
        # Import any additional initialization code
        try:
            from . import receivers  # noqa F401
        except ImportError:
            pass