From 8c10f820d5d069267bbae6be8a91787e4b2d297f Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Tue, 20 Jan 2026 20:21:54 +0100 Subject: [PATCH] extended Project event translations Signed-off-by: Stephan Richter --- .../messagebus/events/ProjectEvent.java | 21 ++++++++++++------- .../umbrella/messagebus/events/TaskEvent.java | 10 ++++----- translations/src/main/resources/de.json | 9 +++++++- translations/src/main/resources/en.json | 9 +++++++- 4 files changed, 35 insertions(+), 14 deletions(-) diff --git a/bus/src/main/java/de/srsoftware/umbrella/messagebus/events/ProjectEvent.java b/bus/src/main/java/de/srsoftware/umbrella/messagebus/events/ProjectEvent.java index ca3a81a3..702ee70a 100644 --- a/bus/src/main/java/de/srsoftware/umbrella/messagebus/events/ProjectEvent.java +++ b/bus/src/main/java/de/srsoftware/umbrella/messagebus/events/ProjectEvent.java @@ -16,8 +16,8 @@ import java.util.Map; public class ProjectEvent extends Event{ + private final UmbrellaUser newMember; - private UmbrellaUser newMember; public ProjectEvent(UmbrellaUser initiator, Project project, EventType type){ super(initiator, PROJECT, project, type); newMember = null; @@ -49,12 +49,12 @@ public class ProjectEvent extends Event{ } private Translatable describeCreate() { - var head = t("You have been added to the new project '{project}', created by {user}':\n\n{body}", Field.PROJECT, payload().name(), BODY, payload().description(), USER, initiator().name()); + var head = t("You have been added to the new project '{project}', created by {user}:\n\n{body}", Field.PROJECT, payload().name(), BODY, payload().description(), USER, initiator().name()); return t("{head}\n\n{link}","head",head,"link",link()); } private Translatable describeMemberAdded() { - var head = t("'{name}' has been added to '{project}' by '{user}'.",NAME,newMember.name(),Field.PROJECT,payload().name(),USER,initiator().name()); + var head = t("'{name}' has been added to '{object}' by '{user}'.",NAME,newMember.name(),Field.OBJECT,payload().name(),USER,initiator().name()); return t("{head}\n\n{link}","head",head,"link",link()); } @@ -63,6 +63,11 @@ public class ProjectEvent extends Event{ return t("{head}\n\n{link}","head",head,"link",link()); } + @Override + protected Map filter(Map map) { + map.remove(MEMBERS); + return super.filter(map); + } @Override public boolean isIntendedFor(UmbrellaUser user) { @@ -76,9 +81,11 @@ public class ProjectEvent extends Event{ return t("You can view/edit this project at {base_url}/project/{id}/view",ID,payload().id()); } - @Override public Translatable subject() { - return t("{user} edited {object}",USER,initiator(),OBJECT,payload().name()); - } -} + return switch (eventType()){ + case CREATE -> t("The project '{project}' has been created", Field.PROJECT, payload().name()); + case DELETE -> t("The project '{project}' has been deleted",Field.PROJECT, payload().name()); + case MEMBER_ADDED, UPDATE -> t("Project '{project}' was edited",Field.PROJECT,payload().name()); + }; + }} diff --git a/bus/src/main/java/de/srsoftware/umbrella/messagebus/events/TaskEvent.java b/bus/src/main/java/de/srsoftware/umbrella/messagebus/events/TaskEvent.java index b0fada07..222c5bab 100644 --- a/bus/src/main/java/de/srsoftware/umbrella/messagebus/events/TaskEvent.java +++ b/bus/src/main/java/de/srsoftware/umbrella/messagebus/events/TaskEvent.java @@ -50,11 +50,6 @@ public class TaskEvent extends Event{ }; } - private Translatable describeMemberAdded() { - var head = t("'{name}' has been added to '{task}' by '{user}'.",NAME,newMember.name(),Field.TASK,payload().name(),USER,initiator().name()); - return t("{head}\n\n{link}","head",head,"link",link()); - } - private Translatable describeCreate() { String parentName = null; var pid = payload().parentTaskId(); @@ -71,6 +66,11 @@ public class TaskEvent extends Event{ return t("{head}\n\n{link}","head",head,"link",link()); } + private Translatable describeMemberAdded() { + var head = t("'{name}' has been added to '{object}' by '{user}'.",NAME,newMember.name(), OBJECT,payload().name(),USER,initiator().name()); + return t("{head}\n\n{link}","head",head,"link",link()); + } + private Translatable describeUpdate() { var head = t("Changes in task '{task}':\n\n{body}",Field.TASK,payload().name(),BODY,diff().orElse("")); return t("{head}\n\n{link}","head",head,"link",link()); diff --git a/translations/src/main/resources/de.json b/translations/src/main/resources/de.json index f81336c6..26cc701e 100644 --- a/translations/src/main/resources/de.json +++ b/translations/src/main/resources/de.json @@ -33,6 +33,7 @@ "by": "von", "cancel": "abbrechen", + "Changes in project '{project}':\n\n{body}": "Änderungen an Projekt '{project}':\n\n{body}", "Changes in task '{task}':\n\n{body}": "Änderungen an Aufgabe '{task}':\n\n{body}", "choose_type": "Typ wählen", "click_to_edit": "Anklicken zum Bearbeiten", @@ -285,6 +286,7 @@ "processing_code": "Code wird verarbeitet…", "project": "Projekt", "project ({id})": "Projekt ({id})", + "Project '{project}' was edited": "Projekt '{project}' wurde bearbeitet", "projects": "Projekte", "properties": "Eigenschaften", "property": "Eigenschaft", @@ -362,9 +364,12 @@ "tax_rate": "Steuersatz", "template": "Vorlage", "theme": "Design", + "The project '{project}' has been created":"Das Projekt '{project}' wurde angelegt", + "The project '{project}' has been deleted": "Das Projekt '{project}' wurde gelöscht", + "The project '{project}' has been deleted by {user}": "Das Projekt '{project}' wurde von {user} gelöscht", "The task '{task}' has been created": "Die Aufgabe '{task}' wurde angelegt", "The task '{task}' has been deleted": "Die Aufgabe '{task}' wurde gelöscht", - "The task '{task}' has been deleted by {user}": "Die Aufgabe '{task}' wurde von {user} bearbeitet", + "The task '{task}' has been deleted by {user}": "Die Aufgabe '{task}' wurde von {user} gelöscht", "time ({id})": "Zeit ({id})", "times": "Zeiten", "timetracking": "Zeiterfassung", @@ -412,7 +417,9 @@ "wiki_pages": "Wiki-Seiten", "year": "Jahr", + "You can view/edit this project at {base_url}/project/{id}/view": "Du kannst dieses Projekt unter {base_url}/project/{id}/view ansehen/bearbeiten.", "You can view/edit this task at {base_url}/task/{id}/view": "Du kannst diese Aufgabe unter {base_url}/task/{id}/view ansehen/bearbeiten.", + "You have been added to the new project '{project}', created by {user}:\n\n{body}": "Du wurdest zum neuen Projekt '{project}', angelegt von {user}, hinzugefügt:\n\n{body}", "Your token to create a new password" : "Ihr Token zum Erstellen eines neuen Passworts", "your_profile": "dein Profil" } diff --git a/translations/src/main/resources/en.json b/translations/src/main/resources/en.json index 23039a46..c7925bf0 100644 --- a/translations/src/main/resources/en.json +++ b/translations/src/main/resources/en.json @@ -33,6 +33,7 @@ "by": "by", "cancel": "cancel", + "Changes in project '{project}':\n\n{body}": "Changes in project '{project}':\n\n{body}", "Changes in task '{task}':\n\n{body}": "Changes in task '{task}':\n\n{body}", "choose_type": "choose type", "click_to_edit": "click to edit", @@ -236,7 +237,7 @@ "my files": "my files", "name": "Name", - "'{name}' has been added to '{task}' by '{user}'.": "'{name}' has been added to '{task}' by '{user}'.", + "'{name}' has been added to '{object}' by '{user}'.": "'{name}' has been added to '{object}' by '{user}'.", "net_price": "net price", "net_sum": "net sum", "new_contact": "new contact", @@ -285,6 +286,7 @@ "processing_code": "processing code…", "project": "project", "project ({id})": "project ({id})", + "Project '{project}' was edited": "Project '{project}' was edited", "projects": "projects", "properties": "properties", "property": "property", @@ -362,6 +364,9 @@ "tax_rate": "tax rate", "template": "template", "theme": "design", + "The project '{project}' has been created":"The project '{project}' has been created", + "The project '{project}' has been deleted": "The project '{project}' has been deleted", + "The project '{project}' has been deleted by {user}": "The project '{project}' has been deleted by {user}", "The task '{task}' has been created": "The task '{task}' has been created", "The task '{task}' has been deleted": "The task '{task}' has been deleted", "The task '{task}' has been deleted by {user}": "The task '{task}' has been deleted by {user}", @@ -412,7 +417,9 @@ "wiki_pages": "wiki pages", "year": "year", + "You can view/edit this project at {base_url}/project/{id}/view": "You can view/edit this project at {base_url}/project/{id}/view", "You can view/edit this task at {base_url}/task/{id}/view": "You can view/edit this task at {base_url}/task/{id}/view", + "You have been added to the new project '{project}', created by {user}:\n\n{body}": "You have been added to the new project '{project}', created by {user}:\n\n{body}", "Your token to create a new password" : "Your token to create a new password", "your_profile": "your profile" }