Skip to content

Commit 2c02e2b

Browse files
chore: refactor for formatters
1 parent 35332cb commit 2c02e2b

11 files changed

+66
-350
lines changed

app/Audit/ConcreteFormatters/FeaturedSpeakerAuditLogFormatter.php

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -59,23 +59,12 @@ public function format($subject, array $change_set): ?string
5959
);
6060

6161
case IAuditStrategy::EVENT_ENTITY_UPDATE:
62-
$changed_fields = [];
63-
64-
if (isset($change_set['Order'])) {
65-
$old_order = $change_set['Order'][0] ?? 'unknown';
66-
$new_order = $change_set['Order'][1] ?? 'unknown';
67-
$changed_fields[] = sprintf("display_order %s → %s", $old_order, $new_order);
68-
}
69-
if (isset($change_set['PresentationSpeakerID'])) {
70-
$changed_fields[] = "speaker";
71-
}
72-
73-
$fields_str = !empty($changed_fields) ? implode(', ', $changed_fields) : 'properties';
62+
$change_details = $this->buildChangeDetails($change_set);
7463
return sprintf(
75-
"Featured speaker '%s' (%s) updated (%s changed) by user %s",
64+
"Featured speaker '%s' (%s) updated: %s by user %s",
7665
$speaker_name,
7766
$speaker_id,
78-
$fields_str,
67+
$change_details,
7968
$this->getUserInfo()
8069
);
8170

app/Audit/ConcreteFormatters/PresentationFormatters/PresentationSpeakerAuditLogFormatter.php

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,21 +42,50 @@ public function format($subject, array $change_set): ?string
4242

4343
switch ($this->event_type) {
4444
case IAuditStrategy::EVENT_ENTITY_CREATION:
45+
$bio = $subject->getBio() ? sprintf(" - Bio: %s", mb_substr($subject->getBio(), 0, 50)) : '';
4546
return sprintf(
46-
"Speaker '%s' (%s) with email '%s' created by user %s",
47+
"Speaker '%s' (%s) created with email '%s'%s by user %s",
4748
$full_name,
4849
$speaker_id,
4950
$email,
51+
$bio,
5052
$this->getUserInfo()
5153
);
5254

5355
case IAuditStrategy::EVENT_ENTITY_UPDATE:
54-
$change_details = $this->buildChangeDetails($change_set);
56+
$changed_fields = [];
57+
if (isset($change_set['FirstName']) || isset($change_set['LastName'])) {
58+
$changed_fields[] = "name";
59+
}
60+
if (isset($change_set['Email'])) {
61+
$changed_fields[] = "email";
62+
}
63+
if (isset($change_set['Title'])) {
64+
$changed_fields[] = "title";
65+
}
66+
67+
if (isset($change_set['Country'])) {
68+
$changed_fields[] = "country";
69+
}
70+
if (isset($change_set['AvailableForBureau'])) {
71+
$changed_fields[] = "available_for_bureau";
72+
}
73+
if (isset($change_set['FundedTravel'])) {
74+
$changed_fields[] = "funded_travel";
75+
}
76+
if (isset($change_set['WillingToTravel'])) {
77+
$changed_fields[] = "willing_to_travel";
78+
}
79+
if (isset($change_set['WillingToPresentVideo'])) {
80+
$changed_fields[] = "willing_to_present_video";
81+
}
82+
83+
$fields_str = !empty($changed_fields) ? implode(', ', $changed_fields) : 'properties';
5584
return sprintf(
56-
"Speaker '%s' (%s) updated: %s by user %s",
85+
"Speaker '%s' (%s) updated (%s changed) by user %s",
5786
$full_name,
5887
$speaker_id,
59-
$change_details,
88+
$fields_str,
6089
$this->getUserInfo()
6190
);
6291

app/Audit/ConcreteFormatters/PresentationTrackChairRatingTypeAuditLogFormatter.php renamed to app/Audit/ConcreteFormatters/PresentationFormatters/PresentationTrackChairRatingTypeAuditLogFormatter.php

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace App\Audit\ConcreteFormatters;
3+
namespace App\Audit\ConcreteFormatters\PresentationFormatters;
44

55
/**
66
* Copyright 2025 OpenStack Foundation
@@ -50,16 +50,11 @@ public function format($subject, array $change_set): ?string
5050
);
5151

5252
case IAuditStrategy::EVENT_ENTITY_UPDATE:
53-
$changed_fields = [];
54-
if (isset($change_set['name'])) {
55-
$changed_fields[] = "name";
56-
}
57-
58-
$fields_str = !empty($changed_fields) ? implode(', ', $changed_fields) : 'properties';
53+
$change_details = $this->buildChangeDetails($change_set);
5954
return sprintf(
60-
"Track Chair Rating Type '%s' updated (%s changed) by user %s",
55+
"Track Chair Rating Type '%s' updated: %s by user %s",
6156
$name,
62-
$fields_str,
57+
$change_details,
6358
$this->getUserInfo()
6459
);
6560

app/Audit/ConcreteFormatters/PresentationTrackChairScoreTypeAuditLogFormatter.php renamed to app/Audit/ConcreteFormatters/PresentationFormatters/PresentationTrackChairScoreTypeAuditLogFormatter.php

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace App\Audit\ConcreteFormatters;
3+
namespace App\Audit\ConcreteFormatters\PresentationFormatters;
44

55
/**
66
* Copyright 2025 OpenStack Foundation
@@ -52,19 +52,11 @@ public function format($subject, array $change_set): ?string
5252
);
5353

5454
case IAuditStrategy::EVENT_ENTITY_UPDATE:
55-
$changed_fields = [];
56-
if (isset($change_set['label'])) {
57-
$changed_fields[] = "label";
58-
}
59-
if (isset($change_set['score'])) {
60-
$changed_fields[] = "score";
61-
}
62-
63-
$fields_str = !empty($changed_fields) ? implode(', ', $changed_fields) : 'properties';
55+
$change_details = $this->buildChangeDetails($change_set);
6456
return sprintf(
65-
"Score Type '%s' updated (%s changed) by user %s",
57+
"Score Type '%s' updated: %s by user %s",
6658
$label,
67-
$fields_str,
59+
$change_details,
6860
$this->getUserInfo()
6961
);
7062

app/Audit/ConcreteFormatters/PresentationSpeakerAuditLogFormatter.php

Lines changed: 0 additions & 107 deletions
This file was deleted.

app/Audit/ConcreteFormatters/PresentationUserSubmissionAuditLogFormatter.php

Lines changed: 0 additions & 74 deletions
This file was deleted.

0 commit comments

Comments
 (0)