amelioration ajout de mods
on peut desormer choisir les dependances durant l ajout d un mod
This commit is contained in:
parent
bfcc83db24
commit
95483c552a
2 changed files with 11 additions and 12 deletions
|
|
@ -20,15 +20,12 @@ class ModType extends AbstractType
|
|||
{
|
||||
$placeholderModNames = [
|
||||
'Create',
|
||||
'Ars Nouveau',
|
||||
'Oculus',
|
||||
'Tectonic',
|
||||
'Iris',
|
||||
'JEI',
|
||||
];
|
||||
$isEdit = $options['data']?->getId() !== null;
|
||||
$mods = [];
|
||||
if ($isEdit) {
|
||||
$mods = $this->modRepository->findAvailableDependances($builder->getData());
|
||||
}
|
||||
$mods = $this->modRepository->findAvailableDependances($builder->getData());
|
||||
|
||||
$builder
|
||||
->add('nom', TextType::class, [
|
||||
|
|
@ -73,10 +70,9 @@ class ModType extends AbstractType
|
|||
'multiple' => true,
|
||||
'required' => false,
|
||||
'choices' => $mods,
|
||||
'disabled' => !$isEdit,
|
||||
'attr' => [
|
||||
'id' => 'dependances',
|
||||
'data-placeholder'=> $isEdit? 'Rechercher une dépendance...' : 'Ajouter une dependance après la création du mod',
|
||||
'data-placeholder'=> 'Rechercher une dépendance...',
|
||||
],
|
||||
])
|
||||
;
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ namespace App\Repository;
|
|||
use App\Entity\Mod;
|
||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
||||
use Doctrine\Persistence\ManagerRegistry;
|
||||
use function PHPUnit\Framework\isNull;
|
||||
|
||||
/**
|
||||
* @extends ServiceEntityRepository<Mod>
|
||||
|
|
@ -20,11 +21,13 @@ class ModRepository extends ServiceEntityRepository
|
|||
* Retourne tous les mods qui ne sont pas une dépendance (directe ou indirecte)
|
||||
* du mod passé en paramètre, et qui n'est pas le mod lui-même.
|
||||
*/
|
||||
public function findAvailableDependances(Mod $mod): array
|
||||
public function findAvailableDependances(?Mod $mod): array
|
||||
{
|
||||
$excludedIds = $this->collectDependencyIds($mod, []);
|
||||
$excludedIds[] = $mod->getId();
|
||||
|
||||
$excludedIds = [];
|
||||
if (!isnull($mod)) {
|
||||
$excludedIds = $this->collectDependencyIds($mod, []);
|
||||
$excludedIds[] = $mod->getId();
|
||||
}
|
||||
$qb = $this->createQueryBuilder('m');
|
||||
|
||||
if (!empty($excludedIds)) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue