Fix quote description update field for ServiceM8 jobs

This commit is contained in:
2026-05-18 12:43:21 +09:30
parent 9dde6b28a1
commit 49e7a60f98
+8 -8
View File
@@ -115,7 +115,7 @@ def build_quote_description_text(description: str, job: Dict[str, Any]) -> str:
def build_job_update_payload(description: str, job: Dict[str, Any]) -> dict:
quote_description = build_quote_description_text(description, job)
return {"job_description": quote_description} if quote_description else {}
return {"work_done_description": quote_description} if quote_description else {}
def retrieve_job(session: requests.Session, job_uuid: str) -> Dict[str, Any]:
@@ -131,7 +131,7 @@ def retrieve_job(session: requests.Session, job_uuid: str) -> Dict[str, Any]:
def update_job_description(session: requests.Session, job_uuid: str, payload: dict) -> None:
response = session.post(f"{BASE_URL}/job/{job_uuid}.json", json=payload, timeout=REQUEST_TIMEOUT)
if not response.ok:
raise RuntimeError(f"Job description update failed: HTTP {response.status_code} :: {response.text[:1000]}")
raise RuntimeError(f"Job quote description update failed: HTTP {response.status_code} :: {response.text[:1000]}")
def extract_company_name(job: Dict[str, Any]) -> str:
@@ -541,9 +541,9 @@ def main() -> int:
"job_address": format_job_address(job_details) if job_details else "",
}
job_update_row = {
"kind": "job_description",
"kind": "work_done_description",
"source_question": "Description of Works to be Quoted",
"name": job_update_payload.get("job_description", ""),
"name": job_update_payload.get("work_done_description", ""),
}
if not args.apply:
@@ -556,9 +556,9 @@ def main() -> int:
row_index=0,
row=job_update_row,
api_payload=job_update_record_payload,
action="would_update_job_description",
action="would_update_work_done_description",
)
result["job_update"] = {"action": "would_update_job_description", **job_update_record_payload}
result["job_update"] = {"action": "would_update_work_done_description", **job_update_record_payload}
else:
result["job_update"] = {"action": "skipped", "reason": "Quote description is empty"}
for idx, row in enumerate(desired_rows, start=1):
@@ -634,9 +634,9 @@ def main() -> int:
row_index=0,
row=job_update_row,
api_payload=job_update_record_payload,
action="updated_job_description",
action="updated_work_done_description",
)
result["job_update"] = {"action": "updated_job_description", **job_update_record_payload}
result["job_update"] = {"action": "updated_work_done_description", **job_update_record_payload}
else:
result["job_update"] = {"action": "skipped", "reason": "Quote description is empty"}