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: def build_job_update_payload(description: str, job: Dict[str, Any]) -> dict:
quote_description = build_quote_description_text(description, job) 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]: 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: 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) response = session.post(f"{BASE_URL}/job/{job_uuid}.json", json=payload, timeout=REQUEST_TIMEOUT)
if not response.ok: 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: 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_address": format_job_address(job_details) if job_details else "",
} }
job_update_row = { job_update_row = {
"kind": "job_description", "kind": "work_done_description",
"source_question": "Description of Works to be Quoted", "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: if not args.apply:
@@ -556,9 +556,9 @@ def main() -> int:
row_index=0, row_index=0,
row=job_update_row, row=job_update_row,
api_payload=job_update_record_payload, 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: else:
result["job_update"] = {"action": "skipped", "reason": "Quote description is empty"} result["job_update"] = {"action": "skipped", "reason": "Quote description is empty"}
for idx, row in enumerate(desired_rows, start=1): for idx, row in enumerate(desired_rows, start=1):
@@ -634,9 +634,9 @@ def main() -> int:
row_index=0, row_index=0,
row=job_update_row, row=job_update_row,
api_payload=job_update_record_payload, 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: else:
result["job_update"] = {"action": "skipped", "reason": "Quote description is empty"} result["job_update"] = {"action": "skipped", "reason": "Quote description is empty"}