diff --git a/app/routes/subcontractor_routes.py b/app/routes/subcontractor_routes.py index 0837659..fa1f0e6 100644 --- a/app/routes/subcontractor_routes.py +++ b/app/routes/subcontractor_routes.py @@ -56,13 +56,31 @@ def save_subcontractor(): return redirect(url_for("subcontractor.subcontractor_list")) -# ---------------- LIST ----------------- +# ---------------- LIST (UPDATED WITH PAGINATION) ----------------- @subcontractor_bp.route("/list") @login_required def subcontractor_list(): - subcontractors = Subcontractor.query.all() - current_app.logger.info("Viewed Subcontractor List") - return render_template("subcontractor/list.html", subcontractors=subcontractors) + + page = request.args.get("page", 1, type=int) + per_page = 10 # Change how many records per page + + pagination = Subcontractor.query.order_by( + Subcontractor.created_at + ).paginate( + page=page, + per_page=per_page, + error_out=False + ) + + subcontractors = pagination.items + + current_app.logger.info(f"Viewed Subcontractor List - Page {page}") + + return render_template( + "subcontractor/list.html", + subcontractors=subcontractors, + pagination=pagination + ) # ---------------- EDIT ----------------- @@ -103,10 +121,7 @@ def update_subcontractor(id): db.session.commit() - current_app.logger.info( - f"Subcontractor Updated: {old_name} → {new_name}" - ) - + current_app.logger.info(f"Subcontractor Updated: {old_name} → {new_name}") flash("Subcontractor updated successfully!", "success") except Exception: @@ -122,9 +137,9 @@ def update_subcontractor(id): @login_required def delete_subcontractor(id): subcontractor = Subcontractor.query.get_or_404(id) + try: name = subcontractor.subcontractor_name - db.session.delete(subcontractor) db.session.commit() diff --git a/app/templates/subcontractor/list.html b/app/templates/subcontractor/list.html index 909785a..d0fd37c 100644 --- a/app/templates/subcontractor/list.html +++ b/app/templates/subcontractor/list.html @@ -1,94 +1,160 @@ {% extends "base.html" %} {% block content %} -
| ID | -Name | -Mobile | -GST No | -Action | -||
|---|---|---|---|---|---|---|
| ID | +Name | +Contact | +Mobile | +Status | +Action | +|
|---|---|---|---|---|---|---|
| {{ s.id }} | +{{ s.subcontractor_name }} | +{{ s.contact_person }} | +{{ s.mobile_no }} | +{{ s.email_id }} | ++ {% if s.status == "Active" %} + Active + {% else %} + Inactive + {% endif %} + | ++ + Edit + - |
Contact: {{ s.contact_person }}
+Mobile: {{ s.mobile_no }}
+Email: {{ s.email_id }}
-+ Status: + {% if s.status == "Active" %} + Active + {% else %} + Inactive + {% endif %} +
-