Index: music/urls.py
===================================================================
--- music/urls.py	(revision bc185a41808009d8e1e60e9853a58f21bdbe2357)
+++ music/urls.py	(revision 9ed4889a557f196dd21c3f48e3edef203a3a1051)
@@ -22,3 +22,5 @@
     path('track/per-genre', views.tracks_count_per_genre, name='track_count_per_genre'),
     path('customer/rank-list', views.rank_list_most_active_customers, name='rank_list_most_active_customers'),
+    path('employee/batch-update-reports-to/', views.batch_update_reports_to, name='batch_update_reports_to'),
+
 ]
Index: music/views.py
===================================================================
--- music/views.py	(revision bc185a41808009d8e1e60e9853a58f21bdbe2357)
+++ music/views.py	(revision 9ed4889a557f196dd21c3f48e3edef203a3a1051)
@@ -1,2 +1,4 @@
+import json
+
 from django.shortcuts import render
 import os
@@ -241,2 +243,35 @@
         'selected_customer_id': selected_customer_id,
     })
+
+from django.shortcuts import render, redirect
+from music.models import Employee
+from django.contrib import messages
+
+def batch_update_reports_to(request):
+    selected_manager_id = request.POST.get('manager_id') or request.GET.get('manager_id')
+    employees = Employee.objects.exclude(employee_id=selected_manager_id) if selected_manager_id else Employee.objects.all()
+
+    if request.method == 'POST':
+        selected_employee_ids = request.POST.getlist('employee_ids')
+
+        if selected_manager_id and selected_employee_ids:
+            json_data = json.dumps([
+                {"employee_id": int(emp_id), "reports_to_id": int(selected_manager_id)}
+                for emp_id in selected_employee_ids
+            ])
+            try:
+                with connection.cursor() as cursor:
+                    cursor.execute("SELECT batch_update_reports_to(%s::json);", [json_data])
+                messages.success(request, "Batch update successful.")
+                return redirect('batch_update_reports_to')
+
+            except Exception as e:
+                messages.error(request, f"Error during update: {e}")
+
+    all_employees = Employee.objects.all()
+    return render(request, 'batch_update_reports_to.html', {
+        'employees': employees,
+        'all_employees': all_employees,
+        'selected_manager_id': selected_manager_id
+    })
+
Index: templates/batch_update_reports_to.html
===================================================================
--- templates/batch_update_reports_to.html	(revision 9ed4889a557f196dd21c3f48e3edef203a3a1051)
+++ templates/batch_update_reports_to.html	(revision 9ed4889a557f196dd21c3f48e3edef203a3a1051)
@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.5/dist/css/bootstrap.min.css" rel="stylesheet"
+          integrity="sha384-SgOJa3DmI69IUzQ2PVdRZhwQ+dy64/BUtbMJw1MZ8t5HZApcHrRKUc4W0kG879m7" crossorigin="anonymous">
+    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.5/dist/js/bootstrap.bundle.min.js"
+            integrity="sha384-k6d4wzSIapyDyv1kpU366/PK5hCdSbCRGRCMv+eplOQJWyd1fbcAu9OCUj5zNLiq"
+            crossorigin="anonymous"></script>
+    <title>Batch Update Reports To</title>
+</head>
+<body class="d-flex bg-light">
+{% include 'sidebar.html' %}
+
+<div class="container mt-5">
+    <h1 class="text-center mb-4">Batch Update Employees' Reports To</h1>
+
+    <form method="post" class="card p-4 shadow-sm bg-white">
+        {% csrf_token %}
+
+        <div class="mb-3">
+            <label for="manager_id" class="form-label"><strong>Select Manager</strong></label>
+            <select name="manager_id" id="manager_id" class="form-select" onchange="this.form.submit()">
+                <option value="">-- Choose Manager --</option>
+                {% for emp in all_employees %}
+                    <option value="{{ emp.employee_id }}"
+                        {% if emp.employee_id|stringformat:"s" == selected_manager_id %}selected{% endif %}>
+                        {{ emp.first_name }} {{ emp.last_name }}
+                    </option>
+                {% endfor %}
+            </select>
+        </div>
+
+        <div class="mb-3">
+            <label class="form-label"><strong>Select Employees to Report to the Manager</strong></label>
+            <div class="form-check">
+                {% for emp in employees %}
+                    <div class="form-check mb-2">
+                        <input class="form-check-input" type="checkbox" name="employee_ids" value="{{ emp.employee_id }}" id="emp{{ emp.employee_id }}">
+                        <label class="form-check-label" for="emp{{ emp.employee_id }}">
+                            {{ emp.first_name }} {{ emp.last_name }}
+                        </label>
+                    </div>
+                {% endfor %}
+                {% if employees|length == 0 %}
+                    <div class="alert alert-info mt-2">No employees available for assignment.</div>
+                {% endif %}
+            </div>
+        </div>
+
+        <div class="d-grid">
+            <button type="submit" class="btn btn-primary">Update Reports To</button>
+        </div>
+
+    </form>
+</div>
+
+</body>
+</html>
Index: templates/sidebar.html
===================================================================
--- templates/sidebar.html	(revision bc185a41808009d8e1e60e9853a58f21bdbe2357)
+++ templates/sidebar.html	(revision 9ed4889a557f196dd21c3f48e3edef203a3a1051)
@@ -80,4 +80,10 @@
             </a>
         </li>
+        <li class="nav-item">
+            <a href="{% url 'batch_update_reports_to' %}"
+               class="nav-link {% if request.path == 'employee/batch-update-reports-to/' %}active{% endif %}">
+                Update manager
+            </a>
+        </li>
     </ul>
 </div>
