from flask import Blueprint, render_template, request, redirect, flash from app import db from app.models.subcontractor_model import Subcontractor subcontractor_bp = Blueprint("subcontractor", __name__, url_prefix="/subcontractor") # ---------------- ADD ----------------- @subcontractor_bp.route("/add") def add_subcontractor(): return render_template("subcontractor/add.html") @subcontractor_bp.route("/save", methods=["POST"]) def save_subcontractor(): subcontractor = Subcontractor( subcontractor_name=request.form.get("subcontractor_name"), contact_person=request.form.get("contact_person"), mobile_no=request.form.get("mobile_no"), email_id=request.form.get("email_id"), gst_no=request.form.get("gst_no") ) db.session.add(subcontractor) db.session.commit() flash("Subcontractor added successfully!", "success") return redirect("/subcontractor/list") # ---------------- LIST ----------------- @subcontractor_bp.route("/list") def subcontractor_list(): subcontractors = Subcontractor.query.all() return render_template("subcontractor/list.html", subcontractors=subcontractors) # ---------------- EDIT ----------------- @subcontractor_bp.route("/edit/") def edit_subcontractor(id): subcontractor = Subcontractor.query.get_or_404(id) return render_template("subcontractor/edit.html", subcontractor=subcontractor) # ---------------- UPDATE ----------------- @subcontractor_bp.route("/update/", methods=["POST"]) def update_subcontractor(id): subcontractor = Subcontractor.query.get_or_404(id) subcontractor.subcontractor_name = request.form.get("subcontractor_name") subcontractor.contact_person = request.form.get("contact_person") subcontractor.mobile_no = request.form.get("mobile_no") subcontractor.email_id = request.form.get("email_id") subcontractor.gst_no = request.form.get("gst_no") db.session.commit() flash("Subcontractor updated successfully!", "success") return redirect("/subcontractor/list") # ---------------- DELETE ----------------- @subcontractor_bp.route("/delete/") def delete_subcontractor(id): subcontractor = Subcontractor.query.get_or_404(id) db.session.delete(subcontractor) db.session.commit() flash("Subcontractor deleted successfully!", "success") return redirect("/subcontractor/list")