From f09a78e2f85b5e2bbfc8487bec2b698f6a7f195b Mon Sep 17 00:00:00 2001 From: Nguyen Ngo Date: Wed, 10 Sep 2025 13:28:58 -0400 Subject: [PATCH] Added employees management functions for Payroll staff --- app.py | 10 +++++----- templates/base_authenticated.html | 4 ++++ templates/employees.html | 4 ++-- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app.py b/app.py index 8ca02a5..441a3d9 100644 --- a/app.py +++ b/app.py @@ -5923,7 +5923,7 @@ def export_statistics(): # EMPLOYEE MANAGEMENT ROUTES @app.route('/employees') -@admin_required +@login_required def employees(): """Display employee management page with search and pagination""" try: @@ -5985,7 +5985,7 @@ def employees(): return redirect(url_for('dashboard')) @app.route('/employees/create', methods=['GET', 'POST']) -@admin_required +@login_required @log_database_operations('employee_creation') def create_employee(): """Create new employee (Admin only)""" @@ -6047,7 +6047,7 @@ def create_employee(): return render_template('create_employee.html') @app.route('/employees//edit', methods=['GET', 'POST']) -@admin_required +@login_required @log_database_operations('employee_update') def edit_employee(employee_index): """Edit existing employee (Admin only)""" @@ -6118,7 +6118,7 @@ def edit_employee(employee_index): return redirect(url_for('employees')) @app.route('/employees//delete', methods=['POST']) -@admin_required +@login_required @log_database_operations('employee_deletion') def delete_employee(employee_index): """Delete employee (Admin only) - Enhanced with better logging""" @@ -6205,7 +6205,7 @@ def api_employees_search(): return jsonify({'error': 'Search failed'}), 500 @app.route('/employees/') -@admin_required +@login_required def employee_detail(employee_index): """View employee details with attendance summary""" try: diff --git a/templates/base_authenticated.html b/templates/base_authenticated.html index 525be0d..a603c0d 100644 --- a/templates/base_authenticated.html +++ b/templates/base_authenticated.html @@ -93,6 +93,10 @@ System Logs {% elif session.role in ['payroll'] %} + + + Employees + Reports diff --git a/templates/employees.html b/templates/employees.html index 987b98b..92fb1e9 100644 --- a/templates/employees.html +++ b/templates/employees.html @@ -24,7 +24,7 @@ extra_head %}