57 lines
1.3 KiB
Python
57 lines
1.3 KiB
Python
|
|
from flask import (
|
||
|
|
Blueprint,
|
||
|
|
render_template,
|
||
|
|
request,
|
||
|
|
redirect,
|
||
|
|
url_for,
|
||
|
|
flash
|
||
|
|
)
|
||
|
|
|
||
|
|
from app.models.subcontractor_model import Subcontractor
|
||
|
|
from app.services.subcontractor_rate_service import SubcontractorRateService
|
||
|
|
from app.constants.messages import SuccessMessage, ErrorMessage
|
||
|
|
|
||
|
|
engi_bp = Blueprint(
|
||
|
|
"engineering",
|
||
|
|
__name__,
|
||
|
|
url_prefix="/engi"
|
||
|
|
)
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
@engi_bp.route("/")
|
||
|
|
def engineering_master():
|
||
|
|
|
||
|
|
return render_template(
|
||
|
|
"engineering/index.html",
|
||
|
|
title="Engineering Masters"
|
||
|
|
)
|
||
|
|
|
||
|
|
|
||
|
|
@engi_bp.route("/subcontractor-rate")
|
||
|
|
def add_subcontractor_rates():
|
||
|
|
subcontractors = Subcontractor.query.filter_by(status="Active").all()
|
||
|
|
|
||
|
|
if request.method == "POST":
|
||
|
|
try:
|
||
|
|
SubcontractorRateService.save_rate(request.form)
|
||
|
|
flash(SuccessMessage.SAVE, "success")
|
||
|
|
return redirect(url_for("engineering.add_subcontractor_rates"))
|
||
|
|
except Exception as e:
|
||
|
|
flash(ErrorMessage.INTERNAL_SERVER_ERROR, "danger")
|
||
|
|
|
||
|
|
return render_template(
|
||
|
|
"engineering/add_rate.html",
|
||
|
|
title="Subcontractor Rate Master",
|
||
|
|
subcontractors=subcontractors
|
||
|
|
)
|
||
|
|
|
||
|
|
@engi_bp.route("/client-rate")
|
||
|
|
def client_rates():
|
||
|
|
|
||
|
|
return render_template(
|
||
|
|
"engineering/client_rate.html",
|
||
|
|
title="Client Rate Master"
|
||
|
|
)
|
||
|
|
|