99use CodedMonkey \Dirigent \Doctrine \Entity \Registry ;
1010use CodedMonkey \Dirigent \Doctrine \Repository \RegistryRepository ;
1111use CodedMonkey \Dirigent \Entity \PackageFetchStrategy ;
12+ use CodedMonkey \Dirigent \Entity \ResolveDistributionStrategy ;
1213use CodedMonkey \Dirigent \Package \PackageVcsRepositoryValidator ;
1314use Symfony \Bridge \Doctrine \Form \Type \EntityType ;
15+ use Symfony \Component \DependencyInjection \Attribute \Autowire ;
1416use Symfony \Component \Form \AbstractType ;
1517use Symfony \Component \Form \Event \PostSetDataEvent ;
1618use Symfony \Component \Form \Event \SubmitEvent ;
@@ -25,6 +27,8 @@ class PackageFormType extends AbstractType
2527{
2628 public function __construct (
2729 private readonly PackageVcsRepositoryValidator $ vcsRepositoryValidator ,
30+ #[Autowire(param: 'dirigent.distributions.enabled ' )]
31+ private readonly bool $ distributionsEnabled ,
2832 ) {
2933 }
3034
@@ -48,6 +52,14 @@ public function buildForm(FormBuilderInterface $builder, array $options): void
4852 ])
4953 ->addEventListener (FormEvents::POST_SET_DATA , $ this ->onPostSetData (...))
5054 ->addEventListener (FormEvents::SUBMIT , $ this ->onSubmit (...));
55+
56+ if ($ this ->distributionsEnabled ) {
57+ $ builder ->add ('resolveDistributionStrategy ' , EnumType::class, [
58+ 'label ' => 'Resolve distributions ' ,
59+ 'class ' => ResolveDistributionStrategy::class,
60+ 'expanded ' => true ,
61+ ]);
62+ }
5163 }
5264
5365 public function onPostSetData (PostSetDataEvent $ event ): void
0 commit comments