-
Notifications
You must be signed in to change notification settings - Fork 1
/
clearing-process.php
127 lines (109 loc) · 6.13 KB
/
clearing-process.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<?php
/*
* Copyright (C) 2024 SYSTOPIA GmbH
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation in version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http:https://www.gnu.org/licenses/>.
*/
declare(strict_types = 1);
// phpcs:disable Drupal.Commenting.DocComment.ContentAfterOpen
/** @var \Symfony\Component\DependencyInjection\ContainerBuilder $container */
use Civi\Funding\ClearingProcess\ClearingActionsDeterminer;
use Civi\Funding\ClearingProcess\ClearingCostItemManager;
use Civi\Funding\ClearingProcess\ClearingExternalFileManager;
use Civi\Funding\ClearingProcess\ClearingExternalFileManagerInterface;
use Civi\Funding\ClearingProcess\ClearingProcessBundleLoader;
use Civi\Funding\ClearingProcess\ClearingProcessManager;
use Civi\Funding\ClearingProcess\ClearingResourcesItemManager;
use Civi\Funding\ClearingProcess\ClearingStatusDeterminer;
use Civi\Funding\ClearingProcess\Form\ClearingFormGenerator;
use Civi\Funding\ClearingProcess\Form\ClearingGroupExtractor;
use Civi\Funding\ClearingProcess\Form\CostItem\ClearableCostItemsLoader;
use Civi\Funding\ClearingProcess\Form\CostItem\ClearingCostItemsJsonFormsGenerator;
use Civi\Funding\ClearingProcess\Form\ItemDetailsFormElementGenerator;
use Civi\Funding\ClearingProcess\Form\ReceiptsFormGenerator;
use Civi\Funding\ClearingProcess\Form\ReceiptsFormGeneratorInterface;
use Civi\Funding\ClearingProcess\Form\ResourcesItem\ClearableResourcesItemsLoader;
use Civi\Funding\ClearingProcess\Form\ResourcesItem\ClearingResourcesItemsJsonFormsGenerator;
use Civi\Funding\ClearingProcess\Handler\ClearingFormDataGetHandler;
use Civi\Funding\ClearingProcess\Handler\ClearingFormDataGetHandlerInterface;
use Civi\Funding\ClearingProcess\Handler\ClearingFormGetHandler;
use Civi\Funding\ClearingProcess\Handler\ClearingFormGetHandlerInterface;
use Civi\Funding\ClearingProcess\Handler\ClearingFormSubmitHandler;
use Civi\Funding\ClearingProcess\Handler\ClearingFormSubmitHandlerInterface;
use Civi\Funding\ClearingProcess\Handler\ClearingFormValidateHandler;
use Civi\Funding\ClearingProcess\Handler\ClearingFormValidateHandlerInterface;
use Civi\Funding\ClearingProcess\Handler\Helper\ClearingCommentPersister;
use Civi\Funding\ClearingProcess\Handler\Helper\ClearingCostItemsFormDataPersister;
use Civi\Funding\ClearingProcess\Handler\Helper\ClearingResourcesItemsFormDataPersister;
use Civi\Funding\DependencyInjection\Compiler\ClearingFormValidatorPass;
use Civi\Funding\DependencyInjection\Compiler\ClearingReportDataLoaderPass;
use Civi\Funding\DependencyInjection\Compiler\ClearingReportFormFactoryPass;
use Civi\Funding\DependencyInjection\Util\ServiceRegistrator;
use Civi\RemoteTools\ActionHandler\ActionHandlerInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
$container->addCompilerPass(new ClearingReportDataLoaderPass());
$container->addCompilerPass(new ClearingReportFormFactoryPass());
$container->addCompilerPass(new ClearingFormValidatorPass());
$container->autowire(ClearingProcessManager::class);
$container->autowire(ClearingProcessBundleLoader::class);
$container->autowire(ClearingCostItemManager::class);
$container->autowire(ClearingResourcesItemManager::class);
$container->autowire(ClearingExternalFileManagerInterface::class, ClearingExternalFileManager::class);
$container->autowire(ClearingFormGenerator::class);
$container->autowire(ReceiptsFormGeneratorInterface::class, ReceiptsFormGenerator::class);
$container->autowire(ClearingCostItemsJsonFormsGenerator::class);
$container->autowire(ClearingResourcesItemsJsonFormsGenerator::class);
$container->autowire(ClearableCostItemsLoader::class);
$container->autowire(ClearableResourcesItemsLoader::class);
$container->autowire(ClearingGroupExtractor::class);
$container->autowire(ItemDetailsFormElementGenerator::class);
$container->autowire(ClearingCommentPersister::class);
$container->autowire(ClearingCostItemsFormDataPersister::class);
$container->autowire(ClearingResourcesItemsFormDataPersister::class);
$container->autowire(ClearingActionsDeterminer::class);
$container->autowire(ClearingStatusDeterminer::class);
$container->autowire(ClearingFormDataGetHandlerInterface::class, ClearingFormDataGetHandler::class)
->addTag(ClearingFormDataGetHandlerInterface::SERVICE_TAG);
$container->autowire(ClearingFormGetHandlerInterface::class, ClearingFormGetHandler::class)
->addTag(ClearingFormGetHandlerInterface::SERVICE_TAG);
$container->autowire(ClearingFormValidateHandlerInterface::class, ClearingFormValidateHandler::class)
->addTag(ClearingFormValidateHandlerInterface::SERVICE_TAG);
$container->autowire(ClearingFormSubmitHandlerInterface::class, ClearingFormSubmitHandler::class)
->addTag(ClearingFormSubmitHandlerInterface::SERVICE_TAG);
$container->autowire(\Civi\Funding\Api4\Action\FundingClearingProcess\GetAction::class)
->setPublic(TRUE)
->setShared(FALSE);
$container->autowire(\Civi\Funding\Api4\Action\FundingClearingProcess\GetFieldsAction::class)
->setPublic(TRUE)
->setShared(FALSE);
$container->autowire(\Civi\Funding\Api4\Action\FundingClearingCostItem\GetAction::class)
->setPublic(TRUE)
->setShared(FALSE);
$container->autowire(\Civi\Funding\Api4\Action\FundingClearingResourcesItem\GetAction::class)
->setPublic(TRUE)
->setShared(FALSE);
ServiceRegistrator::autowireAllImplementing(
$container,
__DIR__ . '/../Civi/Funding/ClearingProcess/Api4/ActionHandler',
'Civi\\Funding\\ClearingProcess\\Api4\\ActionHandler',
ActionHandlerInterface::class,
[ActionHandlerInterface::SERVICE_TAG => []],
);
ServiceRegistrator::autowireAllImplementing(
$container,
__DIR__ . '/../Civi/Funding/EventSubscriber/ClearingProcess',
'Civi\\Funding\\EventSubscriber\\ClearingProcess',
EventSubscriberInterface::class,
['kernel.event_subscriber' => []],
['lazy' => TRUE],
);