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

rich-id / terms-module / #64

11 Oct 2023 03:35PM UTC coverage: 83.731%. First build
#64

push

web-flow
Merge b679837ca into b062eebb9

146 of 146 new or added lines in 12 files covered. (100.0%)

772 of 922 relevant lines covered (83.73%)

3.01 hits per line

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

0.0
/src/UserInterface/Controller/SignatureListAdminRoute.php
1
<?php
2

3
declare(strict_types=1);
4

5
namespace RichId\TermsModuleBundle\UserInterface\Controller;
6

7
use RichId\TermsModuleBundle\Domain\Entity\TermsUserInterface;
8
use RichId\TermsModuleBundle\Domain\Model\SignatureListForm;
9
use RichId\TermsModuleBundle\Domain\Pdf\TermsVersionSignaturePdfGeneratorManager;
10
use RichId\TermsModuleBundle\Domain\Port\SecurityInterface;
11
use RichId\TermsModuleBundle\Infrastructure\FormType\SignatureListFormType;
12
use RichId\TermsModuleBundle\Infrastructure\Repository\TermsVersionSignatureRepository;
13
use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
14
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
15
use Symfony\Component\Form\FormFactoryInterface;
16
use Symfony\Component\HttpFoundation\Request;
17
use Symfony\Component\HttpFoundation\RequestStack;
18
use Symfony\Component\HttpFoundation\Response;
19

20
class SignatureListAdminRoute extends AbstractController
21
{
22
    /** @var TermsVersionSignatureRepository */
23
    protected $termsVersionSignatureRepository;
24

25
    /** @var TermsVersionSignaturePdfGeneratorManager */
26
    protected $termsVersionSignaturePdfGeneratorManager;
27

28
    /** @var SecurityInterface */
29
    protected $security;
30

31
    /** @var RequestStack */
32
    protected $requestStack;
33

34
    /** @var FormFactoryInterface */
35
    protected $formFactory;
36

37
    public function __construct(
38
        TermsVersionSignatureRepository $termsVersionSignatureRepository,
39
        TermsVersionSignaturePdfGeneratorManager $termsVersionSignaturePdfGeneratorManager,
40
        SecurityInterface $security,
41
        RequestStack $requestStack,
42
        FormFactoryInterface $formFactory
43
    ) {
44
        $this->termsVersionSignatureRepository = $termsVersionSignatureRepository;
×
45
        $this->termsVersionSignaturePdfGeneratorManager = $termsVersionSignaturePdfGeneratorManager;
×
46
        $this->security = $security;
×
47
        $this->requestStack = $requestStack;
×
48
        $this->formFactory = $formFactory;
×
49
    }
×
50

51
    /** @IsGranted("MODULE_TERMS_ADMIN") */
52
    public function __invoke(): Response
53
    {
54
        $request = $this->requestStack->getCurrentRequest() ?? new Request();
×
55
        $form = $this->formFactory->createNamed('', SignatureListFormType::class)->handleRequest($request);
×
56
        $data = $form->getData() ?? new SignatureListForm();
×
57

58
        $paginator = $this->termsVersionSignatureRepository->findForSearch($data);
×
59

60
        return $this->render(
×
61
            '@RichIdTermsModule/admin/signature-list/main.html.twig',
×
62
            [
63
                'signatures'     => \iterator_to_array($paginator->getIterator()),
×
64
                'canDownloadPdf' => $this->security->getUser() instanceof TermsUserInterface && $this->termsVersionSignaturePdfGeneratorManager->hasConfiguredGenerator(),
×
65
                'form'           => $form->createView(),
×
66
                'nbPages'        => \ceil($paginator->count() / $data->getNumberItemsPerPage()),
×
67
                'currentPage'    => $data->getPage(),
×
68
                'sort'           => $data->getSort(),
×
69
                'sortDirection'  => $data->getSortDirection(),
×
70
            ]
71
        );
72
    }
73
}
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