Added employees management functions for Payroll staff
This commit is contained in:
@@ -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/<int:employee_index>/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/<int:employee_index>/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/<int:employee_index>')
|
||||
@admin_required
|
||||
@login_required
|
||||
def employee_detail(employee_index):
|
||||
"""View employee details with attendance summary"""
|
||||
try:
|
||||
|
||||
@@ -93,6 +93,10 @@
|
||||
<span class="menu-text">System Logs</span>
|
||||
</a>
|
||||
{% elif session.role in ['payroll'] %}
|
||||
<a href="{{ url_for('employees') }}" class="menu-item">
|
||||
<i class="fas fa-user"></i>
|
||||
<span class="menu-text">Employees</span>
|
||||
</a>
|
||||
<a href="{{ url_for('attendance_report') }}" class="menu-item">
|
||||
<i class="fas fa-chart-line"></i>
|
||||
<span class="menu-text">Reports</span>
|
||||
|
||||
@@ -24,7 +24,7 @@ extra_head %}
|
||||
</div>
|
||||
|
||||
<div class="header-actions">
|
||||
{% if session.role == 'admin' %}
|
||||
{% if session.role in ['admin', 'payroll'] %}
|
||||
<a href="{{ url_for('create_employee') }}" class="btn btn-primary">
|
||||
<i class="fas fa-plus"></i>
|
||||
Add Employee
|
||||
@@ -177,7 +177,7 @@ extra_head %}
|
||||
<i class="fas fa-eye"></i>
|
||||
</a>
|
||||
|
||||
{% if session.role == 'admin' %}
|
||||
{% if session.role in ['admin', 'payroll'] %}
|
||||
<a
|
||||
href="{{ url_for('edit_employee', employee_index=employee.index) }}"
|
||||
class="btn btn-sm btn-warning"
|
||||
|
||||
Reference in New Issue
Block a user