Oliver
2f91f9a068
[report] Add set_var and get_var helpers ( #12901 )
...
* [report] Add set_var and get_var helpers
* Add type hints
* Adjust helpers
2026-09-21 16:38:03 +10:00
Oliver
a675d1b24c
[bug] Fix for Attachment thumbnail generation ( #12902 )
2026-09-21 13:16:24 +10:00
Oliver
94692563fe
[bug] Bulk import fix ( #12898 )
...
* Handle auto_now and auto_now_add fields for bulk import
- Prevent them from being set to the current date
* Add regression testing
2026-09-21 13:05:21 +10:00
Oliver
ce52e57fba
[bug] Build line fix ( #12892 )
...
* Fix BuildLineSerializer
- use SubquerySum not Sum
* Add regression test
* Adjust existing API test thresholds
* Refactor assertion message in test_api.py
Simplified assertion message for GROUP BY check in count queries.
* Fix assertion message in count query test
2026-09-20 23:41:09 +10:00
Oliver
10422dc37b
[db] Disable JIT for postgres ( #12893 )
...
* disable postgres JIT by default
* Update docs
2026-09-20 19:09:55 +10:00
dependabot[bot] and Matthias Mair
6176135821
chore(deps): bump the dependencies group across 1 directory with 18 updates ( #12882 )
...
* chore(deps): bump the dependencies group across 1 directory with 18 updates
Bumps the dependencies group with 18 updates in the /src/backend directory:
| Package | From | To |
| --- | --- | --- |
| [boto3](https://github.com/boto/boto3 ) | `1.43.88` | `1.43.92` |
| [botocore](https://github.com/boto/botocore ) | `1.43.88` | `1.43.92` |
| [django-dbbackup](https://github.com/Archmonger/django-dbbackup ) | `5.3.0` | `5.3.1` |
| [djangorestframework](https://github.com/encode/django-rest-framework ) | `3.18.0` | `3.18.1` |
| [fonttools](https://github.com/fonttools/fonttools ) | `4.64.0` | `4.65.0` |
| [pint](https://github.com/hgrecco/pint ) | `0.25.3` | `0.26.1` |
| [platformdirs](https://github.com/tox-dev/platformdirs ) | `4.11.7` | `4.11.8` |
| [pydantic-core](https://github.com/pydantic/pydantic ) | `2.46.5` | `2.49.0` |
| [pyjwt](https://github.com/jpadilla/pyjwt ) | `2.13.0` | `2.14.0` |
| [pypdf](https://github.com/py-pdf/pypdf ) | `6.17.0` | `6.18.1` |
| [scim2-models](https://github.com/python-scim/scim2-models ) | `0.6.12` | `0.7.0` |
| [sentry-sdk](https://github.com/getsentry/sentry-python ) | `2.68.1` | `2.69.1` |
| [tqdm](https://github.com/tqdm/tqdm ) | `4.70.0` | `4.70.1` |
| [wrapt](https://github.com/GrahamDumpleton/wrapt ) | `2.4.0` | `2.4.1` |
| [anyio](https://github.com/agronholm/anyio ) | `4.15.0` | `4.15.1` |
| [build](https://github.com/pypa/build ) | `1.6.0` | `1.6.1` |
| [types-psycopg2](https://github.com/python/typeshed ) | `2.9.21.20260724` | `2.9.21.20260911` |
| [types-pyyaml](https://github.com/python/typeshed ) | `6.0.12.20260815` | `6.0.12.20260906` |
Updates `boto3` from 1.43.88 to 1.43.92
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.88...1.43.92 )
Updates `botocore` from 1.43.88 to 1.43.92
- [Commits](https://github.com/boto/botocore/compare/1.43.88...1.43.92 )
Updates `django-dbbackup` from 5.3.0 to 5.3.1
- [Release notes](https://github.com/Archmonger/django-dbbackup/releases )
- [Changelog](https://github.com/Archmonger/django-dbbackup/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Archmonger/django-dbbackup/compare/5.3.0...5.3.1 )
Updates `djangorestframework` from 3.18.0 to 3.18.1
- [Release notes](https://github.com/encode/django-rest-framework/releases )
- [Commits](https://github.com/encode/django-rest-framework/compare/3.18.0...3.18.1 )
Updates `fonttools` from 4.64.0 to 4.65.0
- [Release notes](https://github.com/fonttools/fonttools/releases )
- [Changelog](https://github.com/fonttools/fonttools/blob/main/NEWS.rst )
- [Commits](https://github.com/fonttools/fonttools/compare/4.64.0...4.65.0 )
Updates `pint` from 0.25.3 to 0.26.1
- [Changelog](https://github.com/hgrecco/pint/blob/master/CHANGES )
- [Commits](https://github.com/hgrecco/pint/compare/0.25.3...0.26.1 )
Updates `platformdirs` from 4.11.7 to 4.11.8
- [Release notes](https://github.com/tox-dev/platformdirs/releases )
- [Changelog](https://github.com/tox-dev/platformdirs/blob/main/docs/changelog.rst )
- [Commits](https://github.com/tox-dev/platformdirs/compare/4.11.7...4.11.8 )
Updates `pydantic-core` from 2.46.5 to 2.49.0
- [Release notes](https://github.com/pydantic/pydantic/releases )
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md )
- [Commits](https://github.com/pydantic/pydantic/commits )
Updates `pyjwt` from 2.13.0 to 2.14.0
- [Release notes](https://github.com/jpadilla/pyjwt/releases )
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst )
- [Commits](https://github.com/jpadilla/pyjwt/compare/2.13.0...2.14.0 )
Updates `pypdf` from 6.17.0 to 6.18.1
- [Release notes](https://github.com/py-pdf/pypdf/releases )
- [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md )
- [Commits](https://github.com/py-pdf/pypdf/compare/6.17.0...6.18.1 )
Updates `scim2-models` from 0.6.12 to 0.7.0
- [Release notes](https://github.com/python-scim/scim2-models/releases )
- [Changelog](https://github.com/python-scim/scim2-models/blob/main/doc/changelog.rst )
- [Commits](https://github.com/python-scim/scim2-models/compare/0.6.12...0.7.0 )
Updates `sentry-sdk` from 2.68.1 to 2.69.1
- [Release notes](https://github.com/getsentry/sentry-python/releases )
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-python/compare/2.68.1...2.69.1 )
Updates `tqdm` from 4.70.0 to 4.70.1
- [Release notes](https://github.com/tqdm/tqdm/releases )
- [Commits](https://github.com/tqdm/tqdm/compare/v4.70.0...v4.70.1 )
Updates `wrapt` from 2.4.0 to 2.4.1
- [Release notes](https://github.com/GrahamDumpleton/wrapt/releases )
- [Changelog](https://github.com/GrahamDumpleton/wrapt/blob/develop/docs/changes.rst )
- [Commits](https://github.com/GrahamDumpleton/wrapt/compare/2.4.0...2.4.1 )
Updates `anyio` from 4.15.0 to 4.15.1
- [Release notes](https://github.com/agronholm/anyio/releases )
- [Commits](https://github.com/agronholm/anyio/compare/4.15.0...4.15.1 )
Updates `build` from 1.6.0 to 1.6.1
- [Release notes](https://github.com/pypa/build/releases )
- [Changelog](https://github.com/pypa/build/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pypa/build/compare/1.6.0...1.6.1 )
Updates `types-psycopg2` from 2.9.21.20260724 to 2.9.21.20260911
- [Commits](https://github.com/python/typeshed/commits )
Updates `types-pyyaml` from 6.0.12.20260815 to 6.0.12.20260906
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.92
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: botocore
dependency-version: 1.43.92
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: django-dbbackup
dependency-version: 5.3.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: djangorestframework
dependency-version: 3.18.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: fonttools
dependency-version: 4.65.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: pint
dependency-version: 0.26.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: platformdirs
dependency-version: 4.11.8
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: pydantic-core
dependency-version: 2.49.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: pyjwt
dependency-version: 2.14.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: pypdf
dependency-version: 6.18.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: scim2-models
dependency-version: 0.7.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: sentry-sdk
dependency-version: 2.69.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: tqdm
dependency-version: 4.70.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: wrapt
dependency-version: 2.4.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: anyio
dependency-version: 4.15.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: build
dependency-version: 1.6.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: types-psycopg2
dependency-version: 2.9.21.20260911
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: types-pyyaml
dependency-version: 6.0.12.20260906
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
* fix style
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com >
2026-09-20 11:28:23 +10:00
github-actions[bot]
bc005959f5
New Crowdin translations by GitHub Action ( #12865 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-09-20 10:40:45 +10:00
Matthias Mair
63055865db
evaluate enviroment once ( #12890 )
2026-09-20 09:05:47 +10:00
Oliver
ea553ea232
Export records ( #12887 )
...
* Add 'bulkdumpdata' command
* Test --bulk option in CI
2026-09-19 19:43:09 +10:00
Oliver
2845a59207
API permission tweaks ( #12886 )
...
* API permission tweaks
- Explicitly require admin role for MachineSettingList
- Permission check for barcode generation
* Adjust existing unit test
* Update API version
2026-09-19 17:58:00 +10:00
Oliver
fcb1e4f23e
PO status fix ( #12885 )
...
* Fix for PurchaseOrder status code view
- Order dependent, due to new viewset
* Add regression tests for status code API endpoints
2026-09-19 11:54:07 +10:00
Matthias Mair
ad69a35dfb
feat: support password change well-known ( #12878 )
...
as per https://adamj.eu/tech/2026/09/16/django-change-password-url/
2026-09-19 08:26:07 +10:00
Petr Ledvina and Oliver
f76d79baf1
Add SVG support to datamatrix ( #12875 )
...
* Extract Data Matrix rendering helpers
* Add SVG Data Matrix output
* Verify vector Data Matrix output in PDFs
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com >
2026-09-18 18:14:50 +10:00
Petr Ledvina
98f4a8203b
Ensure generated label PDFs have correct extension ( #12870 )
...
* Ensure generated label PDFs retain their extension
* Test generated label PDF filename handling
2026-09-18 17:09:49 +10:00
Petr Ledvina
b9c7c24f8a
Fix validation of dependent serializer fields ( #12871 )
2026-09-18 07:59:44 +10:00
Petr Ledvina
960c5f18e4
Preserve note image files when transactions roll back ( #12867 )
2026-09-18 00:13:03 +10:00
github-actions[bot]
3a0ade3265
New Crowdin translations by GitHub Action ( #12782 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-09-16 22:32:45 +10:00
Matthias Mair
dca516b318
feat(backend): switch API token storage to hmac digest ( #12850 )
...
* [FR] switch API token storage to hmac digest
Fixes #12027
* add pr number
* fix implementation details
allign token prefix and token end (add date issuance)
* fix missing re-issuance
* ensure we raise if not exsistant
* fix test
* add ignore
* extend test
* add information regarding v2 tokens
* add fields for:
- revocation details (reason, revoker)
- issueance
- version
- pepper
* bump apiversion
* make revocation mesagge clearer
* add missing update fields
* ensure this only triggers for v2
* move comment
* re-add v1 coverage
* add missing annotation to api schema
2026-09-16 10:35:12 +10:00
Oliver
225157153e
Bug fixes for plugin file check ( #12861 )
...
- regex escape package name
- allow package without version indicator
- prevent duplication of entries within the plugins file
- add regression tests
2026-09-15 23:23:12 +10:00
Oliver
d0a98f6491
Add more robust plugin installation check ( #12858 )
2026-09-15 21:24:40 +10:00
Matthias Mair
63a434c652
feat: Add facility to completely hide parts of the interface ( #12842 )
...
* fix typing issue for pylance engine
* add flags to mark rough function of setting
* update pr version
* fix settings serialisation
* render security warnings
* move Transfer Orders
* respect return order hiding
* almost all confirm texts will have a warning
* add settings for sales, purchase and buildorder deactivation
* make permission check also ensure gloablsetting for view is available; reduce number of chained gates
* document possible missing check
* ensure we can still show the sales tab
* add additional warning to group cleanup
* hide more ui parts conditionally
* add tests for new code and remove duplication
* fix test
* alternative approach to fix SSO path
* remove patch; now done in serializer
* ignore ldap section
2026-09-15 21:13:59 +10:00
Oliver
0d7c99d405
Prevent editing "part" against existing BuildOrder ( #12849 )
2026-09-15 08:56:35 +10:00
Matthias Mair
66de7b77d4
add test for migrations ( #12838 )
2026-09-14 16:18:27 +10:00
dependabot[bot] and Matthias Mair
b14a4e7812
chore(deps): bump the dependencies group across 1 directory with 12 updates ( #12841 )
...
* chore(deps): bump the dependencies group across 1 directory with 12 updates
Bumps the dependencies group with 12 updates in the /src/backend directory:
| Package | From | To |
| --- | --- | --- |
| [boto3](https://github.com/boto/boto3 ) | `1.43.84` | `1.43.88` |
| [botocore](https://github.com/boto/botocore ) | `1.43.84` | `1.43.88` |
| [cssselect2](https://github.com/Kozea/cssselect2 ) | `0.10.0` | `0.10.1` |
| [googleapis-common-protos](https://github.com/googleapis/google-cloud-python ) | `1.75.2` | `1.75.3` |
| [jwcrypto](https://github.com/latchset/jwcrypto ) | `1.5.9` | `1.6.0` |
| [lxml](https://github.com/lxml/lxml ) | `6.1.2` | `6.1.3` |
| [platformdirs](https://github.com/tox-dev/platformdirs ) | `4.11.5` | `4.11.7` |
| [protobuf](https://github.com/protocolbuffers/protobuf ) | `7.36.0` | `7.36.1` |
| [pydantic-core](https://github.com/pydantic/pydantic ) | `2.46.5` | `2.48.0` |
| [pypdf](https://github.com/py-pdf/pypdf ) | `6.16.2` | `6.17.0` |
| [anyio](https://github.com/agronholm/anyio ) | `4.14.2` | `4.15.0` |
| [prek](https://github.com/j178/prek ) | `0.5.0` | `0.5.2` |
Updates `boto3` from 1.43.84 to 1.43.88
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.84...1.43.88 )
Updates `botocore` from 1.43.84 to 1.43.88
- [Commits](https://github.com/boto/botocore/compare/1.43.84...1.43.88 )
Updates `cssselect2` from 0.10.0 to 0.10.1
- [Release notes](https://github.com/Kozea/cssselect2/releases )
- [Changelog](https://github.com/Kozea/cssselect2/blob/main/docs/changelog.rst )
- [Commits](https://github.com/Kozea/cssselect2/compare/0.10.0...0.10.1 )
Updates `googleapis-common-protos` from 1.75.2 to 1.75.3
- [Release notes](https://github.com/googleapis/google-cloud-python/releases )
- [Changelog](https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md )
- [Commits](https://github.com/googleapis/google-cloud-python/compare/googleapis-common-protos-v1.75.2...googleapis-common-protos-v1.75.3 )
Updates `jwcrypto` from 1.5.9 to 1.6.0
- [Release notes](https://github.com/latchset/jwcrypto/releases )
- [Commits](https://github.com/latchset/jwcrypto/compare/v1.5.9...v1.6.0 )
Updates `lxml` from 6.1.2 to 6.1.3
- [Release notes](https://github.com/lxml/lxml/releases )
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt )
- [Commits](https://github.com/lxml/lxml/compare/lxml-6.1.2...lxml-6.1.3 )
Updates `platformdirs` from 4.11.5 to 4.11.7
- [Release notes](https://github.com/tox-dev/platformdirs/releases )
- [Changelog](https://github.com/tox-dev/platformdirs/blob/main/docs/changelog.rst )
- [Commits](https://github.com/tox-dev/platformdirs/compare/4.11.5...4.11.7 )
Updates `protobuf` from 7.36.0 to 7.36.1
- [Release notes](https://github.com/protocolbuffers/protobuf/releases )
- [Commits](https://github.com/protocolbuffers/protobuf/commits )
Updates `pydantic-core` from 2.46.5 to 2.48.0
- [Release notes](https://github.com/pydantic/pydantic/releases )
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md )
- [Commits](https://github.com/pydantic/pydantic/compare/core-v2.46.5...core-v2.48.0 )
Updates `pypdf` from 6.16.2 to 6.17.0
- [Release notes](https://github.com/py-pdf/pypdf/releases )
- [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md )
- [Commits](https://github.com/py-pdf/pypdf/compare/6.16.2...6.17.0 )
Updates `anyio` from 4.14.2 to 4.15.0
- [Release notes](https://github.com/agronholm/anyio/releases )
- [Commits](https://github.com/agronholm/anyio/compare/4.14.2...4.15.0 )
Updates `prek` from 0.5.0 to 0.5.2
- [Release notes](https://github.com/j178/prek/releases )
- [Changelog](https://github.com/j178/prek/blob/master/CHANGELOG.md )
- [Commits](https://github.com/j178/prek/compare/v0.5.0...v0.5.2 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.88
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: botocore
dependency-version: 1.43.88
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: cssselect2
dependency-version: 0.10.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: googleapis-common-protos
dependency-version: 1.75.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: jwcrypto
dependency-version: 1.6.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: lxml
dependency-version: 6.1.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: platformdirs
dependency-version: 4.11.7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: protobuf
dependency-version: 7.36.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: pydantic-core
dependency-version: 2.48.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: pypdf
dependency-version: 6.17.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: anyio
dependency-version: 4.15.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: prek
dependency-version: 0.5.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
* fix style
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com >
2026-09-13 13:51:31 +10:00
Matthias Mair
6b1a3b899e
fix: users created via Admin Center never receive password reset emails ( #12839 )
...
* Users created via Admin Center never receive password reset emails
Fixes #12733
* fix issue when using registration endpoint
* remove duplicate code path; we now always do that
* remove old test backfill that is not required anymore
2026-09-13 13:50:52 +10:00
wyyd-yxc and Matthias Mair
9181097194
Add user option to rotate table column headers ( #12837 )
...
* Add user option to rotate table column headers (#12558 )
Wide column titles (e.g. "Temperature coefficient [±ppm/°C]") take a
lot of horizontal space for narrow data. Add a ROTATE_TABLE_HEADERS
user setting (Display Options) which renders table header titles
vertically via a scoped CSS class, following the implementation
sketch from the issue discussion.
* Format ROTATE_TABLE_HEADERS description per ruff-format
* add missing doc place
* Document ROTATE_TABLE_HEADERS setting in user settings docs
* docs: add changelog entry for rotated table headers option
---------
Co-authored-by: Matthias Mair <code@mjmair.com >
2026-09-12 14:12:39 +10:00
dependabot[bot] and Matthias Mair
0bf4fffb39
chore(deps): bump weasyprint from 69.0 to 70.0 in /src/backend ( #12833 )
...
* chore(deps): bump weasyprint from 69.0 to 70.0 in /src/backend
Bumps [weasyprint](https://github.com/Kozea/WeasyPrint ) from 69.0 to 70.0.
- [Release notes](https://github.com/Kozea/WeasyPrint/releases )
- [Changelog](https://github.com/Kozea/WeasyPrint/blob/main/docs/changelog.rst )
- [Commits](https://github.com/Kozea/WeasyPrint/compare/v69.0...v70.0 )
---
updated-dependencies:
- dependency-name: weasyprint
dependency-version: '70.0'
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
* fix style
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com >
2026-09-12 08:12:50 +10:00
Oliver
c26db6a790
Squash migrations ( #12830 )
...
* Squash migrations for "users" app
* Squash migrations for "common" app
Note: we will come back again later to squash some more
* Significant squashing
* Update legacy migrations
* Further squashing of migrations
* Even more cleanup
* Adjust CI workflow
* Update CI Job
* Update docs
* Update CHANGELOG.md
* Cleanup old comments
* Throw error if pre 1.0.0 DB detected
* Refactor incomplete migration check
2026-09-11 16:03:41 +10:00
Oliver
e8af71ae5a
Bug fixes for Note model ( #12835 )
...
* Bug fixes for Note model
- Allow note to be created as "primary"
- Reset note creation fields in editor
* Tweak to ensure that the API spec does not change
2026-09-10 14:22:55 +10:00
Matthias Mair
97f7c039c9
fix lease issue ( #12828 )
2026-09-09 07:15:05 +10:00
Oliver
7cd74eecd4
Migration fix ( #12808 )
...
* Fix for Note migration
- Handles case where data migration is running on a DB which does not support RETURNING
* Run migration tests against all supported backends
* Fix typo
* Adjust CI workflows
* TZ migration fix
* Tweak migration test
* Adjust migration tests
* Ensure consistent ordering
* Bump API version
* Fix tests to allow non psql database support
2026-09-08 18:50:13 +10:00
Oliver
ef42a7b309
Attachment filtering by filename ( #12807 )
...
* Attachment filtering by filename
* Update API version
2026-09-08 09:25:20 +10:00
Oliver
5ffd777f5d
Fix for recursive custom units ( #12815 )
2026-09-08 08:24:44 +10:00
Oliver
5a7308763e
[bug] Prevent editing of model-type for data import ( #12809 )
2026-09-07 21:08:02 +10:00
Matthias Mair
c959ca4574
feat(frontend): add SAML helper ( #12799 )
...
* squash #12762
* implement https://github.com/inventree/InvenTree/issues/3509
* add changelog
* add option to use the full width
2026-09-07 16:52:24 +10:00
Oliver
2566d332a8
[bug] Plugin fix ( #12805 )
...
* [bug] Handle null plugin instance
* Add regression test
* Fix secondary instances of same bug
2026-09-07 14:45:48 +10:00
Oliver
b4cb9a9746
Plugin load fix ( #12776 )
...
* Robustify plugin file loading
* Lock static file copying
* Improve robustness of static file copying
* Add regression tests
* Handle database not being ready
* Fix identified limitation and refactor code
* Attempt to fix CI job
* instrumentation for CI - will revert
* Another bugfix attempt
2026-09-07 07:45:53 +10:00
Oliver
4a0e28510f
Exception handling for data outputs ( #12797 )
2026-09-06 21:36:01 +10:00
Oliver
1218af7366
Adds bulk-import option for "import-records" task ( #12792 )
...
* skip plugin events if importing or migrating data
* Add bulkloaddata option
* Skip signals if importing
* Improve bulkloaddata command
* Optionally rebuild thumbnails
* enhancements for import_records task
* cache natural key references in bulkloaddata
* wrap export_records in @state_logger
* Reduce file size of exported data
* Added docs
* Test bulk workflow as part of CI
* Add progress bar for data import
* fix for import workflow bug
* Separately test bulk import workflow
* Exercise --prettify option
* Additional CI checks for content excludes
* Allow plugin loading for list_apps
* Additional CI unit tests
* Test for importing with conflicting records
* path fixes
* Adjust test conditions
2026-09-06 19:58:52 +10:00
Oliver
321489a41b
Add error message for missing TLD ( #12789 )
...
* Add error message for missing TLD
* add error code for missing TLD
2026-09-06 15:00:22 +10:00
Oliver
5b4c8135dc
[CI] Allow more query time ( #12790 )
2026-09-05 19:55:57 +10:00
Oliver
9a416df5d4
Enhanced error message on CSRF failure ( #12788 )
...
* Enhanced error message on CSRF failure
* Defer to 'detail' field if exists
2026-09-05 19:55:37 +10:00
Matthias Mair
0a4f095397
feat(backend): enable OIDC/oAuth2 provider by default ( #12731 )
...
* Add SCIM
Closes https://github.com/inventree/InvenTree/issues/6339
* also test scim
* extend testing with conformance suite
* fix test suite results
* coverage completion
* fil test gaps
* add missing schema values
* fix more type issues
* fix error view
* remove route from OpenAPI
* User permissions check for Attachment API (#12689 )
* enable oidc proivder by default
* add .well-known entry for OIDC server
* add default client registration
* add changelog entry
* add codeowners
* remove redundant info
* re-name and restructure panel
* add a smal explainer section on top
* flesh out section a bit more
* change name
* basic sso panel
* refactor rendering
* add api and mgmt functions
* add create/delete options
* simplify test
* handle secret generation
* fix merge
* update coverage
* add test
* reduce user friction
* add better labels
* make it more clear that this is only shown once
* add regenerate function
* update tests
* simplify test calls
* fix test
2026-09-05 12:10:13 +10:00
Oliver
fa44925b21
Refactor part pricing updates ( #12787 )
...
* Refactor part pricing updates
- Handles cases where underlying part has been deleted
* Add regression tests
2026-09-05 11:57:39 +10:00
Oliver
b51f710ee5
BOM Validation Improvements ( #12780 )
...
* Adjust get_bom_hash function:
- Optionally skip inclusion of part names
- Skip 'piece_count' if default value set
* Fall back to legacy comparison
* Add per-line-item check
* Add regression tests
2026-09-05 08:30:02 +10:00
github-actions[bot]
e4e4d87476
New Crowdin translations by GitHub Action ( #12759 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-09-04 16:00:50 +10:00
Oliver
ff732d01aa
Ignore 'piece_count' if default value ( #12781 )
...
* Ignore 'piece_count' if default value
* Add regression testing
2026-09-04 13:16:40 +10:00
Oliver
aadd27d217
Prevent delete operation on /api/user/me/ ( #12770 )
...
* Prevent delete operation on /api/user/me/
* Bump API version
2026-09-03 15:27:44 +10:00
Oliver
8c1c16e59a
Handle missing record in after_delete_supplier_part ( #12772 )
2026-09-03 13:57:19 +10:00
Matthias Mair and Oliver
fa52affe98
feat: warn about unsafe CORS ( #12773 )
...
* feat: warn about unsafe CORS
* extend docs
* fix defaults
* bump api version
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com >
2026-09-03 13:09:17 +10:00