From 4f5e1fe185d9cefeceeb1418e6f4259452658c32 Mon Sep 17 00:00:00 2001 From: localhorst <localhorst@mosad.xyz> Date: Sat, 30 May 2020 16:16:14 +0200 Subject: [PATCH] list suppliers page --- .../hso/ecommerce/app/RequestController.java | 12 +- .../suppliers/SupplierIndexController.java | 56 ++++++++- .../repos/supplier/SupplierRepository.java | 8 ++ .../templates/intern/suppliers/index.html | 111 ++++++++---------- 4 files changed, 115 insertions(+), 72 deletions(-) diff --git a/prototype/src/main/java/org/hso/ecommerce/app/RequestController.java b/prototype/src/main/java/org/hso/ecommerce/app/RequestController.java index bb0b5d6..0f9c42e 100644 --- a/prototype/src/main/java/org/hso/ecommerce/app/RequestController.java +++ b/prototype/src/main/java/org/hso/ecommerce/app/RequestController.java @@ -100,11 +100,12 @@ public class RequestController { return "intern/customerOrders/id"; } + /* @GetMapping("/intern/suppliers/") public String internSuppliers() { return "intern/suppliers/index"; } - +*/ @GetMapping("/intern/suppliers/{id}") public String internSuppliersId() { return "intern/suppliers/id"; @@ -120,15 +121,6 @@ public class RequestController { return "intern/supplierOrders/id"; } - /* - - @GetMapping("/intern/suppliersOffers") - public String internSuppliersOffers() { - return "intern/offeredArticles/index"; - } - */ - - @GetMapping("/intern/accounting/") public String accounting() { return "intern/accounting/index"; diff --git a/prototype/src/main/java/org/hso/ecommerce/controller/intern/suppliers/SupplierIndexController.java b/prototype/src/main/java/org/hso/ecommerce/controller/intern/suppliers/SupplierIndexController.java index d6cefc0..56ca421 100644 --- a/prototype/src/main/java/org/hso/ecommerce/controller/intern/suppliers/SupplierIndexController.java +++ b/prototype/src/main/java/org/hso/ecommerce/controller/intern/suppliers/SupplierIndexController.java @@ -1,8 +1,62 @@ package org.hso.ecommerce.controller.intern.suppliers; +import java.util.ArrayList; +import java.util.List; + +import org.hso.ecommerce.entities.supplier.Supplier; +import org.hso.ecommerce.repos.supplier.SupplierRepository; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; @Controller -//@RequestMapping("...") +@RequestMapping("/intern/") public class SupplierIndexController { + + @Autowired + private final SupplierRepository supplierRepository = null; + + @GetMapping("suppliers") + public String listSuppliers(Model model) { + + List<UImodelSuppliers> totals = new ArrayList<UImodelSuppliers>(); + + for (Supplier supplier : supplierRepository.findAll()) { + UImodelSuppliers tmp = new UImodelSuppliers(supplier.id, supplier.name); + totals.add(tmp); + } + + model.addAttribute("suppliers", totals); + return "intern/suppliers/index"; + } + + public class UImodelSuppliers { + long id; + String name; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public UImodelSuppliers(long id, String name) { + this.id = id; + this.name = name; + } + + } + } diff --git a/prototype/src/main/java/org/hso/ecommerce/repos/supplier/SupplierRepository.java b/prototype/src/main/java/org/hso/ecommerce/repos/supplier/SupplierRepository.java index 2b81659..f1023df 100644 --- a/prototype/src/main/java/org/hso/ecommerce/repos/supplier/SupplierRepository.java +++ b/prototype/src/main/java/org/hso/ecommerce/repos/supplier/SupplierRepository.java @@ -1,10 +1,18 @@ package org.hso.ecommerce.repos.supplier; +import java.util.List; + import org.hso.ecommerce.entities.supplier.Supplier; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; @Repository public interface SupplierRepository extends JpaRepository<Supplier, Long> { + + @Query("SELECT a FROM Supplier a") + List<Supplier> findAll(); + + } diff --git a/prototype/src/main/resources/templates/intern/suppliers/index.html b/prototype/src/main/resources/templates/intern/suppliers/index.html index a735be8..4fdc843 100644 --- a/prototype/src/main/resources/templates/intern/suppliers/index.html +++ b/prototype/src/main/resources/templates/intern/suppliers/index.html @@ -1,63 +1,52 @@ <!DOCTYPE html> <html lang="de" dir="ltr" xmlns:th="http://www.thymeleaf.org"> - -<head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=0.75, user-scalable=no"> - - <title>Lieferanten</title> - <script th:src="@{/js/filterTable.js}"></script> - <link rel="stylesheet" th:href="@{/css/ecom.css}"/> -</head> - -<body> -<nav th:replace="fragments/header :: header">Header</nav> -<div class="sidebar-layout content-width"> - <nav></nav> - <div> - <h1>Lieferanten</h1> - - <script th:src="@{/js/back.js}"></script> - <div class="back" data-group="intern" data-name="Zurück zur Übersicht der Lieferanten." - data-insert="false"></div> - </div> -</div> -<main class="sidebar-layout content-width"> - <nav th:replace="fragments/intern :: sidebar"></nav> - <div class="content-width"> - <p> - <table id="main-table"> - <tr> - <th colspan="7"> - <input type="text" placeholder="Filtern" class="smaller jsFilterTable full-width" - data-target-id="main-table"></input> - </th> - </tr> - <tr> - <th>Nr</th> - <th>Name</th> - <th></th> - </tr> - <tr> - <td>0015</td> - <td>Cheap AG</td> - <td><a th:href="@{/intern/suppliers/4884}" class="button smaller">Details</a></td> - </tr> - <tr> - <td>5012</td> - <td>Not Cheap GmbH & Co. KG</td> - <td><a th:href="@{/intern/suppliers/4884}" class="button smaller">Details</a></td> - </tr> - <tr> - <td>7400</td> - <td>Hans MÜller GmbH</td> - <td><a th:href="@{/intern/suppliers/4884}" class="button smaller">Details</a></td> - </tr> - </table> - </p> - </div> -</main> -<footer th:replace="fragments/footer :: footer"></footer> -</body> - -</html> + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=0.75, user-scalable=no"> + <title>Lieferanten</title> + <script th:src="@{/js/filterTable.js}"></script> + <link rel="stylesheet" th:href="@{/css/ecom.css}"/> + </head> + <body> + <nav th:replace="fragments/header :: header">Header</nav> + <div class="sidebar-layout content-width"> + <nav></nav> + <div> + <h1>Lieferanten</h1> + <script th:src="@{/js/back.js}"></script> + <div class="back" data-group="intern" data-name="Zurück zur Übersicht der Lieferanten." + data-insert="false"></div> + </div> + </div> + <main class="sidebar-layout content-width"> + <nav th:replace="fragments/intern :: sidebar"></nav> + <div class="content-width"> + <p> + <table id="main-table"> + <tr> + <th colspan="7"> + <input type="text" placeholder="Filtern" class="smaller jsFilterTable full-width" + data-target-id="main-table"></input> + </th> + </tr> + <thead> + <tr> + <th>Nr</th> + <th>Name</th> + <th></th> + </tr> + </thead> + <tbody> + <tr th:each="supplier : ${suppliers}"> + <td><span th:text="${supplier.id}"></span></td> + <td><span th:text="${supplier.name}"></span></td> + <td><a th:href="@{/intern/suppliers/{id}(id = ${supplier.id})}" class="button smaller">Details</a></td> + </tr> + </tbody> + </table> + </p> + </div> + </main> + <footer th:replace="fragments/footer :: footer"></footer> + </body> +</html> \ No newline at end of file