From 7d5ff47e8e853769885560358edbe56eda772d91 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Fri, 27 Feb 2026 11:53:12 -0600 Subject: [PATCH] feat: add related version tables for asset/log revision history --- src/wuttafarm/web/views/assets.py | 15 +++++++++++++++ src/wuttafarm/web/views/logs.py | 16 ++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/src/wuttafarm/web/views/assets.py b/src/wuttafarm/web/views/assets.py index f5046f9..d9e6205 100644 --- a/src/wuttafarm/web/views/assets.py +++ b/src/wuttafarm/web/views/assets.py @@ -296,6 +296,21 @@ class AssetMasterView(WuttaFarmMasterView): return buttons + def get_version_joins(self): + """ + We override this to declare the relationship between the + view's data model (which is some type of asset table) and the + canonical ``Asset`` model, so the revision history views + include transactions which reference either version table. + + See also parent method, + :meth:`~wuttaweb:wuttaweb.views.master.MasterView.get_version_joins()` + """ + model = self.app.model + return super().get_version_joins() + [ + model.Asset, + ] + def get_row_grid_data(self, asset): model = self.app.model session = self.Session() diff --git a/src/wuttafarm/web/views/logs.py b/src/wuttafarm/web/views/logs.py index 53fc91e..af0e375 100644 --- a/src/wuttafarm/web/views/logs.py +++ b/src/wuttafarm/web/views/logs.py @@ -344,6 +344,22 @@ class LogMasterView(WuttaFarmMasterView): return buttons + def get_version_joins(self): + """ + We override this to declare the relationship between the + view's data model (which is some type of log table) and the + canonical ``Log`` model, so the revision history views include + transactions which reference either version table. + + See also parent method, + :meth:`~wuttaweb:wuttaweb.views.master.MasterView.get_version_joins()` + """ + model = self.app.model + return super().get_version_joins() + [ + model.Log, + (model.LogAsset, "log_uuid", "uuid"), + ] + def defaults(config, **kwargs): base = globals()