44
55namespace Drupal \os2forms_fordelingskomponent_debug \Controller ;
66
7- use Drupal \os2forms_fordelingskomponent \Model \Fordelingskomponent \AnvenderForsendelse ;
87use Drupal \Core \Url ;
98use Drupal \os2forms_fordelingskomponent \Repository \AnvenderForsendelseRepository ;
9+ use Drupal \os2forms_fordelingskomponent \Repository \AnvenderKvitteringRepository ;
1010use Drupal \webform \WebformInterface ;
1111use Drupal \webform \WebformSubmissionInterface ;
1212use Symfony \Component \HttpFoundation \Request ;
@@ -19,6 +19,7 @@ final class Os2formsFordelingskomponentDebugForsendelseController extends Abstra
1919
2020 public function __construct (
2121 private readonly AnvenderForsendelseRepository $ repository ,
22+ private readonly AnvenderKvitteringRepository $ kvitteringRepository ,
2223 ) {
2324 }
2425
@@ -27,33 +28,29 @@ public function __construct(
2728 */
2829 public function __invoke (Request $ request , WebformInterface $ webform , WebformSubmissionInterface $ webform_submission ): array {
2930 if ($ anvenderTransaktionsId = $ request ->query ->get ('anvender_transaktions_id ' )) {
30- if ($ item = $ this ->repository ->loadByAnvenderTransaktionsId ($ anvenderTransaktionsId )) {
31- return $ this ->itemDetails ($ item );
32- }
33-
34- throw new NotFoundHttpException ();
31+ return $ this ->itemDetails ($ anvenderTransaktionsId );
3532 }
33+
3634 $ items = $ this ->repository ->loadBySubmission ($ webform_submission );
3735
3836 // https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Render%21Element%21Table.php/class/Table/10
3937 $ header = [
4038 'anvenderTransaktionsId ' => $ this ->t ('anvenderTransaktionsId ' ),
4139 'distributionTransaktionsId ' => $ this ->t ('distributionTransaktionsId ' ),
4240 'receipts ' => $ this ->t ('Receipts ' ),
43- 'webform handlers ' => $ this ->t ('Webform handlers ' ),
4441 'createdAt ' => $ this ->t ('Created at ' ),
4542 'updatedAt ' => $ this ->t ('Updated at ' ),
46- 'deliveredAt ' => $ this ->t ('Delivered at ' ),
4743 ];
4844 $ rows = [];
4945 foreach ($ items as $ item ) {
46+ $ receipts = $ this ->kvitteringRepository ->loadByAnvenderTransaktionsId ($ item ->anvenderTransaktionsId );
5047 $ rows [] = [
5148 'anvenderTransaktionsId ' => [
5249 'data ' => [
5350 // https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Render%21Element%21Link.php/class/Link/10
5451 '#title ' => $ item ->anvenderTransaktionsId ,
5552 '#type ' => 'link ' ,
56- '#url ' => Url::fromRoute ('os2forms_fordelingskomponent_debug.os2forms_fordelingskomponent_debug_forsendelse ' , [
53+ '#url ' => Url::fromRoute ('os2forms_fordelingskomponent_debug.os2forms_fordelingskomponent_forsendelse ' , [
5754 'webform ' => $ webform ->id (),
5855 'webform_submission ' => $ webform_submission ->id (),
5956 'anvender_transaktions_id ' => $ item ->anvenderTransaktionsId ,
@@ -67,24 +64,15 @@ public function __invoke(Request $request, WebformInterface $webform, WebformSub
6764 ],
6865 'receipts ' => [
6966 'data ' => [
70- '#title ' => $ this -> t ( ' Receipts ' ),
67+ '#title ' => count ( $ receipts ),
7168 '#type ' => 'link ' ,
72- '#url ' => Url::fromRoute ('os2forms_fordelingskomponent_debug.os2forms_fordelingskomponent_debug_kvittering ' , [
69+ '#url ' => Url::fromRoute ('os2forms_fordelingskomponent_debug.os2forms_fordelingskomponent_kvittering ' , [
7370 'webform ' => $ webform ->id (),
7471 'webform_submission ' => $ webform_submission ->id (),
7572 'anvender_transaktions_id ' => $ item ->anvenderTransaktionsId ,
7673 ]),
7774 ],
7875 ],
79- 'webform handlers ' => [
80- 'data ' => [
81- '#title ' => $ this ->t ('Webform handlers ' ),
82- '#type ' => 'link ' ,
83- '#url ' => Url::fromRoute ('entity.webform.handlers ' , [
84- 'webform ' => $ item ->webformId ,
85- ]),
86- ],
87- ],
8876 'createdAt ' => [
8977 'data ' => [
9078 '#markup ' => $ this ->formatDatetime ($ item ->createdAt ),
@@ -95,11 +83,6 @@ public function __invoke(Request $request, WebformInterface $webform, WebformSub
9583 '#markup ' => $ this ->formatDatetime ($ item ->updatedAt ),
9684 ],
9785 ],
98- 'deliveredAt ' => [
99- 'data ' => [
100- '#markup ' => $ this ->formatDatetime ($ item ->deliveredAt ),
101- ],
102- ],
10386 ];
10487 }
10588
@@ -114,7 +97,12 @@ public function __invoke(Request $request, WebformInterface $webform, WebformSub
11497 /**
11598 * Build item details.
11699 */
117- private function itemDetails (AnvenderForsendelse $ item ) {
100+ private function itemDetails (string $ anvenderTransaktionsId ) {
101+ $ item = $ this ->repository ->loadByAnvenderTransaktionsId ($ anvenderTransaktionsId );
102+ if (NULL === $ item ) {
103+ throw new NotFoundHttpException ();
104+ }
105+
118106 return [
119107 [
120108 '#type ' => 'item ' ,
0 commit comments