Add history tracking functionality using django-pghistory; implement views, templates, and middleware for event serialization and context management

This commit is contained in:
pacnpal
2025-02-09 09:52:19 -05:00
parent d3c01c7eb7
commit 52cb51cb14
14 changed files with 210 additions and 7 deletions

28
uv.lock generated
View File

@@ -328,6 +328,31 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/7d/40/e556bc19ba65356fe5f0e48ca01c50e81f7c630042fa7411b6ab428ecf68/django_oauth_toolkit-3.0.1-py3-none-any.whl", hash = "sha256:3ef00b062a284f2031b0732b32dc899e3bbf0eac221bbb1cffcb50b8932e55ed", size = 77299 },
]
[[package]]
name = "django-pghistory"
version = "3.5.2"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "django" },
{ name = "django-pgtrigger" },
]
sdist = { url = "https://files.pythonhosted.org/packages/5e/f0/a3170aafc42875a43b04a0ae6f1cce103f16eed4013147d6b5d7b6f46c29/django_pghistory-3.5.2.tar.gz", hash = "sha256:49d2fb0a5b86cffd409cfc9bfce1dee5401fbbdb18779b04bc26cea8c4e967d7", size = 31221 }
wheels = [
{ url = "https://files.pythonhosted.org/packages/66/43/83ad03cda0e613d8e9df6398c5d6ce07cdbca8cdaad9e69841f9c58e3d1e/django_pghistory-3.5.2-py3-none-any.whl", hash = "sha256:5f81a386e4c93e34b95de2064bbf42aabe4e20be53f7ad6638d25f137338f101", size = 38319 },
]
[[package]]
name = "django-pgtrigger"
version = "4.13.3"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "django" },
]
sdist = { url = "https://files.pythonhosted.org/packages/c7/98/d93f658316901c54a00ec0caefc3e73796b2f7ffcc1fd11188da22c45027/django_pgtrigger-4.13.3.tar.gz", hash = "sha256:c525f9e81f120d166c4bd5fe8c3770640356f0644edf0fc2b7f6426008e52f77", size = 30723 }
wheels = [
{ url = "https://files.pythonhosted.org/packages/16/cb/3bb87d45b1b46ef36f3786fbfcda0a43f80c8fa4e742a350a2cd1512557e/django_pgtrigger-4.13.3-py3-none-any.whl", hash = "sha256:d6e4d17021bbd5e425a308f07414b237b9b34423275d86ad756b90c307df3ca4", size = 34059 },
]
[[package]]
name = "django-simple-history"
version = "3.7.0"
@@ -626,6 +651,7 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/ce/ac/5b1ea50fc08a9df82de7e1771537557f07c2632231bbab652c7e22597908/psycopg2_binary-2.9.10-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:bb89f0a835bcfc1d42ccd5f41f04870c1b936d8507c6df12b7737febc40f0909", size = 2822712 },
{ url = "https://files.pythonhosted.org/packages/c4/fc/504d4503b2abc4570fac3ca56eb8fed5e437bf9c9ef13f36b6621db8ef00/psycopg2_binary-2.9.10-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f0c2d907a1e102526dd2986df638343388b94c33860ff3bbe1384130828714b1", size = 2920155 },
{ url = "https://files.pythonhosted.org/packages/b2/d1/323581e9273ad2c0dbd1902f3fb50c441da86e894b6e25a73c3fda32c57e/psycopg2_binary-2.9.10-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f8157bed2f51db683f31306aa497311b560f2265998122abe1dce6428bd86567", size = 2959356 },
{ url = "https://files.pythonhosted.org/packages/08/50/d13ea0a054189ae1bc21af1d85b6f8bb9bbc5572991055d70ad9006fe2d6/psycopg2_binary-2.9.10-cp313-cp313-win_amd64.whl", hash = "sha256:27422aa5f11fbcd9b18da48373eb67081243662f9b46e6fd07c3eb46e4535142", size = 2569224 },
]
[[package]]
@@ -887,6 +913,7 @@ dependencies = [
{ name = "django-filter" },
{ name = "django-htmx" },
{ name = "django-oauth-toolkit" },
{ name = "django-pghistory" },
{ name = "django-simple-history" },
{ name = "django-tailwind-cli" },
{ name = "django-webpack-loader" },
@@ -920,6 +947,7 @@ requires-dist = [
{ name = "django-filter", specifier = ">=23.5" },
{ name = "django-htmx", specifier = ">=1.17.2" },
{ name = "django-oauth-toolkit", specifier = ">=3.0.1" },
{ name = "django-pghistory", specifier = ">=3.5.2" },
{ name = "django-simple-history", specifier = ">=3.5.0" },
{ name = "django-tailwind-cli", specifier = ">=2.21.1" },
{ name = "django-webpack-loader", specifier = ">=3.1.1" },