mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2026-01-17 23:59:33 +00:00
TypeaheadController.php fehlende Methode ergänzen
This commit is contained in:
parent
56264376fa
commit
f0bdbaf753
1 changed files with 38 additions and 2 deletions
|
|
@ -25,9 +25,7 @@ namespace App\Controller;
|
||||||
use App\Entity\AssemblySystem\Assembly;
|
use App\Entity\AssemblySystem\Assembly;
|
||||||
use App\Entity\Parameters\AbstractParameter;
|
use App\Entity\Parameters\AbstractParameter;
|
||||||
use App\Settings\MiscSettings\IpnSuggestSettings;
|
use App\Settings\MiscSettings\IpnSuggestSettings;
|
||||||
use App\Entity\ProjectSystem\Project;
|
|
||||||
use App\Services\Attachments\AssemblyPreviewGenerator;
|
use App\Services\Attachments\AssemblyPreviewGenerator;
|
||||||
use App\Services\Attachments\ProjectPreviewGenerator;
|
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use App\Entity\Attachments\Attachment;
|
use App\Entity\Attachments\Attachment;
|
||||||
use App\Entity\Parts\Category;
|
use App\Entity\Parts\Category;
|
||||||
|
|
@ -155,6 +153,44 @@ class TypeaheadController extends AbstractController
|
||||||
return new JsonResponse($data);
|
return new JsonResponse($data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Route(path: '/assemblies/search/{query}', name: 'typeahead_assemblies')]
|
||||||
|
public function assemblies(
|
||||||
|
EntityManagerInterface $entityManager,
|
||||||
|
AssemblyPreviewGenerator $assemblyPreviewGenerator,
|
||||||
|
AttachmentURLGenerator $attachmentURLGenerator,
|
||||||
|
string $query = ""
|
||||||
|
): JsonResponse {
|
||||||
|
$this->denyAccessUnlessGranted('@assemblies.read');
|
||||||
|
|
||||||
|
$result = [];
|
||||||
|
|
||||||
|
$assemblyRepository = $entityManager->getRepository(Assembly::class);
|
||||||
|
|
||||||
|
$assemblies = $assemblyRepository->autocompleteSearch($query, 100);
|
||||||
|
|
||||||
|
foreach ($assemblies as $assembly) {
|
||||||
|
$preview_attachment = $assemblyPreviewGenerator->getTablePreviewAttachment($assembly);
|
||||||
|
|
||||||
|
if($preview_attachment instanceof Attachment) {
|
||||||
|
$preview_url = $attachmentURLGenerator->getThumbnailURL($preview_attachment, 'thumbnail_sm');
|
||||||
|
} else {
|
||||||
|
$preview_url = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @var Assembly $assembly */
|
||||||
|
$result[] = [
|
||||||
|
'id' => $assembly->getID(),
|
||||||
|
'name' => $assembly->getName(),
|
||||||
|
'category' => '',
|
||||||
|
'footprint' => '',
|
||||||
|
'description' => mb_strimwidth($assembly->getDescription(), 0, 127, '...'),
|
||||||
|
'image' => $preview_url,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
return new JsonResponse($result);
|
||||||
|
}
|
||||||
|
|
||||||
#[Route(path: '/parameters/{type}/search/{query}', name: 'typeahead_parameters', requirements: ['type' => '.+'])]
|
#[Route(path: '/parameters/{type}/search/{query}', name: 'typeahead_parameters', requirements: ['type' => '.+'])]
|
||||||
public function parameters(string $type, EntityManagerInterface $entityManager, string $query = ""): JsonResponse
|
public function parameters(string $type, EntityManagerInterface $entityManager, string $query = ""): JsonResponse
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue