| {% extends "base.html" %} | |
| {% block title %}Employees{% endblock %} | |
| {% block content %} | |
| <div class="container-fluid"> | |
| <div class="d-flex justify-content-between mb-4"> | |
| <h1><i class="bi bi-people"></i> Employees</h1> | |
| <button class="btn btn-success" data-bs-toggle="modal" data-bs-target="#addModal"> | |
| <i class="bi bi-plus"></i> Add Employee | |
| </button> | |
| </div> | |
| <div class="card"> | |
| <div class="card-body"> | |
| <table class="table table-striped"> | |
| <thead class="table-dark"> | |
| <tr> | |
| <th>ID</th><th>Name</th><th>Department</th><th>Role</th> | |
| <th>Rate (AED/hr)</th><th>Type</th><th>Category</th><th>Actions</th> | |
| </tr> | |
| </thead> | |
| <tbody> | |
| {% for emp in employees %} | |
| <tr> | |
| <td>{{ emp.employee_id }}</td> | |
| <td>{{ emp.employee_name }}</td> | |
| <td>{{ emp.department }}</td> | |
| <td>{{ emp.role }}</td> | |
| <td>{{ emp.hourly_rate_aed }}</td> | |
| <td><span class="badge bg-info">{{ emp.employment_type }}</span></td> | |
| <td>{{ emp.cost_category }}</td> | |
| <td> | |
| <form method="post" action="/employees/delete/{{ emp.employee_id }}" style="display:inline;"> | |
| <button class="btn btn-danger btn-sm" onclick="return confirm('Delete?')"> | |
| <i class="bi bi-trash"></i> | |
| </button> | |
| </form> | |
| </td> | |
| </tr> | |
| {% endfor %} | |
| </tbody> | |
| </table> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="modal fade" id="addModal"> | |
| <div class="modal-dialog modal-lg"> | |
| <div class="modal-content"> | |
| <div class="modal-header"> | |
| <h5>Add Employee</h5> | |
| <button class="btn-close" data-bs-dismiss="modal"></button> | |
| </div> | |
| <form method="post" action="/employees/create"> | |
| <div class="modal-body"> | |
| <div class="row g-3"> | |
| <div class="col-md-6"> | |
| <label>Employee ID</label> | |
| <input type="text" class="form-control" name="employee_id" required> | |
| </div> | |
| <div class="col-md-6"> | |
| <label>Name</label> | |
| <input type="text" class="form-control" name="employee_name" required> | |
| </div> | |
| <div class="col-md-6"> | |
| <label>Department</label> | |
| <input type="text" class="form-control" name="department" required> | |
| </div> | |
| <div class="col-md-6"> | |
| <label>Role</label> | |
| <input type="text" class="form-control" name="role" required> | |
| </div> | |
| <div class="col-md-6"> | |
| <label>Hourly Rate (AED)</label> | |
| <input type="number" step="0.01" class="form-control" name="hourly_rate_aed" required> | |
| </div> | |
| <div class="col-md-6"> | |
| <label>Employment Type</label> | |
| <select class="form-select" name="employment_type" required> | |
| <option value="Full-Time">Full-Time</option> | |
| <option value="Contract">Contract</option> | |
| <option value="Part-Time">Part-Time</option> | |
| </select> | |
| </div> | |
| <div class="col-md-6"> | |
| <label>Start Date</label> | |
| <input type="date" class="form-control" name="start_date" required> | |
| </div> | |
| <div class="col-md-6"> | |
| <label>Cost Category</label> | |
| <select class="form-select" name="cost_category" required> | |
| <option value="Architecture">Architecture</option> | |
| <option value="Project Management">Project Management</option> | |
| <option value="Engineering">Engineering</option> | |
| </select> | |
| </div> | |
| <div class="col-md-6"> | |
| <label>Email</label> | |
| <input type="email" class="form-control" name="email"> | |
| </div> | |
| <div class="col-md-6"> | |
| <label>Phone</label> | |
| <input type="text" class="form-control" name="phone"> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="modal-footer"> | |
| <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button> | |
| <button type="submit" class="btn btn-success">Add</button> | |
| </div> | |
| </form> | |
| </div> | |
| </div> | |
| </div> | |
| {% endblock %} |