Add asset creation form handling and update asset interface
Some checks failed
Build / build (push) Failing after 8s
Some checks failed
Build / build (push) Failing after 8s
This commit is contained in:
@@ -2,10 +2,14 @@ package be.seeseepuff.pcinv.controllers;
|
||||
|
||||
import be.seeseepuff.pcinv.services.AssetService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.util.MultiValueMap;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
/**
|
||||
* Controller for handling web requests related to assets.
|
||||
@@ -51,4 +55,21 @@ public class WebController {
|
||||
model.addAttribute(DESCRIPTOR, assetService.getAssetDescriptor(type));
|
||||
return "create_asset";
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles the form submission for creating an asset.
|
||||
*
|
||||
* @param model The model to add attributes to.
|
||||
* @param type The type of asset to create.
|
||||
* @return The view name for creating the asset.
|
||||
*/
|
||||
@PostMapping(
|
||||
value = "/create/{type}",
|
||||
consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE
|
||||
)
|
||||
public String createTypePost(Model model, @PathVariable String type, @RequestBody MultiValueMap<String, String> formData) {
|
||||
model.addAttribute(DESCRIPTORS, assetService.getAssetDescriptorTree(type));
|
||||
model.addAttribute(DESCRIPTOR, assetService.getAssetDescriptor(type));
|
||||
return "create_asset";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,4 +4,6 @@ public interface Asset {
|
||||
long getId();
|
||||
|
||||
GenericAsset getAsset();
|
||||
|
||||
void setAsset(GenericAsset asset);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<body th:replace="~{fragments :: base(title='Select type to create', content=~{::content})}">
|
||||
<div th:fragment="content">
|
||||
Create a <span th:text="${descriptor.displayName}"></span>
|
||||
<form th:action="'/asset/'+${descriptor.getType()}" method="post">
|
||||
<form th:action="'/create/'+${descriptor.getType()}" method="post">
|
||||
<div th:each="d : ${descriptors}">
|
||||
<h2 th:text="${d.displayName}"></h2>
|
||||
<table border="1">
|
||||
|
||||
Reference in New Issue
Block a user