From 066fcb857f8b8a46db36bace28d06b755acd0933 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Sun, 22 Mar 2026 14:24:20 -0500 Subject: [PATCH] fix: set material types when creating new log w/ material quantity --- src/wuttafarm/web/menus.py | 10 +++++----- src/wuttafarm/web/templates/wuttafarm-components.mako | 11 ++++++++--- src/wuttafarm/web/views/logs.py | 2 ++ 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/wuttafarm/web/menus.py b/src/wuttafarm/web/menus.py index 2756738..62d3d9c 100644 --- a/src/wuttafarm/web/menus.py +++ b/src/wuttafarm/web/menus.py @@ -138,6 +138,11 @@ class WuttaFarmMenuHandler(base.MenuHandler): "route": "land_types", "perm": "land_types.list", }, + { + "title": "Material Types", + "route": "material_types", + "perm": "material_types.list", + }, { "title": "Plant Types", "route": "plant_types", @@ -218,11 +223,6 @@ class WuttaFarmMenuHandler(base.MenuHandler): "route": "log_types", "perm": "log_types.list", }, - { - "title": "Material Types", - "route": "material_types", - "perm": "material_types.list", - }, { "title": "Measures", "route": "measures", diff --git a/src/wuttafarm/web/templates/wuttafarm-components.mako b/src/wuttafarm/web/templates/wuttafarm-components.mako index 890568f..b7c81c7 100644 --- a/src/wuttafarm/web/templates/wuttafarm-components.mako +++ b/src/wuttafarm/web/templates/wuttafarm-components.mako @@ -847,12 +847,18 @@ } const measureMap = {} - for (let m of this.measures) { + for (const m of this.measures) { measureMap[m.drupal_id] = m.name } + const quantityTypeMap = {} + for (const qt of this.quantityTypes) { + quantityTypeMap[qt.drupal_id] = qt.name + } + return { measureMap, + quantityTypeMap, quantityType: this.defaultQuantityType, editShowDialog: false, editNew: true, @@ -893,8 +899,7 @@ this.newQuantity.quantity_type = { drupal_id: this.quantityType, - ## TODO: add support for other quantity types - name: "Standard", + name: this.quantityTypeMap[this.quantityType], } this.newQuantity.measure = null diff --git a/src/wuttafarm/web/views/logs.py b/src/wuttafarm/web/views/logs.py index 4924b31..df2b01f 100644 --- a/src/wuttafarm/web/views/logs.py +++ b/src/wuttafarm/web/views/logs.py @@ -408,6 +408,8 @@ class LogMasterView(WuttaFarmMasterView): value_denominator=denom, units=units, ) + if qty.quantity_type_id == "material": + self.set_material_types(qty, new_qty["material_types"]) # nb. must ensure "typed" quantity record persists! session.add(qty) # but must add "generic" quantity record to log