From 1ec15328b0598aac00dfc0fafd6379812c535ba9 Mon Sep 17 00:00:00 2001 From: Yaro Kasear Date: Tue, 15 Jul 2025 15:02:18 -0500 Subject: [PATCH] More work on the CSV dump. --- inventory/routes/inventory.py | 4 ++-- inventory/templates/table.html | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/inventory/routes/inventory.py b/inventory/routes/inventory.py index 5c479ee..2b63fd6 100644 --- a/inventory/routes/inventory.py +++ b/inventory/routes/inventory.py @@ -50,7 +50,7 @@ def list_inventory(): header=inventory_headers, rows=[{"id": item.id, "cells": [row_fn(item) for row_fn in inventory_headers.values()]} for item in inventory], entry_route = 'inventory_item', - table=inventory + csv_route = 'inventory' ) @main.route("/inventory/index") @@ -209,7 +209,7 @@ def delete_inventory_item(id): @main.route("/api/inventory/export", methods=["GET"]) def get_inventory_csv(): - return "Oh boy!" + return jsonify({"success": True}), 200 @main.route("/inventory_available") def inventory_available(): diff --git a/inventory/templates/table.html b/inventory/templates/table.html index 444a36c..7dd44b8 100644 --- a/inventory/templates/table.html +++ b/inventory/templates/table.html @@ -8,6 +8,22 @@ window.location.href = '/{{ entry_route }}/new'; {% endset %} {% set exportButtonLogic %} + const payload = {ids: [{% for row in rows %}{{ row['id'] }}, {% endfor %}]} + + try { + const response = await fetch('/api/{{ csv_route }}/export', { + method: "GET", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify(payload) + }); + + const result = await response.json(); + console.log(result); + } catch (err) { + console.log(err); + } {% endset %} {% set toolbarButtons %}