Feature/issue 583 email templates to disk#595
Open
kayjoosten wants to merge 7 commits into
Open
Conversation
Both fields are now read from disk/parameters.yaml. Any values pushed via the management API are silently ignored — no events fired, no DB writes. Validation accepts but does not inspect either field.
SraaService now takes the %sraa% parameter (list of nameId strings) instead of SraaRepository. All callers updated. SraaProjector and SraaRepository kept for historical event replay compatibility.
DiskEmailTemplateService reads .html.twig files from config/openconext/email_templates/<locale>/<name>.html.twig with fallback locale support. Default templates added for en_GB and nl_NL using canonical content from OpenConext-devconf. EmailTemplatesWarmer validates all templates at cache warmup and fails loudly if any are missing or contain invalid Twig syntax. Twig sandbox policy updated to allow format_date filter.
Remove fixtures and assertions for sraa/email_template validation that no longer applies. Update mocks from SraaRepository to SraaService in DeprovisionServiceTest and RightToBeForgottenCommandHandlerTest.
Test that a push with only gateway is accepted, and that a push containing sraa and email_templates is silently accepted without error.
96c7f8a to
c4f8d6d
Compare
8 tasks
Contributor
|
docs/MiddlewareConfiguration.md:35 still refers to the now removed sraa and email templates. As does docs/postman/2.http |
johanib
reviewed
Jun 4, 2026
Contributor
johanib
left a comment
There was a problem hiding this comment.
Sorry, but wip review. Lets use my difficult questions as a discussion point.
| private function createConfigurationUpdatedEvents(array $newConfiguration, array $oldConfiguration = null): array | ||
| { | ||
| // sraa and email_templates are dropped before processing; strip them from expected events too | ||
| unset($newConfiguration['sraa'], $newConfiguration['email_templates']); |
|
|
||
| # List of name_ids for Super Registration Authority Administrators (SRAA). | ||
| # Replaces the sraa field previously pushed via the management API. | ||
| sraa: [] |
Contributor
There was a problem hiding this comment.
Question: Should there be a / is there a sensible default for a value for use in devconf?
| $decodedConfiguration = JsonHelper::decode($newConfiguration); | ||
|
|
||
| // sraa and email_templates are read from disk/parameters.yaml; ignore any values from the push | ||
| unset($decodedConfiguration['sraa'], $decodedConfiguration['email_templates']); |
Contributor
There was a problem hiding this comment.
Is this the logical place for this?
| foreach (self::TEMPLATE_NAMES as $name) { | ||
| $path = sprintf('%s/%s/%s.html.twig', $this->templatesDir, $locale, $name); | ||
|
|
||
| if (!file_exists($path)) { |
Contributor
There was a problem hiding this comment.
File exists !== file is readable.
$content = file_get_contents($path);
if ($content === false) {
throw new \RuntimeException(
"Email template file exists but is not readable: $path"
);
}
$this->twig->createTemplate($content)Also goes for DiskEmailTemplateService
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.