{% extends 'base.html' %} {% load static %} {% block title %}User Activity Analysis{% endblock %} {% block extra_css %} {% endblock %} {% block content %}

📈 User Activity Analysis

{% if not analyzed_user %}
Select User for Analysis
👥 Most Active Users
{% for user in active_users %} {% endfor %}
User Role Activities Security Events Action
{{ user.user__first_name }} {{ user.user__last_name }} {{ user.user__role|title }} {{ user.activity_count }} {% if user.security_events > 0 %} {{ user.security_events }} {% else %} 0 {% endif %} Analyze
📦 Module Activity
{% for module in module_activity %} {% endfor %}
Module Total Activities Unique Users
{{ module.module|title }} {{ module.count }} {{ module.unique_users }}
🌙 After-Hours Activity
{% for activity in after_hours %}
{{ activity.user__first_name }} {{ activity.user__last_name }}
{{ activity.count }} activities Analyze
{% empty %}

No after-hours activity detected

{% endfor %}
Bulk Operations
{% for operation in bulk_operations %}
{{ operation.user__first_name }} {{ operation.user__last_name }}
{{ operation.action }}
{{ operation.count }} operations Analyze
{% empty %}

No bulk operations detected

{% endfor %}
{% else %}
👤 Analysis for {{ analyzed_user.get_full_name }}
Back to Overview
Role: {{ analyzed_user.role|title }}
Email: {{ analyzed_user.email }}
{% if analyzed_user.branch %} Branch: {{ analyzed_user.branch.name }} {% endif %}
{% if security_events > 0 %}
⚠️ {{ security_events }} security events detected in the last {{ days }} days
{% endif %}
{{ total_activities }}
Total Activities
{{ unique_modules }}
Modules Used
{{ security_events }}
Security Events
{% if total_activities > 0 %} {{ total_activities|floatformat:0 }} {% else %} 0 {% endif %}
Avg Daily Activity
📈 Daily Activity Pattern
Hourly Activity Pattern
📦 Module Usage
{% for module in module_usage %} {% endfor %}
Module Activities Percentage
{{ module.module|title }} {{ module.count }} {% widthratio module.count total_activities 100 %}%
Recent Activities
{% for activity in recent_activities %}
{{ activity.action }} in {{ activity.module|title }}
{{ activity.description|truncatechars:60 }}
{{ activity.timestamp|timesince }} ago
{% if activity.is_security_event %}
Security {% endif %}
{% endfor %}
{% if access_pattern %}
Access Patterns
{% for pattern in access_pattern %} {% endfor %}
Date Total Requests Unique Pages Data Exports Failed Attempts After Hours Primary IP
{{ pattern.date|date:"M d, Y" }} {{ pattern.total_requests }} {{ pattern.unique_pages_accessed }} {{ pattern.data_exports }} {% if pattern.failed_access_attempts > 0 %} {{ pattern.failed_access_attempts }} {% else %} 0 {% endif %} {% if pattern.after_hours_access > 0 %} {{ pattern.after_hours_access }} {% else %} 0 {% endif %} {{ pattern.primary_ip|default:"-" }}
{% endif %} {% endif %}
{% endblock %} {% block extra_js %} {% if analyzed_user %} {% endif %} {% endblock %}