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

eliashaeussler / typo3-form-consent / 13956821170

19 Mar 2025 09:12PM UTC coverage: 83.781% (-9.2%) from 93.012%
13956821170

Pull #354

github

web-flow
Merge b5968a39f into 881eb0c1f
Pull Request #354: Mark form finishers as approval/dismissal dependant via form editor

8 of 101 new or added lines in 4 files covered. (7.92%)

780 of 931 relevant lines covered (83.78%)

12.84 hits per line

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

0.0
/Classes/Event/Listener/AfterFormDefinitionLoadedEventListener.php
1
<?php
2

3
declare(strict_types=1);
4

5
/*
6
 * This file is part of the TYPO3 CMS extension "form_consent".
7
 *
8
 * Copyright (C) 2021-2025 Elias Häußler <elias@haeussler.dev>
9
 *
10
 * This program is free software: you can redistribute it and/or modify
11
 * it under the terms of the GNU General Public License as published by
12
 * the Free Software Foundation, either version 2 of the License, or
13
 * (at your option) any later version.
14
 *
15
 * This program is distributed in the hope that it will be useful,
16
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
 * GNU General Public License for more details.
19
 *
20
 * You should have received a copy of the GNU General Public License
21
 * along with this program. If not, see <https://www.gnu.org/licenses/>.
22
 */
23

24
namespace EliasHaeussler\Typo3FormConsent\Event\Listener;
25

26
use EliasHaeussler\Typo3FormConsent\Domain\Variants\ConsentVariantManager;
27
use TYPO3\CMS\Core\Attribute\AsEventListener;
28
use TYPO3\CMS\Core\Http\ApplicationType;
29
use TYPO3\CMS\Form\Mvc\Persistence\Event\AfterFormDefinitionLoadedEvent;
30

31
/**
32
 * This class takes form finishers from the consent variant and lines them up with the
33
 * global finishers.
34
 */
35

36
class AfterFormDefinitionLoadedEventListener
37
{
38

NEW
39
    public function __construct(
×
40
        private readonly ConsentVariantManager $consentVariantManager
NEW
41
    ){}
×
42

43
    // @todo Enable attribute once support for TYPO3 v12 is dropped
44
    /*#[AsEventListener(
45
        identifier: 'AfterFormDefinitionLoadedEventListener',
46
        event: AfterFormDefinitionLoadedEvent::class)
47
    ]*/
NEW
48
    public function __invoke(AfterFormDefinitionLoadedEvent $event)
×
49
    {
50
        // Make sure handler does only get called when processing the form definition in backend
NEW
51
        if (ApplicationType::fromRequest($GLOBALS['TYPO3_REQUEST'])->isBackend()) {
×
NEW
52
            $event->setFormDefinition(
×
NEW
53
                $this->consentVariantManager->streamlineFormFinishers(
×
NEW
54
                    $event->getFormDefinition()
×
NEW
55
                )
×
NEW
56
            );
×
57
        }
58
    }
59
}
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

© 2026 Coveralls, Inc