working on backend-side translations

This commit is contained in:
2025-12-13 20:21:40 +01:00
parent eba34f1002
commit 00d05bfaff
9 changed files with 41 additions and 23 deletions

View File

@@ -5,6 +5,8 @@ import de.srsoftware.umbrella.core.exceptions.UmbrellaException;
import de.srsoftware.umbrella.core.model.Permission;
import de.srsoftware.umbrella.core.model.Project;
import de.srsoftware.umbrella.core.model.Status;
import de.srsoftware.umbrella.core.model.UmbrellaUser;
import java.util.Collection;
import java.util.Map;
@@ -17,7 +19,7 @@ public interface ProjectDb {
Map<Long, Project> ofUser(long userId, boolean includeClosed) throws UmbrellaException;
Project save(Project prj) throws UmbrellaException;
Project save(Project prj, UmbrellaUser user) throws UmbrellaException;
Status save(long projectId, Status newState);
}

View File

@@ -211,7 +211,7 @@ public class ProjectModule extends BaseHandler implements ProjectService {
if (json.has(MEMBERS) && json.get(MEMBERS) instanceof JSONObject memberJson) patchMembers(project,memberJson);
if (json.has(NEW_MEMBER) && json.get(NEW_MEMBER) instanceof Number num) addMember(project,num.longValue());
projectDb.save(project.patch(json));
projectDb.save(project.patch(json), user);
return sendContent(ex,project.toMap());
}
@@ -246,7 +246,7 @@ public class ProjectModule extends BaseHandler implements ProjectService {
}
var owner = Map.of(user.id(),new Member(user,OWNER));
var prj = new Project(0,name,description, OPEN.code(),companyId,showClosed, owner, PREDEFINED);
prj = projectDb.save(prj);
prj = projectDb.save(prj,user);
if (json.has(TAGS) && json.get(TAGS) instanceof JSONArray arr){
var tagList = arr.toList().stream().filter(elem -> elem instanceof String).map(String.class::cast).toList();

View File

@@ -6,14 +6,15 @@ import static de.srsoftware.tools.jdbc.Query.*;
import static de.srsoftware.tools.jdbc.Query.SelectQuery.ALL;
import static de.srsoftware.umbrella.core.Constants.*;
import static de.srsoftware.umbrella.core.Errors.*;
import static de.srsoftware.umbrella.core.ModuleRegistry.translator;
import static de.srsoftware.umbrella.core.exceptions.UmbrellaException.databaseException;
import static de.srsoftware.umbrella.core.model.Status.COMPLETE;
import static de.srsoftware.umbrella.core.model.Status.OPEN;
import static de.srsoftware.umbrella.project.Constants.*;
import static java.lang.System.Logger.Level.ERROR;
import static java.text.MessageFormat.format;
import de.srsoftware.umbrella.core.BaseDb;
import de.srsoftware.umbrella.core.ModuleRegistry;
import de.srsoftware.umbrella.core.exceptions.UmbrellaException;
import de.srsoftware.umbrella.core.model.Permission;
import de.srsoftware.umbrella.core.model.Project;
@@ -23,6 +24,8 @@ import java.sql.SQLException;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.umbrella.core.model.UmbrellaUser;
import org.json.JSONObject;
public class SqliteDb extends BaseDb implements ProjectDb {
@@ -218,7 +221,7 @@ CREATE TABLE IF NOT EXISTS {0} (
}
@Override
public Project save(Project prj) throws UmbrellaException {
public Project save(Project prj, UmbrellaUser user) throws UmbrellaException {
if (prj.id() == 0) { // new
try {
var stmt = insertInto(TABLE_PROJECTS, NAME, DESCRIPTION, STATUS, COMPANY_ID, SHOW_CLOSED).values(prj.name(), prj.description(), prj.status(), prj.companyId().orElse(null), prj.showClosed()).execute(db);
@@ -256,7 +259,7 @@ CREATE TABLE IF NOT EXISTS {0} (
}
return prj;
} catch (SQLException e) {
throw databaseException(FAILED_TO_UPDATE_PROJECT);
throw databaseException(FAILED_TO_UPDATE_ENTITY, translator().translate(user.language(),"project"));
}
}
return null;