Improve Autotask customer mapping with auto-search

Added automatic search for similar company names when opening unmapped
customers in the edit modal. This speeds up the mapping process by
eliminating manual searches.

Changes:
- Clear search box when opening customer edit modal
- Auto-populate search with customer name for unmapped customers
- Automatically display matching Autotask companies as suggestions
- Refactor search logic into reusable performAutotaskSearch() function

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Ivo Oskamp 2026-02-05 21:39:02 +01:00
parent 282d34af2d
commit 9388ec4c01
2 changed files with 73 additions and 53 deletions

View File

@ -370,6 +370,7 @@
if (atResults) {
clearResults();
}
if (atSearchInput) atSearchInput.value = '';
setSelectedCompanyId(null);
setMsg("", false);
@ -379,13 +380,21 @@
var atStatus = btn.getAttribute("data-autotask-mapping-status") || "";
var atLast = btn.getAttribute("data-autotask-last-sync-at") || "";
renderCurrentMapping(atCompanyId, atCompanyName, atStatus, atLast);
// Auto-search for similar companies if not yet mapped
if (!atCompanyId && name && atSearchInput) {
atSearchInput.value = name;
performAutotaskSearch(name);
}
}
});
});
if (atSearchBtn && atSearchInput && atResults) {
atSearchBtn.addEventListener("click", async function () {
var q = (atSearchInput.value || "").trim();
// Reusable Autotask search function
async function performAutotaskSearch(query) {
if (!atResults) return;
var q = (query || "").trim();
if (!q) {
setMsg("Enter a search term.", true);
return;
@ -439,6 +448,12 @@
atResults.innerHTML = "<div class=\"text-muted small\">No results.</div>";
setMsg(e && e.message ? e.message : "Search failed.", true);
}
}
if (atSearchBtn && atSearchInput && atResults) {
atSearchBtn.addEventListener("click", async function () {
var q = (atSearchInput.value || "").trim();
await performAutotaskSearch(q);
});
}

View File

@ -5,6 +5,10 @@ This file documents all changes made to this project via Claude Code.
## [2026-02-05]
### Added
- Autotask customer mapping now auto-searches for similar company names when opening unmapped customers:
- Automatically populates search box with customer name
- Displays matching Autotask companies as suggestions
- Speeds up mapping process by eliminating manual search for most customers
- Autotask "Link existing ticket" now supports cross-company ticket search:
- Added `query_tickets_by_number()` to search tickets by number across all companies
- When searching with a ticket number (e.g., "T20260205.0001"), results include:
@ -29,6 +33,7 @@ This file documents all changes made to this project via Claude Code.
### Fixed
- Autotask "Link existing" search box now clears when opening the modal instead of retaining previous search text
- Autotask customer mapping search box now clears when opening the edit modal instead of retaining previous search text
- Autotask ticket resolution update now correctly preserves exact field values from GET response in PUT payload.
The `issueType`, `subIssueType`, and `source` fields are copied with their exact values (including null)
from the GET response, as required by Autotask API. Previously these fields were being skipped or modified.