• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

php-bug-catcher / bug-catcher / 11534267277

26 Oct 2024 07:05PM UTC coverage: 87.486% (-3.3%) from 90.754%
11534267277

push

github

tito10047
fixed timezone in tests

804 of 919 relevant lines covered (87.49%)

6.24 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

80.0
/src/Controller/Admin/DashboardController.php
1
<?php
2

3
namespace BugCatcher\Controller\Admin;
4

5
use Doctrine\ORM\EntityManagerInterface;
6
use EasyCorp\Bundle\EasyAdminBundle\Config\Action;
7
use EasyCorp\Bundle\EasyAdminBundle\Config\Actions;
8
use EasyCorp\Bundle\EasyAdminBundle\Config\Crud;
9
use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
10
use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
11
use EasyCorp\Bundle\EasyAdminBundle\Config\UserMenu;
12
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
13
use BugCatcher\Entity\Client\Center\Center;
14
use BugCatcher\Entity\Client\Client;
15
use BugCatcher\Entity\Client\Order\Order;
16
use BugCatcher\Entity\Client\Order\Request;
17
use BugCatcher\Entity\Client\Product\Category;
18
use BugCatcher\Entity\Client\Product\Product;
19
use BugCatcher\Entity\Notifier;
20
use BugCatcher\Entity\Project;
21
use BugCatcher\Entity\RecordLogWithholder;
22
use BugCatcher\Entity\User;
23
use Symfony\Component\DependencyInjection\Attribute\Autowire;
24
use Symfony\Component\HttpFoundation\Response;
25
use Symfony\Component\Routing\Attribute\Route;
26
use Symfony\Component\Security\Core\User\UserInterface;
27

28
final class DashboardController extends AbstractDashboardController
29
{
30

31
        public function __construct(
32
                private readonly string $appName
33
        ) {}
13✔
34

35
        #[Route('/admin', name: 'admin')]
36
        public function index(): Response {
37
                return $this->render("@BugCatcher/admin/dashboard.html.twig");
1✔
38
        }
39

40

41

42
        public function configureUserMenu(UserInterface $user): UserMenu {
43
                return parent::configureUserMenu($user)
×
44
                        ->addMenuItems([
×
45
                                MenuItem::linkToRoute('Change password', 'fa fa-key', 'bug_catcher.security.change-password'),
×
46
                        ]);
×
47
        }
48

49
        public function configureDashboard(): Dashboard {
50
                return Dashboard::new()
13✔
51
                        ->setTitle($this->appName);
13✔
52
        }
53

54
        public function configureCrud(): Crud {
55
                return parent::configureCrud()
13✔
56
                        ->overrideTemplate("layout", '@BugCatcher/admin/layout.html.twig')
13✔
57
                        ->setFormThemes([
13✔
58
                                '@EasyAdmin/crud/form_theme.html.twig',
13✔
59
                        ]);
13✔
60
        }
61

62

63
        public function configureMenuItems(): iterable {
64
                $em               = $this->container->get(EntityManagerInterface::class);
13✔
65
                $classMetadata    = $em->getClassMetadata(Notifier::class);
13✔
66
                $discriminatorMap = $classMetadata->discriminatorMap;
13✔
67

68
                $notifiers = [];
13✔
69
                foreach ($discriminatorMap as $name => $class) {
13✔
70
                        $notifiers[] = MenuItem::linkToCrud(ucfirst($name), 'fa-solid fa-satellite-dish', $class);
13✔
71
                }
72

73
                yield MenuItem::linkToRoute('Dashboard', 'fa fa-home', 'bug_catcher.dashboard.index');
13✔
74
                yield MenuItem::linkToCrud('Users', 'fa-solid fa-user-tie', User::class);
13✔
75
                yield MenuItem::linkToCrud('Projects', 'fa-solid fa-shield-dog', Project::class);
13✔
76
                yield MenuItem::linkToCrud('Withholders', 'fa-solid fa-eye-slash', RecordLogWithholder::class);
13✔
77
                yield MenuItem::subMenu('Notifiers', 'fa-regular fa-bell')->setSubItems($notifiers);
13✔
78
        }
79

80
        public function configureActions(): Actions {
81
                return parent::configureActions()
12✔
82
                        ->add(Crud::PAGE_INDEX, Action::DETAIL)
12✔
83
                        ->update(Crud::PAGE_DETAIL, Action::EDIT, static function (Action $action) {
12✔
84
                                return $action->setIcon('fa fa-edit');
12✔
85
                        })
12✔
86
                        ->update(Crud::PAGE_DETAIL, Action::INDEX, static function (Action $action) {
12✔
87
                                return $action->setIcon('fa fa-list');
12✔
88
                        });
12✔
89
        }
90

91
        public static function getSubscribedServices(): array {
92
                $services                                = parent::getSubscribedServices();
×
93
                $services[EntityManagerInterface::class] = EntityManagerInterface::class;
×
94

95
                return $services;
×
96
        }
97
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc