diff --git a/frontend/src/routes/stock/Index.svelte b/frontend/src/routes/stock/Index.svelte index b36eaee..a4ddaf0 100644 --- a/frontend/src/routes/stock/Index.svelte +++ b/frontend/src/routes/stock/Index.svelte @@ -189,7 +189,7 @@ patchLocation(location,'description',newDesc)} /> {/if} - a.code.localeCompare(b.code))} bind:selected={item} drag_start={drag_item} /> + a.code.localeCompare(b.code))} bind:selected={item} drag_start={drag_item} />
diff --git a/frontend/src/routes/stock/ItemList.svelte b/frontend/src/routes/stock/ItemList.svelte index 308a27e..e7f043e 100644 --- a/frontend/src/routes/stock/ItemList.svelte +++ b/frontend/src/routes/stock/ItemList.svelte @@ -1,7 +1,20 @@ @@ -19,5 +32,17 @@ {/each} + {#if location} + + + + + + {/if}
{item.name}
{t('create_new_object',{object:t('item')})} + + + + +
diff --git a/frontend/src/urls.svelte.js b/frontend/src/urls.svelte.js index efdbcac..66f3dfa 100644 --- a/frontend/src/urls.svelte.js +++ b/frontend/src/urls.svelte.js @@ -4,6 +4,14 @@ export function api(rel_path){ return `${location.protocol}//${location.host.replace('5173','8080')}/api/${rel_path}`; } +export async function post(url,data){ + return fetch(url,{ + credentials : 'include', + method : 'POST', + body : JSON.stringify(data) + }); +} + export function target(code){ if (!code) return null; let altered = code; diff --git a/stock/src/main/java/de/srsoftware/umbrella/stock/StockModule.java b/stock/src/main/java/de/srsoftware/umbrella/stock/StockModule.java index b6dead0..2e02f22 100644 --- a/stock/src/main/java/de/srsoftware/umbrella/stock/StockModule.java +++ b/stock/src/main/java/de/srsoftware/umbrella/stock/StockModule.java @@ -140,6 +140,7 @@ public class StockModule extends BaseHandler implements StockService { if (user.isEmpty()) return unauthorized(ex); var head = path.pop(); return switch (head) { + case ITEM -> postItem(user.get(), ex); case LOCATION -> postLocation(user.get(),ex); case PROPERTY -> postProperty(user.get(),ex); case null, default -> super.doPost(path,ex); @@ -262,6 +263,13 @@ public class StockModule extends BaseHandler implements StockService { return sendContent(ex,location); } + private boolean postItem(UmbrellaUser user, HttpExchange ex) throws IOException { + var json = json(ex); + if (!json.has(NAME) || !(json.get(NAME) instanceof String name)) throw missingFieldException(NAME); + if (!json.has(CODE) || !(json.get(CODE) instanceof String code)) throw missingFieldException(CODE); + + } + private boolean postLocation(UmbrellaUser user, HttpExchange ex) throws IOException { var json = json(ex); if (!(json.get(NAME) instanceof String name)) throw missingFieldException(NAME);