Skip to content

Commit 5ff844f

Browse files
Add display class for package transferred records
1 parent d9e0c76 commit 5ff844f

File tree

4 files changed

+64
-0
lines changed

4 files changed

+64
-0
lines changed

src/Audit/Display/AuditLogDisplayFactory.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,13 @@ public function buildSingle(AuditRecord $record): AuditLogDisplayInterface
4646
$this->buildActor($record->attributes['maintainer']),
4747
$this->buildActor($record->attributes['actor']),
4848
),
49+
AuditRecordType::PackageTransferred => new PackageTransferredDisplay(
50+
$record->datetime,
51+
$record->attributes['name'],
52+
$record->attributes['previous_maintainers'],
53+
$record->attributes['current_maintainers'],
54+
$this->buildActor($record->attributes['actor']),
55+
),
4956
AuditRecordType::PackageCreated => new PackageCreatedDisplay(
5057
$record->datetime,
5158
$record->attributes['name'],
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<?php declare(strict_types=1);
2+
3+
/*
4+
* This file is part of Packagist.
5+
*
6+
* (c) Jordi Boggiano <[email protected]>
7+
* Nils Adermann <[email protected]>
8+
*
9+
* For the full copyright and license information, please view the LICENSE
10+
* file that was distributed with this source code.
11+
*/
12+
13+
namespace App\Audit\Display;
14+
15+
use App\Audit\AuditRecordType;
16+
17+
readonly class PackageTransferredDisplay extends AbstractAuditLogDisplay
18+
{
19+
/**
20+
* @param array<ActorDisplay> $previousMaintainers
21+
* @param array<ActorDisplay> $currentMaintainers
22+
*/
23+
public function __construct(
24+
\DateTimeImmutable $datetime,
25+
public string $packageName,
26+
/** @var string[] $previousMaintainers */
27+
public array $previousMaintainers,
28+
/** @var string[] $currentMaintainers */
29+
public array $currentMaintainers,
30+
ActorDisplay $actor,
31+
) {
32+
parent::__construct($datetime, $actor);
33+
}
34+
35+
public function getType(): AuditRecordType
36+
{
37+
return AuditRecordType::PackageTransferred;
38+
}
39+
40+
public function getTemplateName(): string
41+
{
42+
return 'audit_log/display/package_transferred.html.twig';
43+
}
44+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1+
{% import "macros.html.twig" as packagist %}
2+
13
<strong>
24
{%- if display.packageName is existing_package -%}
35
<a href="{{ path('view_package', { 'name': display.packageName }) }}">{{ display.packageName }}</a>
46
{%- else -%}
57
{{ display.packageName }}
68
{%- endif -%}
9+
{{ packagist.packageLink(display.packageName, null) }}
710
</strong><br>
811
Maintainer: {{ display.maintainer.username }}<br>
912
Added by: {{ display.actor.username }}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<strong>
2+
{%- if display.packageName is existing_package -%}
3+
<a href="{{ path('view_package', { 'name': display.packageName }) }}">{{ display.packageName }}</a>
4+
{%- else -%}
5+
{{ display.packageName }}
6+
{%- endif -%}
7+
</strong><br>
8+
Previous maintainers: {% for maintainer in display.previousMaintainers %}{{ maintainer.username }}{% if not loop.last %}, {% endif %}{% endfor %}<br>
9+
Current maintainers: {% for maintainer in display.currentMaintainers %}{{ maintainer.username }}{% if not loop.last %}, {% endif %}{% endfor %}<br>
10+
Transferred by: {{ display.actor.username }}

0 commit comments

Comments
 (0)