Files
DEMOCICD/app/routes/file_import.py

46 lines
1.6 KiB
Python

from flask import Blueprint, render_template, request, flash
from app.services.file_service import FileService
from app.models.subcontractor_model import Subcontractor
from app.utils.helpers import login_required
file_import_bp = Blueprint("file_import", __name__, url_prefix="/file")
# this is contractractor immport routes
@file_import_bp.route("/import_Subcontractor", methods=["GET", "POST"])
@login_required
def import_file():
subcontractors = Subcontractor.query.all()
if request.method == "POST":
file = request.files.get("file")
subcontractor_id = request.form.get("subcontractor_id")
RA_Bill_No = request.form.get("RA_Bill_No")
service = FileService()
success, msg = service.handle_file_upload(file, subcontractor_id, RA_Bill_No)
flash(msg, "success" if success else "danger")
return render_template(
"file_import_subcontractor.html",
title="Sub-cont. File Import",
subcontractors=subcontractors
)
# this is client import routes
@file_import_bp.route("/import_client", methods=["GET", "POST"])
@login_required
def client_import_file():
subcontractors = Subcontractor.query.all()
if request.method == "POST":
file = request.files.get("file")
RA_Bill_No = request.form.get("RA_Bill_No")
service = FileService()
success, msg = service.handle_client_file_upload(file, RA_Bill_No)
flash(msg, "success" if success else "danger")
return render_template("file_import_client.html", title="Client File Import", subcontractors=subcontractors)