65 lines
2.3 KiB
Python
65 lines
2.3 KiB
Python
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/<int:id>")
|
|
def edit_subcontractor(id):
|
|
subcontractor = Subcontractor.query.get_or_404(id)
|
|
return render_template("subcontractor/edit.html", subcontractor=subcontractor)
|
|
|
|
# ---------------- UPDATE -----------------
|
|
@subcontractor_bp.route("/update/<int:id>", 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/<int:id>")
|
|
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")
|