Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\Form;
- use App\Entity\BestDeal;
- use App\Entity\GroupTravelDate;
- use App\Entity\BestDealDiscountType;
- use Symfony\Bridge\Doctrine\Form\Type\EntityType;
- use Symfony\Component\Form\FormBuilderInterface;
- use Symfony\Component\OptionsResolver\OptionsResolver;
- use Symfony\Component\Form\Extension\Core\Type\FileType;
- use Doctrine\ORM\EntityRepository;
- class BestDealListType extends BaseAdminType
- {
- public function buildForm(FormBuilderInterface $builder, array $options)
- {
- $groupTravel = $options['attr'][0];
- $today = new \DateTime('now');
- $builder->add('title',null,[
- 'label' => 'Title',
- 'translation_domain' => null
- ])
- ->add('details',null,[
- 'label' => 'Description',
- 'translation_domain' => null
- ])
- ->add('groupTravelPackageDate', EntityType::class, [
- 'required' => true,
- 'class' => GroupTravelDate::class,
- 'query_builder' => function (EntityRepository $er) use($today,$groupTravel) {
- return $er->createQueryBuilder('u')
- ->andWhere('u.groupTravelPackage >= :groupTravelPackage')
- ->setParameter('groupTravelPackage', $groupTravel )
- ->andWhere('u.startDate >= :startDate')
- ->setParameter('startDate', $today )
- ->andWhere('u.isDeleted = :isDeleted')
- ->setParameter('isDeleted', false)
- ->orderBy('u.startDate', 'ASC');
- },
- 'choice_label' => function ($groupTravelDate) {
- return $groupTravelDate->getStartDate()->format('d-m-Y') . ' - '. $groupTravelDate->getEndDate()->format('d-m-Y');
- },
- 'label' => 'Group Travel Date',
- 'translation_domain' => null
- ])
- ->add('temponaryImage', FileType::class, [
- 'label' => 'Add image',
- 'data_class' => null,
- 'required' => false,
- 'translation_domain' => null
- ])
- ->add('bestDealDiscountType', EntityType::class, [
- 'class' => BestDealDiscountType::class,
- 'choice_label' => function (BestDealDiscountType $bestDealDiscountType) {
- return $bestDealDiscountType->getName();
- },
- 'label' => 'Discount type',
- 'translation_domain' => null
- ])
- ->add('discount',null,[
- 'label' => 'Discount',
- 'translation_domain' => null
- ])
- ;
- $this->addButtons($builder);
- }
- public function configureOptions(OptionsResolver $resolver)
- {
- $resolver->setDefaults([
- 'data_class' => BestDeal::class,
- ]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement