From 089657d5da2a51ba0850fbf55660999e79ae53d4 Mon Sep 17 00:00:00 2001 From: Simon Bruder Date: Mon, 8 Jul 2024 20:54:57 +0200 Subject: [PATCH] Show item class parent in listing --- src/frontend/item_class.rs | 6 ++++-- templates/item_class_list.html | 6 +++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/frontend/item_class.rs b/src/frontend/item_class.rs index 662ef4d..8cbc9fc 100644 --- a/src/frontend/item_class.rs +++ b/src/frontend/item_class.rs @@ -2,6 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0-or-later +use std::collections::HashMap; + use actix_web::{error, get, post, web, HttpRequest, Responder}; use askama_actix::Template; use uuid::Uuid; @@ -59,7 +61,7 @@ async fn show_item_class( #[template(path = "item_class_list.html")] struct ItemClassList { req: HttpRequest, - item_classes: Vec, + item_classes: HashMap, } #[get("/item-classes")] @@ -67,7 +69,7 @@ async fn list_item_classes( req: HttpRequest, pool: web::Data, ) -> actix_web::Result { - let item_classes = manage::item_class::get_all(&mut pool.get().await.unwrap()) + let item_classes = manage::item_class::get_all_as_map(&mut pool.get().await.unwrap()) .await .map_err(error::ErrorInternalServerError)?; diff --git a/templates/item_class_list.html b/templates/item_class_list.html index 998090a..89b835a 100644 --- a/templates/item_class_list.html +++ b/templates/item_class_list.html @@ -14,14 +14,14 @@ SPDX-License-Identifier: AGPL-3.0-or-later Name - Type + Parent - {% for item_class in item_classes -%} + {% for item_class in item_classes.values() -%} {{ item_class.name }} - {{ item_class.type }} + {% if let Some(parent) = item_class.parent %}{{ item_classes.get(parent).unwrap().name }}{% else %}-{% endif %} {% endfor -%}