Skip to content

Commit 671d0bf

Browse files
Filter on scoring categories for contest medals and export results
1 parent a12f700 commit 671d0bf

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

webapp/src/Form/Type/ContestType.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
use App\Entity\TeamCategory;
1111
use App\Service\DOMJudgeService;
1212
use App\Service\EventLogService;
13+
use Doctrine\ORM\EntityRepository;
1314
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
1415
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
1516
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
@@ -125,6 +126,11 @@ public function buildForm(FormBuilderInterface $builder, array $options): void
125126
'multiple' => true,
126127
'choice_label' => fn(TeamCategory $category) => $category->getName(),
127128
'help' => 'List of team categories that will receive medals for this contest.',
129+
'query_builder' => function(EntityRepository $er) {
130+
return $er->createQueryBuilder('c')
131+
->andWhere('BIT_AND(c.types, :scoring) = :scoring')
132+
->setParameter('scoring', TeamCategory::TYPE_SCORING);
133+
}
128134
]);
129135
foreach (['gold', 'silver', 'bronze'] as $medalType) {
130136
$help = "The number of $medalType medals for this contest.";

webapp/src/Form/Type/ExportResultsType.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ public function buildForm(FormBuilderInterface $builder, array $options): void
2121
->from(TeamCategory::class, 'c', 'c.categoryid')
2222
->select('c.sortorder, c.name')
2323
->where('c.visible = 1')
24+
->andWhere('BIT_AND(c.types, :scoring) = :scoring')
25+
->setParameter('scoring', TeamCategory::TYPE_SCORING)
2426
->orderBy('c.sortorder')
2527
->getQuery()
2628
->getResult();

0 commit comments

Comments
 (0)