From d7c32ef69ad6e63f90e5fa8367f74287d22dc0b2 Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Thu, 26 Mar 2026 12:37:25 +0100 Subject: [PATCH] added company selector to project form --- .../java/de/srsoftware/umbrella/core/model/Project.java | 3 ++- frontend/src/routes/project/View.svelte | 6 ++++++ .../main/java/de/srsoftware/umbrella/project/SqliteDb.java | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/de/srsoftware/umbrella/core/model/Project.java b/core/src/main/java/de/srsoftware/umbrella/core/model/Project.java index 106303e7..42e81dbb 100644 --- a/core/src/main/java/de/srsoftware/umbrella/core/model/Project.java +++ b/core/src/main/java/de/srsoftware/umbrella/core/model/Project.java @@ -17,7 +17,7 @@ public class Project implements Mappable { private final Map members; private final Collection allowedStates; private boolean showClosed; - private final Long companyId; + private Long companyId; private int status; private String name; private final long id; @@ -96,6 +96,7 @@ public class Project implements Mappable { public Project patch(JSONObject json) { for (var key : json.keySet()){ switch (key){ + case COMPANY_ID: companyId = json.getLong(COMPANY_ID); break; case DESCRIPTION: description = json.getString(key); break; case NAME: name = json.getString(key); break; case SHOW_CLOSED: showClosed = json.getBoolean(SHOW_CLOSED); break; diff --git a/frontend/src/routes/project/View.svelte b/frontend/src/routes/project/View.svelte index 24659282..3dd32b96 100644 --- a/frontend/src/routes/project/View.svelte +++ b/frontend/src/routes/project/View.svelte @@ -6,6 +6,7 @@ import { error, yikes } from '../../warn.svelte'; import { t } from '../../translations.svelte'; + import CompanySelector from '../../Components/CompanySelector.svelte'; import LineEditor from '../../Components/LineEditor.svelte'; import MarkdownEditor from '../../Components/MarkdownEditor.svelte'; import PermissionEditor from '../../Components/PermissionEditor.svelte'; @@ -211,6 +212,11 @@ {#if project.company}
{t('company')}
{project.company.name}
+ {:else} + {#if showSettings} +
{t('company')}
+ update({company_id:c.id})} /> + {/if} {/if}
{t('context')}
diff --git a/project/src/main/java/de/srsoftware/umbrella/project/SqliteDb.java b/project/src/main/java/de/srsoftware/umbrella/project/SqliteDb.java index 20abd387..302306de 100644 --- a/project/src/main/java/de/srsoftware/umbrella/project/SqliteDb.java +++ b/project/src/main/java/de/srsoftware/umbrella/project/SqliteDb.java @@ -251,7 +251,7 @@ CREATE TABLE IF NOT EXISTS {0} ( } if (prj.isDirty()){ update(TABLE_PROJECTS).set(NAME, DESCRIPTION, STATUS, COMPANY_ID, SHOW_CLOSED).where(ID,equal(prj.id())).prepare(db) - .apply(prj.name(),prj.description(),prj.status(),prj.companyId(),prj.showClosed()) + .apply(prj.name(),prj.description(),prj.status(),prj.companyId().orElse(null),prj.showClosed()) .execute(); prj.clean(); }