Add Quick Apply and batch update to bulk info provider import#1316
Open
Sebbeben wants to merge 14 commits intoPart-DB:masterfrom
Open
Add Quick Apply and batch update to bulk info provider import#1316Sebbeben wants to merge 14 commits intoPart-DB:masterfrom
Sebbeben wants to merge 14 commits intoPart-DB:masterfrom
Conversation
Adds the ability to apply provider search results to parts directly from the bulk import step 2 page without navigating to individual part edit forms. Includes per-result Quick Apply buttons and an Apply All button for batch operations.
Adds Back to Jobs / Back to Parts buttons at the top of the page and a success banner when the job is completed, so users aren't stuck on the page after applying all parts.
- Highlight the recommended/top priority result row with table-success class - Add "Top" badge to the recommended Quick Apply button - Use outline style for non-top Quick Apply buttons to differentiate - Remove the annoying "reason for skipping" prompt popup
- Skip field mappings with null/empty field values in convertFieldMappingsToDto - Return empty DTO instead of throwing when no search results found - Remove unnecessary try/catch workaround in researchPart
…y, add match highlighting - Split manage page into Active Jobs and History sections - Fix source keyword text color (remove text-muted for better visibility) - Add exact match indicators: green check badge when name or MPN matches - Add translation keys for new UI elements
…lighting - Replace spinning icon with static icon on Active Jobs header - Match highlighting now checks source keyword against name, MPN, AND provider ID (SPN) - Show green "Match" badge in source field column when any field matches 100% - Auto-increment priority when adding new field mapping rows - Fix text-muted visibility issues on table-success background
- Hide broken external provider images with onerror fallback - Make source keyword text green when any match is detected - All matched fields (name, MPN, SPN, or any source keyword) show green text
PHP auto-casts numeric string array keys to int. When a search keyword is a pure number (e.g., a part number like "12345"), the foreach loop passes an int to processSearchResponse() which expects string. Cast keyword to string explicitly.
- Auto-delete pending jobs with 0 results (from failed searches/500 errors) - Show job ID (#N) in manage page and step2 to distinguish identical jobs - Move timestamp to subtitle line on manage page for cleaner layout
…tion) The bulk search service now returns empty response DTOs instead of throwing RuntimeException when no results are found. Updated tests to use assertFalse(hasAnyResults()) instead of catching exceptions.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1316 +/- ##
============================================
+ Coverage 56.31% 56.50% +0.19%
- Complexity 8320 8349 +29
============================================
Files 611 611
Lines 26726 26834 +108
============================================
+ Hits 15050 15162 +112
+ Misses 11676 11672 -4 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Covers Quick Apply, Apply All, delete, stop, mark completed/skipped/pending, manage page active/history split, stale job cleanup, research endpoints, and various error paths. Increases patch coverage significantly.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds one-click Quick Apply buttons and a batch Apply All (Top Results) action to the bulk info provider import step 2 page, so users no longer need to open every single component and click save twice to update from provider data.
This was requested by a user: "For something that should be added is on bulk import to be able to just mass update from provider rather than having to open EVERY single component and click save changes twice, so annoying"
Features
#IDfor easy identificationBug fixes
Screenshots
Step 2 - Review page with Quick Apply and match highlighting:

Manage page with Active/History split and job IDs:

Test plan