Merge remote-tracking branch 'origin/feature/create-assemblies' into feature/all-features

# Conflicts:
#	src/Controller/AdminPages/BaseAdminController.php
This commit is contained in:
Marcel Diegelmann 2025-10-01 14:00:53 +02:00
commit e9ee80cd53
9 changed files with 61 additions and 22 deletions

View file

@ -243,7 +243,6 @@ abstract class BaseAdminController extends AbstractController
'timeTravel' => $timeTravel_timestamp,
'repo' => $repo,
'partsContainingElement' => $repo instanceof PartsContainingRepositoryInterface,
'showParameters' => !($this instanceof PartCustomStateController),
]);
}
@ -403,7 +402,6 @@ abstract class BaseAdminController extends AbstractController
'import_form' => $import_form,
'mass_creation_form' => $mass_creation_form,
'route_base' => $this->route_base,
'showParameters' => !($this instanceof PartCustomStateController),
]);
}

View file

@ -202,9 +202,10 @@ class AssemblyBOMEntry extends AbstractDBElement implements UniqueValidatableInt
return $this->designator;
}
public function setDesignator(string $designator): void
public function setDesignator(string $designator): AssemblyBOMEntry
{
$this->designator = $designator;
return $this;
}
/**

View file

@ -51,15 +51,17 @@ class AssemblyBOMEntryType extends AbstractType
->add('designator', TextType::class, [
'label' => 'assembly.bom.designator',
'help' => 'assembly.bom.designator.help',
'required' => false
'empty_data' => '',
'required' => false,
])
->add('mountnames', TextType::class, [
'required' => false,
'label' => 'assembly.bom.mountnames',
'empty_data' => '',
'attr' => [
'class' => 'tagsinput',
'data-controller' => 'elements--tagsinput',
]
],
])
->add('comment', RichTextEditorType::class, [
'required' => false,

View file

@ -857,7 +857,7 @@ class BOMImporter
if (isset($entry['name'])) {
$givenName = trim($entry['name']) === '' ? null : trim ($entry['name']);
if ($givenName !== null && $bomEntry->getPart() !== null && $bomEntry->getPart()->getName() !== $givenName) {
if ($givenName !== null && $part !== null && $part->getName() !== $givenName) {
//Apply different names for parts list entry
$bomEntry->setName(trim($entry['name']) === '' ? null : trim ($entry['name']));
}

View file

@ -383,8 +383,8 @@ class EntityExporter
'Id', 'ParentId', 'Type', 'ProjectNameHierarchical', 'ProjectName', 'ProjectFullName',
//BOM relevant attributes
'Quantity', 'PartId', 'PartName', 'Ipn', 'Manufacturer', 'Mpn', 'Name', 'Designator',
'Description', 'MountNames'
'Quantity', 'PartId', 'PartName', 'Ipn', 'Manufacturer', 'Mpn', 'Name', 'Mountnames',
'Description',
],
'processEntity' => fn($entity, $depth) => [
'Id' => $entity->getId(),
@ -402,9 +402,8 @@ class EntityExporter
'Manufacturer' => '-',
'Mpn' => '-',
'Name' => '-',
'Designator' => '-',
'Mountnames' => '-',
'Description' => '-',
'MountNames' => '-',
],
'processBomEntries' => fn($entity, $depth) => array_map(fn(ProjectBOMEntry $bomEntry) => [
'Id' => $entity->getId(),
@ -422,9 +421,8 @@ class EntityExporter
'Manufacturer' => $bomEntry->getPart()?->getManufacturer()?->getName() ?? '',
'Mpn' => $bomEntry->getPart()?->getManufacturerProductNumber() ?? '',
'Name' => $bomEntry->getPart()?->getName() ?? '',
'Designator' => $bomEntry->getMountnames() ?? '',
'Mountnames' => $bomEntry->getMountnames(),
'Description' => $bomEntry->getPart()?->getDescription() ?? '',
'MountNames' => $bomEntry->getMountNames(),
], $entity->getBomEntries()->toArray()),
],
Assembly::class => [
@ -434,8 +432,8 @@ class EntityExporter
//BOM relevant attributes
'Quantity', 'PartId', 'PartName', 'Ipn', 'Manufacturer', 'Mpn', 'Name', 'Designator',
'Description', 'MountNames', 'ReferencedAssemblyId', 'ReferencedAssemblyIpn',
'ReferencedAssemblyFullName'
'Mountnames', 'Description', 'ReferencedAssemblyId', 'ReferencedAssemblyIpn',
'ReferencedAssemblyFullName',
],
'processEntity' => fn($entity, $depth) => [
'Id' => $entity->getId(),
@ -455,8 +453,8 @@ class EntityExporter
'Mpn' => '-',
'Name' => '-',
'Designator' => '-',
'Mountnames' => '-',
'Description' => '-',
'MountNames' => '-',
'ReferencedAssemblyId' => '-',
'ReferencedAssemblyIpn' => '-',
'ReferencedAssemblyFullName' => '-',
@ -593,7 +591,7 @@ class EntityExporter
'Mpn' => $bomEntry->getPart()?->getManufacturerProductNumber() ?? '-',
'Name' => $bomEntry->getName() ?? '-',
'Designator' => $bomEntry->getDesignator(),
'MountNames' => $bomEntry->getMountNames(),
'Mountnames' => $bomEntry->getMountnames(),
'Description' => $bomEntry->getPart()?->getDescription() ?? '-',
'ReferencedAssemblyId' => $bomEntry->getReferencedAssembly()?->getId() ?? '-',
'ReferencedAssemblyIpn' => $bomEntry->getReferencedAssembly()?->getIpn() ?? '-',
@ -628,8 +626,8 @@ class EntityExporter
'Mpn' => $partData['part']?->getManufacturerProductNumber(),
'Name' => $partData['name'] ?? '',
'Designator' => $partData['designator'],
'Mountnames' => '-',
'Description' => $partData['part']?->getDescription(),
'MountNames' => '-',
'ReferencedAssemblyId' => '-',
'ReferencedAssemblyIpn' => '-',
'ReferencedAssemblyFullName' => '-',