mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-06-21 01:25:55 +02:00
Use the providerID as keyword when searching infos for a part with already existing providerreference and preselect the info provider if possible
This commit is contained in:
parent
92e4976396
commit
273bde90f2
1 changed files with 17 additions and 1 deletions
|
@ -77,7 +77,23 @@ class InfoProviderController extends AbstractController
|
||||||
//When we are updating a part, use its name as keyword, to make searching easier
|
//When we are updating a part, use its name as keyword, to make searching easier
|
||||||
//However we can only do this, if the form was not submitted yet
|
//However we can only do this, if the form was not submitted yet
|
||||||
if ($update_target !== null && !$form->isSubmitted()) {
|
if ($update_target !== null && !$form->isSubmitted()) {
|
||||||
$form->get('keyword')->setData($update_target->getName());
|
//Use the provider reference if available, otherwise use the manufacturer product number
|
||||||
|
$keyword = $update_target->getProviderReference()->getProviderId() ?? $update_target->getManufacturerProductNumber();
|
||||||
|
//Or the name if both are not available
|
||||||
|
if ($keyword === "") {
|
||||||
|
$keyword = $update_target->getName();
|
||||||
|
}
|
||||||
|
|
||||||
|
$form->get('keyword')->setData($keyword);
|
||||||
|
|
||||||
|
//If we are updating a part, which already has a provider, preselect that provider in the form
|
||||||
|
if ($update_target->getProviderReference()->getProviderKey() !== null) {
|
||||||
|
try {
|
||||||
|
$form->get('providers')->setData([$this->providerRegistry->getProviderByKey($update_target->getProviderReference()->getProviderKey())]);
|
||||||
|
} catch (\InvalidArgumentException $e) {
|
||||||
|
//If the provider is not found, just ignore it
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($form->isSubmitted() && $form->isValid()) {
|
if ($form->isSubmitted() && $form->isValid()) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue