Fix quote description update field for ServiceM8 jobs
This commit is contained in:
@@ -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"}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user