Add owner work order approval page
Some checks failed
ci / test (push) Has been cancelled

This commit is contained in:
VPN SaaS Dev
2026-05-16 10:51:05 +09:00
parent ac5845d5a0
commit 545f4d088d
12 changed files with 1066 additions and 48 deletions

View File

@@ -7,6 +7,7 @@ from fastapi import HTTPException
from sqlalchemy import select
from sqlalchemy.ext.asyncio import AsyncSession
from app.core.config import settings
from app.models.car import (
Car,
InventoryTransaction,
@@ -37,6 +38,10 @@ WORK_ORDER_STATUSES = {
LOCKED_WORK_ORDER_STATUSES = {"completed", "cancelled", "archived"}
def work_order_webapp_url(work_order_id: int) -> str:
return f"{settings.effective_webapp_url.rstrip('/')}/work_order.html?id={work_order_id}"
def money(value: Decimal | int | float | None) -> Decimal:
return Decimal(str(value or 0)).quantize(Decimal("0.01"))
@@ -311,5 +316,7 @@ async def close_work_order(
title="Работа по заказ-наряду завершена",
body=f"{visit.work_order_number or visit.id}: {visit.final_total} {visit.currency}. Можно оставить отзыв.",
idempotency_key=f"work_order:{visit.id}:completed",
web_app_url=work_order_webapp_url(visit.id),
button_text="Открыть заказ-наряд",
)
return service, expense