Skip to content

Commit be6740b

Browse files
committed
4410: Added "Aktiv" entity filter. Sorted lists.
1 parent ce2dd20 commit be6740b

File tree

3 files changed

+29
-0
lines changed

3 files changed

+29
-0
lines changed

config/packages/doctrine.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@ doctrine:
2727
prefix: Gedmo\Loggable\Entity
2828
dir: "%kernel.project_dir%/vendor/gedmo/doctrine-extensions/src/Loggable/Entity"
2929
is_bundle: false
30+
filters:
31+
entity_active:
32+
class: App\Doctrine\EntityActiveFilter
33+
enabled: true
34+
parameters:
35+
active_value: Aktiv
3036

3137
when@test:
3238
doctrine:
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
namespace App\Doctrine;
4+
5+
use Doctrine\ORM\Mapping\ClassMetadata;
6+
use Doctrine\ORM\Query\Filter\SQLFilter;
7+
8+
class EntityActiveFilter extends SQLFilter
9+
{
10+
public function addFilterConstraint(ClassMetadata $targetEntity, $targetTableAlias): string
11+
{
12+
if ($targetEntity->hasField('sysStatus')) {
13+
return sprintf('%s.sys_status = %s', $targetTableAlias, $this->getParameter('active_value'));
14+
}
15+
16+
return '';
17+
}
18+
}

src/Entity/UserGroup.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Doctrine\Common\Collections\ArrayCollection;
66
use Doctrine\Common\Collections\Collection;
7+
use Doctrine\Common\Collections\Order;
78
use Doctrine\DBAL\Types\Types;
89
use Doctrine\ORM\Mapping as ORM;
910

@@ -20,25 +21,29 @@ class UserGroup implements \Stringable
2021
*/
2122
#[ORM\ManyToMany(targetEntity: Theme::class, inversedBy: 'systemGroups')]
2223
#[ORM\JoinTable(name: 'group_system_themes')]
24+
#[ORM\OrderBy(['name' => Order::Ascending->value])]
2325
private Collection $systemThemes;
2426

2527
/**
2628
* @var Collection<int, Theme>
2729
*/
2830
#[ORM\ManyToMany(targetEntity: Theme::class, inversedBy: 'reportGroups')]
2931
#[ORM\JoinTable(name: 'group_report_themes')]
32+
#[ORM\OrderBy(['name' => Order::Ascending->value])]
3033
private Collection $reportThemes;
3134

3235
/**
3336
* @var Collection<int, Report>
3437
*/
3538
#[ORM\ManyToMany(targetEntity: Report::class, mappedBy: 'groups')]
39+
#[ORM\OrderBy(['name' => Order::Ascending->value])]
3640
private Collection $reports;
3741

3842
/**
3943
* @var Collection<int, System>
4044
*/
4145
#[ORM\ManyToMany(targetEntity: System::class, mappedBy: 'groups')]
46+
#[ORM\OrderBy(['name' => Order::Ascending->value])]
4247
private Collection $systems;
4348

4449
/**

0 commit comments

Comments
 (0)