diff --git a/pyproject.toml b/pyproject.toml index 1bf6587443..1076f0896a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -105,17 +105,16 @@ generate-hashes=true extra-paths = ["src/backend/InvenTree"] [tool.ty.rules] -unresolved-reference="ignore" # 21 # see https://github.com/astral-sh/ty/issues/220 -unresolved-attribute="ignore" # 505 # need Plugin Mixin typing +unresolved-attribute="ignore" # 837 # need Plugin Mixin typing call-non-callable="ignore" # 8 ## -invalid-assignment="ignore" # 17 # need to wait for better django field stubs -invalid-method-override="ignore" # 104 -invalid-return-type="ignore" # 22 ## -# possibly-missing-attribute="ignore" # 25 # https://github.com/astral-sh/ty/issues/164 -unknown-argument="ignore" # 3 # need to wait for better django field stubs +invalid-assignment="ignore" # 40 # need to wait for better django field stubs +invalid-method-override="ignore" # 103 +invalid-return-type="ignore" # 44 ## invalid-argument-type="ignore" # 49 -no-matching-overload="ignore" # 3 # need to wait for betterdjango field stubs -# possibly-unbound-attribute="ignore" # 21 +no-matching-overload="ignore" # 10 # need to wait for betterdjango field stubs + +# warn about unused ignore comments +unused-ignore-comment = "error" [tool.coverage.run] source = ["src/backend/InvenTree", "InvenTree"] diff --git a/src/backend/InvenTree/InvenTree/exceptions.py b/src/backend/InvenTree/InvenTree/exceptions.py index 61bde3b275..597f1f5063 100644 --- a/src/backend/InvenTree/InvenTree/exceptions.py +++ b/src/backend/InvenTree/InvenTree/exceptions.py @@ -25,6 +25,7 @@ def log_error( error_data: Optional[str] = None, scope: Optional[str] = None, plugin: Optional[str] = None, + user_id: Optional[int] = None, ): """Log an error to the database. @@ -37,6 +38,7 @@ def log_error( error_data: The error data (optional, overrides 'data') scope: The scope of the error (optional) plugin: The plugin name associated with this error (optional) + user_id: The user ID associated with this error (optional) """ import InvenTree.ready @@ -71,6 +73,9 @@ def log_error( except AttributeError: data = 'No traceback information available' + if user_id: + data = f'User ID: {user_id}\n{data}' + # Log error to stderr logger.error(info) diff --git a/src/backend/InvenTree/plugin/broken/broken_file.py b/src/backend/InvenTree/plugin/broken/broken_file.py index f56932e876..bf97149aef 100644 --- a/src/backend/InvenTree/plugin/broken/broken_file.py +++ b/src/backend/InvenTree/plugin/broken/broken_file.py @@ -7,4 +7,4 @@ class BrokenFileIntegrationPlugin(InvenTreePlugin): """An very broken plugin.""" -aaa = bb # noqa: F821 +aaa = bb # noqa: F821 # ty:ignore[unresolved-reference] diff --git a/src/backend/requirements-dev-3.14.txt b/src/backend/requirements-dev-3.14.txt index f711289cc9..620f7d574c 100644 --- a/src/backend/requirements-dev-3.14.txt +++ b/src/backend/requirements-dev-3.14.txt @@ -669,25 +669,25 @@ sqlparse==0.5.5 \ # -c src/backend/requirements.txt # django # django-silk -ty==0.0.51 \ - --hash=sha256:08adbe53fb8bc9e7f00e89bf1d3c875a02cda76d83f109d2e6ab1ff35a7bfa8c \ - --hash=sha256:25a5b31e6f23fd5dc63ad29087ded09932409e4154e2fe07bbaed015035990bb \ - --hash=sha256:2faed19a8f1505370de071c008df52a994fc03a204f3267c3a33a32ca26f854f \ - --hash=sha256:429a997394dac73870d71b87cc90efc54da3efaf319e72ca18aeef35a78aef90 \ - --hash=sha256:49a21237f6fd1de56beaff0a3e85fe022a09a3401e67e3abec41ce838a5d4d2e \ - --hash=sha256:608d417cd1eaf79bcbd713d9830d5e3db9d57ec225c3af3e4ac9a9ff66b45d70 \ - --hash=sha256:61b4b6a003c3ebe53a63a1125c9b6542aa01bc1b6c9a235d01ee328d000d61a9 \ - --hash=sha256:62ced5e380284f12b2dc4802a3e4ed3dac39913fc6719afde7978814a4c7f169 \ - --hash=sha256:62d94f06e8c317e89b6884f2bde443040e596b88c7c79bd944c84c105b06257a \ - --hash=sha256:79d1877e93460f936bc10ed1a31525702b7ce51075763ccba993be17f0b9e905 \ - --hash=sha256:947986bd82d324b3a5c58ce03f1dad160cdf36443d3e8f64b3484b861ba9bc64 \ - --hash=sha256:abd92913bc90d1705ef9391ff8c6822b61e2e827fa295eb30bf0dfabcf815645 \ - --hash=sha256:b90172d46365bb9d51a7011cbb5c60cc4f514f42c86635df6c092b717f85e1ac \ - --hash=sha256:bc7459348a253247bbfb2669a021e614281b86bbea24c36112b8a6e1a2499a16 \ - --hash=sha256:c1bd1355aee86af01e4e21b0bc16fc460fb05905761f0d8b8d70841de0feade8 \ - --hash=sha256:cc233a6235fb23e2a44b14731a10043e37ba2f30f2c361cf49ad3633c5b9da9c \ - --hash=sha256:dc5e93695ab5dcbf1eef663aee60ec23a413547cc9cb06adcb0d842e9166bd0f \ - --hash=sha256:f8f52952cff665bc52a36147e610c10f5699d30007d7a14ab7f345cff93476ff +ty==0.0.54 \ + --hash=sha256:01ab9eb8c0802d35ae73fa08e4e037963250ee5ee6aa7ed8c8b994e5495db5ef \ + --hash=sha256:0365ea133d6b028952c22e6412a00da9739bc3b538df3c0a61972bf64d8558f1 \ + --hash=sha256:0de0cf48918609a3996cc2a4e18e8028fc4d2446bb82df822e9737f53bb9afee \ + --hash=sha256:2259e1a1f744a5f20f079dcc4061c1464001c75f255aaca7316e422f8f5e5e09 \ + --hash=sha256:57c7c6c1fcd2aa29cd40117142c0d45a2b0e6c42817ef58ea8dcb5f59d6ea802 \ + --hash=sha256:5a0a764e2261f9292adf14bbc91b9d7ef7ee7c00b8f3d9f2563f19ae3605109b \ + --hash=sha256:651e90094d41c4add3d616e0f2c1c881c6700a2ae3ac191c023c665050ff2cdc \ + --hash=sha256:6a0ce5af9eefe636888377d8ab8ea817239ed96de64fede62c4e5331ae16db5c \ + --hash=sha256:6e43124e6ac4cb9702d99facb28c6b2f2574c8a4b8f59eae2632eef4962e3439 \ + --hash=sha256:7e876c9b5130afc6b6e46035a2eecca9b563b78249030296e1089922428d5415 \ + --hash=sha256:8674617617399d4fdd568b3e3a8f87a913df525c80691d732b0744b571b341c8 \ + --hash=sha256:994ede70fc1b6f0efc29d0f1fc0d819630bed1d2610eac2e9dabb2840f3f3bf9 \ + --hash=sha256:ad329d1942e23ee428948e673b2a50249f27e164220075b0a2ef8169029c8423 \ + --hash=sha256:b1d048df26abb433acc5b3bcef214167c7dc9e3341f8f200a3c59702516a0ed0 \ + --hash=sha256:b6b3cfe174f27744413c898b2488ca52ea76070637095de131698e506b455055 \ + --hash=sha256:dc179be5a070c5dc7785a5e108eece2ab216978a91f91e11661308749a6c28ee \ + --hash=sha256:e949f7bbfa80a9fa00968924028aa673a505faa234b0b9d1241b7d34373eae14 \ + --hash=sha256:f478476f3222807b4d92f15c5298a8c242f2ed17c724da75f4a8c6b522b4f29a # via # -c src/backend/requirements-dev.txt # -r src/backend/requirements-dev.in diff --git a/src/backend/requirements-dev.txt b/src/backend/requirements-dev.txt index de265fdb59..1cbfd6f7ca 100644 --- a/src/backend/requirements-dev.txt +++ b/src/backend/requirements-dev.txt @@ -594,25 +594,25 @@ sqlparse==0.5.5 \ # -c src/backend/requirements.txt # django # django-silk -ty==0.0.51 \ - --hash=sha256:08adbe53fb8bc9e7f00e89bf1d3c875a02cda76d83f109d2e6ab1ff35a7bfa8c \ - --hash=sha256:25a5b31e6f23fd5dc63ad29087ded09932409e4154e2fe07bbaed015035990bb \ - --hash=sha256:2faed19a8f1505370de071c008df52a994fc03a204f3267c3a33a32ca26f854f \ - --hash=sha256:429a997394dac73870d71b87cc90efc54da3efaf319e72ca18aeef35a78aef90 \ - --hash=sha256:49a21237f6fd1de56beaff0a3e85fe022a09a3401e67e3abec41ce838a5d4d2e \ - --hash=sha256:608d417cd1eaf79bcbd713d9830d5e3db9d57ec225c3af3e4ac9a9ff66b45d70 \ - --hash=sha256:61b4b6a003c3ebe53a63a1125c9b6542aa01bc1b6c9a235d01ee328d000d61a9 \ - --hash=sha256:62ced5e380284f12b2dc4802a3e4ed3dac39913fc6719afde7978814a4c7f169 \ - --hash=sha256:62d94f06e8c317e89b6884f2bde443040e596b88c7c79bd944c84c105b06257a \ - --hash=sha256:79d1877e93460f936bc10ed1a31525702b7ce51075763ccba993be17f0b9e905 \ - --hash=sha256:947986bd82d324b3a5c58ce03f1dad160cdf36443d3e8f64b3484b861ba9bc64 \ - --hash=sha256:abd92913bc90d1705ef9391ff8c6822b61e2e827fa295eb30bf0dfabcf815645 \ - --hash=sha256:b90172d46365bb9d51a7011cbb5c60cc4f514f42c86635df6c092b717f85e1ac \ - --hash=sha256:bc7459348a253247bbfb2669a021e614281b86bbea24c36112b8a6e1a2499a16 \ - --hash=sha256:c1bd1355aee86af01e4e21b0bc16fc460fb05905761f0d8b8d70841de0feade8 \ - --hash=sha256:cc233a6235fb23e2a44b14731a10043e37ba2f30f2c361cf49ad3633c5b9da9c \ - --hash=sha256:dc5e93695ab5dcbf1eef663aee60ec23a413547cc9cb06adcb0d842e9166bd0f \ - --hash=sha256:f8f52952cff665bc52a36147e610c10f5699d30007d7a14ab7f345cff93476ff +ty==0.0.54 \ + --hash=sha256:01ab9eb8c0802d35ae73fa08e4e037963250ee5ee6aa7ed8c8b994e5495db5ef \ + --hash=sha256:0365ea133d6b028952c22e6412a00da9739bc3b538df3c0a61972bf64d8558f1 \ + --hash=sha256:0de0cf48918609a3996cc2a4e18e8028fc4d2446bb82df822e9737f53bb9afee \ + --hash=sha256:2259e1a1f744a5f20f079dcc4061c1464001c75f255aaca7316e422f8f5e5e09 \ + --hash=sha256:57c7c6c1fcd2aa29cd40117142c0d45a2b0e6c42817ef58ea8dcb5f59d6ea802 \ + --hash=sha256:5a0a764e2261f9292adf14bbc91b9d7ef7ee7c00b8f3d9f2563f19ae3605109b \ + --hash=sha256:651e90094d41c4add3d616e0f2c1c881c6700a2ae3ac191c023c665050ff2cdc \ + --hash=sha256:6a0ce5af9eefe636888377d8ab8ea817239ed96de64fede62c4e5331ae16db5c \ + --hash=sha256:6e43124e6ac4cb9702d99facb28c6b2f2574c8a4b8f59eae2632eef4962e3439 \ + --hash=sha256:7e876c9b5130afc6b6e46035a2eecca9b563b78249030296e1089922428d5415 \ + --hash=sha256:8674617617399d4fdd568b3e3a8f87a913df525c80691d732b0744b571b341c8 \ + --hash=sha256:994ede70fc1b6f0efc29d0f1fc0d819630bed1d2610eac2e9dabb2840f3f3bf9 \ + --hash=sha256:ad329d1942e23ee428948e673b2a50249f27e164220075b0a2ef8169029c8423 \ + --hash=sha256:b1d048df26abb433acc5b3bcef214167c7dc9e3341f8f200a3c59702516a0ed0 \ + --hash=sha256:b6b3cfe174f27744413c898b2488ca52ea76070637095de131698e506b455055 \ + --hash=sha256:dc179be5a070c5dc7785a5e108eece2ab216978a91f91e11661308749a6c28ee \ + --hash=sha256:e949f7bbfa80a9fa00968924028aa673a505faa234b0b9d1241b7d34373eae14 \ + --hash=sha256:f478476f3222807b4d92f15c5298a8c242f2ed17c724da75f4a8c6b522b4f29a # via -r src/backend/requirements-dev.in types-psycopg2==2.9.21.20260518 \ --hash=sha256:2fd728a4fa3860db0a4a9813e5f49c30ed329b3d2e60e73530d9db01b2b98420 \