Skip to content

Commit dddb03a

Browse files
committed
3666: Add advisory count to Sites
1 parent 7daf428 commit dddb03a

3 files changed

Lines changed: 17 additions & 0 deletions

File tree

src/Controller/Admin/ServerCrudController.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
use EasyCorp\Bundle\EasyAdminBundle\Field\AssociationField;
2424
use EasyCorp\Bundle\EasyAdminBundle\Field\BooleanField;
2525
use EasyCorp\Bundle\EasyAdminBundle\Field\ChoiceField;
26+
use EasyCorp\Bundle\EasyAdminBundle\Field\DateTimeField;
2627
use EasyCorp\Bundle\EasyAdminBundle\Field\FormField;
2728
use EasyCorp\Bundle\EasyAdminBundle\Field\TextareaField;
2829
use EasyCorp\Bundle\EasyAdminBundle\Field\TextField;
@@ -91,6 +92,7 @@ public function configureFields(string $pageName): iterable
9192
yield TextField::new('serviceDeskTicket')->setColumns(12)->hideOnIndex();
9293
yield TextareaField::new('note')->hideOnIndex()->setColumns(6);
9394
yield TextareaField::new('usedFor')->hideOnIndex()->setColumns(6);
95+
yield DateTimeField::new('lastContactAt');
9496
}
9597

9698
#[\Override]

src/Controller/Admin/SiteCrudController.php

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

55
namespace App\Controller\Admin;
66

7+
use App\Admin\Field\AdvisoryCountField;
78
use App\Admin\Field\ConfigFilePathField;
89
use App\Admin\Field\DomainField;
910
use App\Admin\Field\RootDirField;
@@ -20,6 +21,7 @@
2021
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController;
2122
use EasyCorp\Bundle\EasyAdminBundle\Field\AssociationField;
2223
use EasyCorp\Bundle\EasyAdminBundle\Field\DateTimeField;
24+
use EasyCorp\Bundle\EasyAdminBundle\Field\NumberField;
2325

2426
class SiteCrudController extends AbstractCrudController
2527
{
@@ -58,6 +60,7 @@ public function configureActions(Actions $actions): Actions
5860
public function configureFields(string $pageName): iterable
5961
{
6062
yield DomainField::new('primaryDomain')->setColumns(12);
63+
yield AdvisoryCountField::new('advisoryCount')->setLabel('Adv.');
6164
yield AssociationField::new('domains')->hideOnIndex();
6265
yield SiteTypeField::new('type')->setLabel('Stack');
6366
yield ConfigFilePathField::new('configFilePath')->setColumns(12)->hideOnIndex();

src/Entity/Site.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,4 +201,16 @@ public function setType(string $type): self
201201

202202
return $this;
203203
}
204+
205+
public function getAdvisoryCount(): int
206+
{
207+
$advisories = new ArrayCollection();
208+
foreach ($this->installation->getPackageVersions() as $packageVersion) {
209+
foreach ($packageVersion->getAdvisories() as $advisory) {
210+
$advisories->add($advisory);
211+
}
212+
}
213+
214+
return $advisories->count();
215+
}
204216
}

0 commit comments

Comments
 (0)