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 -%}