Commit Graph

1597 Commits

Author SHA1 Message Date
Oliver ac181140c9
[UI] Row hover (#9465)
* Add red color

* Improve table cursor

- Show "pointer" (hand) icon when actions available
- Improve context menu
2025-04-06 12:31:28 +10:00
dependabot[bot] 6b28bcca70
Bump vite from 6.2.4 to 6.2.5 in /src/frontend (#9457)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.2.4 to 6.2.5.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.2.5/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.2.5/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.2.5
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-05 15:55:32 +11:00
Oliver 544a3c6263
Notification permissions (#9449)
* Updated type hints

* Fix tooltip bug

* Check user when sending notification

* Fix test

* Update unit test

* More unit test fixes

* Tweak playwright tests
2025-04-05 10:30:58 +11:00
Oliver f66efa7733
Handle potential null header (#9462) 2025-04-05 09:45:13 +11:00
Joe Rogers 721f56f36e
Wrap values() call in list to fix type error (#9460) 2025-04-05 09:13:53 +11:00
Jacob Felknor 6021035e3f
User Setting To Search Notes (#9393)
* add search notes and tie user search settings to checkboxes in search drawer

* add user setting to optionally search the notes of objects

* add search filter test

* add PR link

* add limit parameter

* typo, meant to check part result

* resolve api_version.py conflict

* don't use search_whole and search_regex together

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-04-04 09:22:39 +11:00
Matthias Mair a2370dbe59
fix(backend): enforce docstring args (#9428)
* enforce docstring args

* add more rules that we could add later

* fix missing yields

* add a type

* make 3.9 compat
2025-04-04 09:02:55 +11:00
Matthias Mair b48ceb00f2
refactor(frontend): seperate Alerts into own component (#9442)
* refactor(frontend): seperate Alerts into own component

* refactor debug mode info

* add error code for debug mode and render help links in alerts

* add error message for background worker

* add error code for server restart required

* Add error code for missing email settings

* fix various typings

* add error code for missing migrations
2025-04-03 18:03:07 +11:00
Oliver c4f98cd6a1
Report cache fix (#9447)
* Adjust allowed CORS headers

* Disable caching in template preview
2025-04-03 15:11:36 +11:00
Oliver 9c419e6ac1
Notify subscribed users (#9446)
* Update docstrings

* Update 'notify_responsible' function

* Update build notifications

* Update notifications for external orders

* Update more notifications

* Notify for overdue return orders

* Fix typos

* Fixes
2025-04-03 13:42:21 +11:00
Oliver 67bdf3162a
Update overdue order notification (#9444)
* Update overdue order notification

- Check individual line items too

* Fix typo
2025-04-03 11:22:23 +11:00
Oliver a18b18a3fd
Serialize stock fix (#9441)
* Fix bug which hid the "serialize stock" button

* Add playwright tests

* Adjust check
2025-04-03 07:48:12 +11:00
Lukas 75b47f8d09
Typed report context (#9431)
* add typed report context

* make it py3.9 compatible

* fix docs

* debug docs

* fix for py 3.9

* add requested error codes
2025-04-03 07:45:37 +11:00
Joe Rogers b2db0b67e0
Clean up various schema generator warnings (#9437)
* Add default metadata model for schema generation

* Add type hints and annotations where needed for schema generation

* Bump api version

* Fix version bump
2025-04-02 14:34:58 +11:00
github-actions[bot] 15933a6b3a
New Crowdin translations by GitHub Action (#9337)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-02 10:52:59 +11:00
Lukas ba703cf58a
Template Editor Improvements (#9434)
* add unmount hook and context to report editor ui feature

* Fix tests

* Update pui_printing.spec.ts

* Update pui_printing.spec.ts

* try fix tests

* retrigger ci

* remove debug messages
2025-04-02 09:01:12 +11:00
dependabot[bot] 6a964a4e2b
Bump vite from 6.2.3 to 6.2.4 in /src/frontend (#9429)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.2.3 to 6.2.4.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.2.4/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.2.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-01 17:26:22 +11:00
Joe Rogers 33cc86a603
Add request body to schema for bulk delete operations, deconflict list (#9420)
* Add request body to schema for bulk delete operations, deconflict list
vs single delete operation ids

* API version bump

* Fix variable name conflict

* Switch from post-processing hook to AutoSchema extension

* Loosen typing on filter dict, correct expected code in tests

* Filter by view class instead of path

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-04-01 10:38:17 +11:00
Oliver fcc6709b3f
Revert some playwright changes (#9419)
* Revert some playwright changes

- Use vite dev server all the time

* Simplify test
2025-03-31 20:12:26 +11:00
Oliver f7a4469590
Download params (#9413)
* Pass extra options through to data export plugins

* Add PartParameterExporter plugin

- Useful for including part parameter data in exporter

* Fix bug in InvenTreeTableHeader

* enable export for partparametertable

* Simplify tests

* Add typing hints
2025-03-31 19:45:59 +11:00
Oliver 66d5180d8f
[UI] Improve order parts wizard (#9389)
* [UI] Improve order parts wizard

- Enhance placeholder text
- Precalculate order quantity

* Tweak playwright tests

* Simplify tests
2025-03-31 18:19:21 +11:00
Joe Rogers 2457dfee70
Use int PK instead of regex string in API endpoints (#9399)
* Convert company api endpoints to use int PK instead of regex string

* Convert additional path PK strings to ints
2025-03-30 15:54:19 +11:00
Oliver 7f5a447769
[CI] Playwright improvements (#9395)
* Allow port 4173 (vite preview)

* Change 'base' attr based on vite command

* Allow api_host to be specified separately

* Harden API host functionality

* Adjust server selections

* Cleanup vite.config.ts

* Adjust playwright configuration

- Allow to run in "production" mode
- Builds the code first
- Runs only the backend web server
- Not suitable for coverage

* Tweak github actions

* Tweak QC file

* Reduce number of steps

* Tweak CI file

* Fix typo

* Ensure translation before build

* Fix hard-coded test

* Test tweaks

* uncomment

* Revert some changes

* Run with gunicorn, single worker

* Reduce log output in DEBUG mode

* Update deps

* Add global-setup func

* Fix for .gitignore file

* Cached auth state

* Tweak login func

* Updated tests

* Enable parallel workers again

* Simplify config

* Try with a single worker again

* Single retry mode

* Run auth setup first

- Prevent issues with parallel test doing login

* Improve test setup process

* Tweaks

* Bump to 3 workers

* Tweak playwright settings

* Revert change

* Revert change
2025-03-30 14:12:48 +11:00
Matthias Mair 858eb8f807
chore(backend): bump drf (#9407)
* chore(backend): bump drf

* bump api
2025-03-30 14:11:23 +11:00
Oliver 49d088893f
Improve custom maintenance mode backend (#9396)
* Improve custom maintenance mode backend

- Utilizing global settings functions
- Will use global cache if available
- Fewer DB hits per request

* Twaeak query limits
2025-03-27 15:56:00 +11:00
Oliver 99ec486b79
[Docker] Update node version (#9383)
* Update node version

* Install nvm

* Use n instead of nvm

* Use same approach in devcontainer

* nvm -> npm

* Split commands

* Fix typo

* Workaround : install bash

* Tweak playwright tests

* Bump number of retries

* Update deps

* Only one worker

* SEcurity fix

* Adjust
2025-03-27 01:25:58 +11:00
Oliver c4cf9ecd94
[UI] Allocation content (#9377)
* Refactor variable name

* Add part information when allocating serial numbers

- Easier identification of which part is being allocated

* Fix for part stock rendering
2025-03-26 16:03:16 +11:00
Oliver 59f22a1627
Dayjs updates (#9388)
* Update Scan.tsx

* Tweak Scan.tsx
2025-03-26 14:27:55 +11:00
Jacob Felknor 2bd26c0f49
use dayjs in datefield (#9380) 2025-03-26 10:35:26 +11:00
Matthias Mair d8f5a56064
fix(backend): Bump maybe vulnerable esbuild (#9155)
* fix(backend): Bump vulnerable vanilla-extract

* bump deps futher

* remove @types/dompurify

* bump @lingui

* use more modern image
20.04 ships with node 18 as default, 24.04 with 20

* bump rest of image deps

* bump deps

* bump base deps

* bump resolution

* lower resolution

* fix resolution

* update lingui

* switch to build-in macro

* fix imports
2025-03-26 09:30:59 +11:00
gunstr a6e4742ce4
Show part revision in Build Details panel (#9373) 2025-03-25 10:57:16 +11:00
Matthias Mair 42dcc01f9d
feat: Add email notification when a part is changed (#9275)
* Add function to star / unstar a part

* Also use with category

* Email notification when a part is changed
Fixes #7834

* enable disabling of recent checks

* Add error handler

* remove unneeded function
2025-03-25 09:21:11 +11:00
Oliver 357c1ae0bc
Add upload progress to attachment table (#9371) 2025-03-24 23:11:28 +11:00
Jacob Felknor f5e6352181
fix contact copy, add email/phone if they exist (#9354) 2025-03-24 21:19:04 +11:00
Oliver 136e179cc4
[UI] Alerts (#9365)
* remove TODO (now implemented)

* Add Mantine tooltips

* Add "alerts" to header

* Add more alert types
2025-03-24 20:45:34 +11:00
Oliver 8997f193c9
[UI] Edit fix (#9367)
* Fix for editing stock location

* Fix for editing part category
2025-03-24 19:24:23 +11:00
Jacob Felknor 3ec8832925
create allauth email from django_auth_ldap if configured (#9350) 2025-03-21 13:48:30 +11:00
Matthias Mair bd0dc3fe50
feat(frontend): Improve comms around authentication (#9348)
* use enum for flow authentication

* fix inaccurate texts

* add a better user info on login

* fix test assertation
2025-03-21 13:42:50 +11:00
Oliver cb240e4e0f
[UI] Icons in navbar (#9346)
* Add Icons to main header

* Add user configurability
2025-03-20 10:19:50 +11:00
Oliver bdc5f9e84e
[Feature] Mandatory Plugins (#9339)
* Define which builtin plugins are always-active

* Adds 'mandatory' property to PluginConfig

* Update API / frontend

* Fix form method

* Tweaks

* Bump API version

* Tweak unit tests
2025-03-20 10:19:31 +11:00
Oliver ae1ec31ca9
Bug fix for activating plugins via UI (#9338) 2025-03-20 09:16:31 +11:00
Lukas 3260d94369
added some visual improvements (#9342)
* added some visual improvements

* fix lint

* Undo changes to sample icons for now

* use primary color
2025-03-20 08:24:35 +11:00
Oliver cfd83a3d62
[UI] Stylish text tweak (#9336)
* Update <StylishText>

- Re-enable gradient
- Based on selected highlight color

* Refactor UI

* Do not require size prop

* Memoize
2025-03-20 07:09:38 +11:00
Oliver 662a0b275e
[UI] Web Prefix (#9334)
* [UI] Change default web prefix

- Adjust default from "platform" to "web"
- Much more standard prefix

* Cleanup

* Fixes for playwright tests

* Fix unit tests

* Refactor base_url into getBaseUrl
2025-03-20 00:12:52 +11:00
github-actions[bot] 832d884c85
New Crowdin translations by GitHub Action (#9314)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-18 19:22:20 +11:00
Oliver 8d51aa1563
[Feature] Data export plugins (#9096)
* Move data export code out of "importer" directory

* Refactoring to allow data export via plugin

* Add brief docs framework

* Add basic DataExportMixin class

* Pass context data through to the serializer

* Extract custom serializer

* Refactoring

* Add builtin plugin for BomExport

* More refactoring

* Cleanup for UseForm hooks

* Allow GET methods in forms

* Create new 'exporter' app

* Refactor imports

* Run cleanup task on boot

* Add enumeration for plugin mixin types

* Refactor with_mixin call

* Generate export options serializer

* Pass plugin information through

* Offload export functionality to the plugin

* Generate output

* Download generated file

* Refactor frontend code

* Generate params for downloading

* Pass custom fields through to the plugin

* Implement multi-level export for BOM data

* Export supplier and manufacturer information

* Export substitute data

* Remove old BOM exporter

* Export part parameter data

* Try different app order

* Use GET instead of POST request

- Less 'dangerous' - no chance of performing a destructive operation

* Fix for constructing query parameters

- Ignore any undefined values!

* Trying something

* Revert to POST

- Required, other query data are ignored

* Fix spelling mistakes

* Remove SettingsMixin

* Revert python version

* Fix for settings.py

* Fix missing return

* Fix for label mixin code

* Run playwright tests in --host mode

* Fix for choice field

- Prevent empty value if field is required

* Remove debug prints

* Update table header

* Playwright tests for data export

* Rename app from "exporter" to "data_exporter"

* Add frontend table for export sessions

* Updated playwright testing

* Fix for unit test

* Fix build order unit test

* Back to using GET instead of POST

- Otherwise, users need POST permissions to export!
- A bit of trickery with the forms architecture

* Fix remaining unit tests

* Implement unit test for BOM export

- Including test for custom plugin

* Fix unit test

* Bump API version

* Enhanced playwright tests

* Add debug for CI testing

* Single unit test only (for debugging)

* Fix typo

* typo fix

* Remove debugs

* Docs updates

* Revert typo

* Update tests

* Serializer fix

* Fix typo

* Offload data export to the background worker

- Requires mocking the original request object
- Will need some further unit testing!

* Refactor existing models into DataOutput

- Remove LabelOutput table
- Remove ReportOutput table
- Remove ExportOutput table
- Consolidate into single API endpoint

* Remove "output" tables from frontend

* Refactor frontend hook to be generic

* Frontend now works with background data export

* Fix tasks.py

* Adjust unit tests

* Revert 'plugin_key' to 'plugin'

* Improve user checking when printing

* Updates

* Remove erroneous migration file

* Tweak plugin registry

* Adjust playwright tests

* Refactor data export

- Convert into custom hook
- Enable for calendar view also

* Add playwright tests

* Adjust unit testing

* Tweak unit tests

* Add extra timeout to data export

* Fix for RUF045
2025-03-18 11:35:44 +11:00
Oliver 947a1bcc3a
Use primary color for StylishText (#9332) 2025-03-18 10:37:45 +11:00
Matthias Mair 6d42789cb2
fix api version (#9331) 2025-03-17 22:51:33 +00:00
Matthias Mair f8de4e29a1
feat(frontend): Add token managment tools (#9244)
* Add typing

* feat(frontend): Add token managment tools
Closes https://github.com/inventree/InvenTree/issues/9166

* remove debug msg

* split responsibilities for token endpoint

* move ApiTokenTable

* add option for superusers to show all user tokens

* Add tokens to admin users interface

* adjust api text

* adress raised issues

* make stuff sortable / filterable
2025-03-18 07:27:19 +11:00
Oliver ddc3cd32f5
[UI] Bulk edit actions (#9320)
* Allow bulk selection of sales order shipment

* Tweaks

* Support bulk-edit for location parent and category parent

* Allow more login attempts for playwright
2025-03-17 23:27:32 +11:00
Oliver 9db5205f79
Bulk update mixin (#9313)
* Refactor BulkDeleteMixin

* Implement BulkUpdateMixin class

* Refactor NotificationsTable

- Use common bulkdelete operation

* Update successMessage

* Update metadata constructs

* Add bulk-edit support for PartList endpoint

* Implement set-category for part table

* Cleanup old endpoint

* Improve form error handling

* Simplify translated text

* Add playwright tests

* Bump API version

* Fix unit tests

* Further test updates
2025-03-17 09:21:43 +11:00
Matthias Mair 897afd029b
feat(frontend): show if redirecting inline (#9122)
* https://github.com/inventree/InvenTree/pull/6293

* refactor to a shared component

* refactoring container stuff to a wrapper

* move title to wrapper

* move logoff and loader to wrapper

* mvoe functions to general auth

* seperate login and register into seperate pages

* unify auth styling

* rename component

* adapt to new look

* check if registration is enabled

* feat(frontend):show if redirecting

* reduce diff

* fix missing import

* remove double warning
2025-03-17 09:03:42 +11:00
Oliver a453c9b286
[refactor] Remove django-weasyprint entirely (#9316)
* Remove django-weasyprint entirely

* Handle null request

* Bug fix
2025-03-17 07:51:29 +11:00
Oliver 3afafe594b
[UI] Reimplement calendar views (#8933)
* Add deps for @fullcalendar

* Basic calendar setup

* Add locale support

* Add custom <SegmentedIconControl> component

* optional 'control' for panel

* Scaffolding out build index page

* Fetch build orders based on calendar dates

* Display builds

* Click to navigate to build

* Working on custom header

* Implement button functionality

* Display current month name

* Implement datepicker dropdown

* Adjust layout

* Custom rendering

* Include part detail

* Implement hook to track calendar state

* Clearing search causes immediate update

* Offload core functionality into hook

- Adds search input

* Spread props correctly

* Cleanup

* Allow build orders to be edited directly from calendar view

* Cleanup

* Fix for InvenTreeCalendarProps

* Improve date range filtering for Build model

* Simplify BuildFilter

* Refactoring

* PurchaseOrder calendar implementation

* Allow edit of purchase orders

* Refactor and implement for all order types

- Add missing "issue_date" field for SalesOrder
- Refactor API for other order types
- Fix rendering issues

* Bump API version

* Add playwright tests for calendar (simple)

* Fix migrations

* Simplify notifications

* Refactor filter components

- Make them more generic

* Enable custom filters for calendars

* Custom filters per table

* Display status label

* Refactoring

* Update playwright tests

* Update build order docs

* Bug fix for order date editing

* Update purchase order docs

* Return Order docs

* Update date formatting
2025-03-16 18:01:51 +11:00
github-actions[bot] fc34bd0a5e
New Crowdin translations by GitHub Action (#9288)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-16 09:40:18 +11:00
Matthias Mair 516755db97
refactor(frontend): Do not request token in frontend (#9217)
* remove calls that reference tokens

* remove call to token endpoint

* ensure CSRFToken is always send

* bump axios

* lower axios

* reset axios change

* bump reslution down
2025-03-16 08:36:58 +11:00
Oliver 0e43e8de2d
Further reduce log output for weasyprint (#9305)
Co-authored-by: Matthias Mair <code@mjmair.com>
2025-03-16 07:42:54 +11:00
Oliver 4eaa5880c1
Fix currency rendering (#9308)
- Closes https://github.com/inventree/InvenTree/issues/9300
2025-03-16 07:42:34 +11:00
Oliver e1ac1c77c0
Provide mocked URL to dummy print requst (#9307)
* Provide mocked URL to dummy print requst

- FIxes bug which prevented background printing with DEBUG=False

* Disable debug for postgres testing
2025-03-16 00:53:19 +11:00
Joe Rogers d7aa5e45b9
Check for schema generation state when removing fields (#9236)
* Ensure notes are not removed when generating schema

* Skip remaining conditional field removals when generating schema, remove removable fields from required lists

* Update API version, add schema gen state check for api-doc endpoint

* Add test for generate schema state

* Add test for schema postprocessing function

* Filter nullable + read_only fields out of schema required lists

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-03-15 23:53:30 +11:00
Oliver cdb445583b
Prevent sentry reporting in test mode (#9304) 2025-03-15 22:42:18 +11:00
Oliver 3dfd1ed146
Static Asset Management (#9292)
* Caddyfile: Redirect asset requests

- Ensure the static asset files are served by the proxy
- Reduce gunicorn / python load
- Significant server performance increase

* Allow CORS requests to 'assets' path

* Update static assets path for vite build

* Remove RedirectAssetView

* Specify relative base path

Ref: https://vite.dev/guide/build.html#relative-base

* Revert settings.py

* Revert caddyfile

* Remove defunct unit test

* Add timeout to test
2025-03-14 08:20:51 +11:00
Oliver b25bf5e669
Dynamic filters (#9290)
* Add attributes to TableFilter type def

* Refactoring

* Refactor ProjectCodeFilter

* Provide simple string rendering of a dynamic filter

* Refactor ResponsibleFilter

* Further refactoring

* More refactoring

* Fix placeholder value
2025-03-13 13:09:37 +11:00
Oliver 7a43c3a83e
Auto-fill currency for new supplier part (#9286)
- Closes https://github.com/inventree/InvenTree/issues/9284
2025-03-13 01:35:29 +11:00
dependabot[bot] 0049544305
Bump @babel/runtime from 7.25.6 to 7.26.10 in /src/frontend (#9285)
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.25.6 to 7.26.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.10/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-13 00:46:09 +11:00
github-actions[bot] f7536a9f89
New Crowdin translations by GitHub Action (#9175)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-11 19:21:21 +11:00
dependabot[bot] fdfbd5f783
Bump jinja2 from 3.1.5 to 3.1.6 in /src/backend (#9272)
* Bump jinja2 from 3.1.5 to 3.1.6 in /src/backend

Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.5 to 3.1.6.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.5...3.1.6)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix req

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2025-03-11 08:05:17 +11:00
dependabot[bot] 1cd7baabb1
Bump axios from 1.7.9 to 1.8.2 in /src/frontend (#9270)
Bumps [axios](https://github.com/axios/axios) from 1.7.9 to 1.8.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.7.9...v1.8.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-11 08:04:04 +11:00
dependabot[bot] 94ded911cc
Bump django from 4.2.19 to 4.2.20 in /src/backend (#9252)
* Bump django from 4.2.19 to 4.2.20 in /src/backend

Bumps [django](https://github.com/django/django) from 4.2.19 to 4.2.20.
- [Commits](https://github.com/django/django/compare/4.2.19...4.2.20)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix req

---------

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>
2025-03-10 20:49:08 +11:00
Oliver 06961c6a24
Add error handling to API queries (#9253) 2025-03-07 14:30:51 +11:00
Oliver 2e91dc202b
Fix for link length migration (#9249)
- Found some fields which had not been migrated correctly
2025-03-06 16:24:54 +11:00
Matthias Mair 8e753b3797
fix(backend): API version correction (#9243)
The API version was not corretly changed in https://github.com/inventree/InvenTree/pull/9131 - this fixes it.

Fixes https://github.com/inventree/InvenTree/issues/9242
2025-03-05 11:24:29 +00:00
Oliver 017d96f64e
Ignore sentry for TemplateSyntaxError (#9239)
- Getting flodded with reports of users misapplied template filters
2025-03-05 22:00:05 +11:00
Oliver 21ae1138ce
Tracking api fix (#9238)
* [Bug] Fix search for StockTrackingList

- Removed invalid field

* Add unit test coverage for failing condition

* Fix 'notes' field for extra line item API
2025-03-05 21:59:44 +11:00
simonkuehling d96f0d78e9
increase character limits on all link fields to 2000 (#9131)
* increase character limits on all link fields to 2000

* update test to still trigger

* Don't fail when diff is too big for echo (#9205)

* Reduce severity of error message (#9209)

- Currently flooding sentry.io with reports

* Disable pagination for ConfigList class (#9210)

* [API] Auth login error (#9212)

Fixes #9211

* [UI] Table Update (#9220)

- Retain user selection for pageSize

* renumber migrations after merge from master

* Remove quick actions (#9222)

* Remove placeholder components

- No function
- Cleanup for 1.0.0

* Remove Placeholder.tsx

* feat(backend): Add user profile (#9116)

* Add user profile

* fix choice set

* ensure primary_group is valid

* add missing migrations

* fix tests

* merge migrations

* add migration test

* add new model to ruleset

* ensure changed to the m2m conenction also validate primary grups

* move signals

* fix import?

* patch user language through

* use set methods correctly

* bump api

* refactoring to make debugging and extending easier

* fix dum recurrsion problem

* fix user pk lookup

* rename migration

* add user and group page

* cleanup

* add hoverCard for user / owner / group render

* include owner_model in owner responses

* move user serializers to users

* add profile to list

* add brief serializer for profiles

* ensure profile is present in most apis

* extend rendered data

* store and observe langauge in profile

* reduce unneeded complexity

* enable access to full profle (including internal fields) in me serializer

* move theme to a single object

* persist theme settings

* fix radius lookup

* remove debug message

* fix filter

* remove unused field

* remove image fields

* add setting to control showing profiles

* fix settings

* update test

* fix theme reload

* Add contact UI

* Add profile edit screen

* fix test

* Add testing for user theme panel

* fix var name

* complete coverage of theme

* Add test for new pages

* make test more reliable in strict mode

* remove step

* fix ref

* add verbose names

* fix used setting

* extend tests

* fix permissions

* fix lookup

* use lookup to enuse ursls stay valid

* update migrations

* Add position field

* fix permissions

* Fix font size in location column (#9230)

* [WIP] Background reports (#9199)

* Update report generation progress

* Add shim task for offloading report printing

* Cleanup

* Add detail endpoints for label and report outputs

* Display report printing progress in UI

* Implement similar for label printing

* Reduce output for CI

* Add plugin slug

* Bump API version

* Ensure it works with machine printing

* Fix null comparison

* Fix SKU link

* Update playwright tests

* Massively reduce log output when printing

* handle null values in existing db data

* fix test to pass at max character limit again

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
Co-authored-by: Joe Rogers <1337joe@users.noreply.github.com>
2025-03-05 10:44:04 +11:00
Oliver d822b9b574
[WIP] Background reports (#9199)
* Update report generation progress

* Add shim task for offloading report printing

* Cleanup

* Add detail endpoints for label and report outputs

* Display report printing progress in UI

* Implement similar for label printing

* Reduce output for CI

* Add plugin slug

* Bump API version

* Ensure it works with machine printing

* Fix null comparison

* Fix SKU link

* Update playwright tests

* Massively reduce log output when printing
2025-03-04 23:40:54 +11:00
Oliver d5a176c121
Fix font size in location column (#9230) 2025-03-04 23:27:34 +11:00
Matthias Mair 0d1ab4e75a
feat(backend): Add user profile (#9116)
* Add user profile

* fix choice set

* ensure primary_group is valid

* add missing migrations

* fix tests

* merge migrations

* add migration test

* add new model to ruleset

* ensure changed to the m2m conenction also validate primary grups

* move signals

* fix import?

* patch user language through

* use set methods correctly

* bump api

* refactoring to make debugging and extending easier

* fix dum recurrsion problem

* fix user pk lookup

* rename migration

* add user and group page

* cleanup

* add hoverCard for user / owner / group render

* include owner_model in owner responses

* move user serializers to users

* add profile to list

* add brief serializer for profiles

* ensure profile is present in most apis

* extend rendered data

* store and observe langauge in profile

* reduce unneeded complexity

* enable access to full profle (including internal fields) in me serializer

* move theme to a single object

* persist theme settings

* fix radius lookup

* remove debug message

* fix filter

* remove unused field

* remove image fields

* add setting to control showing profiles

* fix settings

* update test

* fix theme reload

* Add contact UI

* Add profile edit screen

* fix test

* Add testing for user theme panel

* fix var name

* complete coverage of theme

* Add test for new pages

* make test more reliable in strict mode

* remove step

* fix ref

* add verbose names

* fix used setting

* extend tests

* fix permissions

* fix lookup

* use lookup to enuse ursls stay valid

* update migrations

* Add position field

* fix permissions
2025-03-04 22:57:20 +11:00
Oliver 8bca48dbdd
Remove quick actions (#9222)
* Remove placeholder components

- No function
- Cleanup for 1.0.0

* Remove Placeholder.tsx
2025-03-04 17:54:36 +11:00
Oliver 8cee2e36ca
[UI] Table Update (#9220)
- Retain user selection for pageSize
2025-03-03 19:09:42 +11:00
Matthias Mair ac96ba4a7c
[API] Auth login error (#9212)
Fixes #9211
2025-03-02 07:58:46 +11:00
Oliver d69fb9011c
Disable pagination for ConfigList class (#9210) 2025-03-01 16:12:09 +11:00
Oliver 8404e2232f
Reduce severity of error message (#9209)
- Currently flooding sentry.io with reports
2025-03-01 16:12:01 +11:00
Oliver 6c52f00c16
Call machine func (#9191)
* Force label printing to background worker

* Refactor "check_reload" state of machine registry

- In line with plugin registry
- More work can be done here (i.e. session caching)

* Better handling of call_plugin_function

* Wrapper for calling machine function

* Use AttributeError instead

* Simplify function offloading

* Check plugin registry hash when reloading machine registry

* Cleanup

* Fixes

* Adjust unit test

* Cleanup

* Allow running in foreground if background worker not running

* Simplify call structure
2025-02-28 21:07:56 +11:00
Joe Rogers 157cbbead5
Schema cleanup tmp (#9143)
* Add type hints for name, address, expired, and active

* Add nullable to various fields that return null in the test dataset

* Removed nullable type hint, add default boolean value instead of nullable

* Bump schema version

* Add schema version notes, add localized tags for doc string

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-02-28 19:15:35 +11:00
Oliver 92a9423c21
Remove restriction on row action (#9201) 2025-02-28 16:43:25 +11:00
Michael 0da9391568
Add part full name to supplier part table (#9197) 2025-02-27 23:17:43 +11:00
Oliver 28259a1ad6
Add loading indicator for custom panels (#9194) 2025-02-27 15:25:56 +11:00
Oliver 92edbf41ab
Add 'note' field to form (#9186) 2025-02-26 13:56:28 +11:00
Oliver 3940544a70
Allow custom icons to be cleared (#9185)
* Allow custom icons to be cleared

- Closes https://github.com/inventree/InvenTree/issues/9182

* Bump API version

* Update unit test

* Loosen test requirements
2025-02-26 13:25:44 +11:00
Oliver 94c2157d3c
Handle case of null stock location (#9183) 2025-02-26 09:26:11 +11:00
Oliver df60b1bc22
Allow reload of stock table if multiple new items are created (#9178) 2025-02-25 21:37:43 +11:00
Matthias Mair 89c5148873
Revert "remove need for hard coded token (#9136)" (#9177)
This reverts commit 9f236f5ce9.
2025-02-25 09:44:14 +00:00
Matthias Mair 9f236f5ce9
remove need for hard coded token (#9136) 2025-02-25 09:22:35 +11:00
Matthias Mair 991b578c30
refactor(frontend): Auth component refactor (#9121)
* https://github.com/inventree/InvenTree/pull/6293

* refactor to a shared component

* refactoring container stuff to a wrapper

* move title to wrapper

* move logoff and loader to wrapper

* mvoe functions to general auth

* seperate login and register into seperate pages

* unify auth styling

* rename component

* adapt to new look

* check if registration is enabled

* reduce diff

* reduce diff

* fix import

* add aria label to make more reliable

* make cap match

* ensure that confirm only works with valid inputs

* leave error for non-matching pwd to API

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-02-25 07:04:16 +11:00
Oliver 58a03d960a
Refactor API token display (#9168)
* Refactor API token display

* Tweaks

- Fix accessor ID
- Add filtering

* Revert ordering fields
2025-02-25 07:03:22 +11:00
github-actions[bot] 49eaedaca6
New Crowdin translations by GitHub Action (#9161)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-24 11:14:52 +11:00
Oliver cfdafcd791
Dashboard item rendering fixes (#9163) 2025-02-23 21:39:22 +11:00
Oliver c9666ff8ec
Remove 'url' field from serializers (#9150)
* Remove 'url' field from serializers

- Not used in any official client
- Inconsistent use across models

* Bump API version

* Adjust unit tests

* Fix API version
2025-02-23 21:07:34 +11:00
Oliver 9d1d0fa66b
Cleanup backend code (#9158)
* Cleanup backend code

* Re-add # TODO
2025-02-23 17:51:51 +11:00
Oliver 05fa36df72
TODO Cleanup (#9152) 2025-02-23 09:31:02 +11:00
Matthias Mair c3f737b320
fix(frontend): header nesting warning when using navbar_message (#9154) 2025-02-23 08:16:03 +11:00
Oliver 07423ff247
Slight tweaks to forms (#9149) use 2025-02-22 23:33:35 +11:00
Oliver 347f7ea050
[UI] Barcode scanner update (#9151)
Use BARCODE_WEBCAM_SUPPORT setting
2025-02-22 23:33:17 +11:00
Oliver 8df34cefd6
[UI] Settings render (#9148)
* Update sample plugin

* Inline rendering of model based settings

* Spelling fix

* Add playwright testing
2025-02-22 21:59:06 +11:00
Jacob Felknor 2cabd02c6b
Use ref pattern on PO duplicate (#9100)
* use ref pattern on PO duplicate

* use ref patterns on duplicate for other types of orders

* revert unintentional change to pre-commit

* add playwright tests

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-02-22 20:40:01 +11:00
Oliver 84d3a716e0
[UI] Reduce test sensitivity (#9146) 2025-02-22 20:06:34 +11:00
Oliver 7098ac74d2
[UI] Stock batch codes (#9145)
* Display batch code in stock item preview

* Show batch code in stock operations modal

* Refactor StockForms

* More table refactoring
2025-02-22 19:52:18 +11:00
Oliver bd7e515856
Harden playwright tests (#9141) 2025-02-22 17:14:14 +11:00
Oliver 74e3122581
Mixin cleanup (#9142)
* Remove legacy SettingsContentMixin

- Only used for rendering into old UI
- No longer useful

* Refactor path for NavigationMixin

* Fix typos

* Fix borked import
2025-02-22 17:13:29 +11:00
Oliver e447e4037b
UI cleanup (#9140)
* Refactor SecurityContext page:

- Add Accordion to separate different groups
- Fix "make primary" button (requires PATCH)
- Responsive grid design

* Add splash screen background to more pages

* Adds playwright testing for email setup

* Refactoring

* Fix playwright tests
2025-02-22 17:13:12 +11:00
Oliver 44cca7ddf2
[UI] Search Improvements (#9137)
* Harden playwright tests

* Refactor search drawer

- Allow result groups to collapse

* Add tooltip

* Fix menu position

* Navigate through to complete list of results

* Refactor table headers

* Add index pages for SupplierPart and ManufacturerPart models

* backend: allow split search by company type

* Fix panel naming bug

* Fix model URLs

* Split company results by company type

- Allows better routing to results list

* Remove debug msg

* Fix 'button within button' issue

* Additional playwright tests
2025-02-22 15:00:25 +11:00
Oliver 09cdf72bda
Handle undefined values (#9139) 2025-02-22 11:52:11 +11:00
Matthias Mair 03278c56c9
Remove django-allauth-2fa, dj-rest-auth and django-user-sessions (#6293)
* Remove django-allauth-2fa
Fixes #6281

* fix req

* fix file again

* remove allauth_2fa flows

* reintroduce otp

* fix rq

* remove old ref

* remove otp things from settings

* reintroduce otp codes

* remove totp section

* bump version

* fix reqs

* add missing model

* ignore TOTP migration if the model is not laoded

* add model deps

* add extra migrations step for easier testing

* add migration testing

* remove old catch

* cover static devies too

* remove more old stuff

* fix import

* mrege migrations

* bump API version

* switch to allauth.usersessions

* add headless

* re-add saml/openid

* user sessions cleanup

* turn off normal allauth urls if CUI is not active

* disable tests that rely on old endpoints - to be replaced

* always track session changes

* remove old allauth templates

* remove old ref

* add missing model

* fix session lookup

* always logout when pwd is changed

* reimplement session ending

* fix merge

* upgrade reqs

* lower cryptography version

* clean allauth_2fa reference

* disable test temporarly

* fix migration check

* disable tests temporarly

* Re-implement auth flow using new APIs; adds MFA to PUI

* re-implement logoff

* stop failure message from appearing when in MFA flow

* remove jwt mention

* fix: email endpoints (to be cleaned TODO@matmair)

* remove unused endpoints

* ignore the now often-used 410 error

* fix auth for email actions in MFA scenarios

* add mfa listing use build-in forms

* add dummy entry for missing frontend urls; see TODO@matmair

* remove unneeded change of confirm url

* add mfa reg endpoint (not fully implemented)

* implement more provider stuff

* simplify calls

* make calls more robust

* switch to browser based sessions

* add todo's

* update api version

* remove x-session, not needed anymore

* remove old urls

* remove ui preference - there is no decision anymore

* fix login redirect logic

* change name to ensure 1p can detect field

* add mfa table

* fix remove sso provider account action; provider (user) admin stuff is done

* reduce templates to the raw basics

* fix tests

* more exclusions

* rewrite url structure

* move buildin token test

* re-enable registration tests

* re-implement registrations

* enable registration for now

* re-implement password change

* adjust tests

* fix asserts

* align names with allauth

* simplify

* refactor and rephrasing

* fix nesting issue

* clean up urls even more

* add mfa add and remove screens

* add type

* revert dep change

* fix api version

* re-add settings

* simplify urls

* Add timeout to login wait for

* fix url assertation

* remove unneded mfa_enabled

* add setting for configuring types

* bump api version

* fix password reset flow

* change settings order

* save auth context

* rename var to remove confusion

* make login/register seperate paths

* make info text better

* adjust urls

* add error message

* disable buttons if no email is set

* add custom adapters for MFA and headless authentication to use upstreamed features

* move auth settings to status

* respect more settings

* update settings

* bump api version

* remove depreceated docs part

* remove dj_rest_auth stuff

* fix api_version bump

* remove temp fix

* fix provider login

* remove unsupported option

* remove hash requirement for now

* simplify customisation

* implement email-verification

* remove auth from api docs

* fix override of get_frontend_url
details in https://codeberg.org/allauth/django-allauth/pulls/4248

* bump api again

* fix req

* Revert "remove hash requirement for now"

This reverts commit 00bb6c5274.

* remove usage of git repo

* fix doc string

* extend schema generation to just patch in allauth

* patch allauth OAI ref names

* reduce types

* refactor code structure

* fix ref patching a bit more

* add param cleanup

* ensure strings, number, bools are handled correctly in cleanup

* move fnc

* shorten names

* bump allauth

* re-add auth doc section

* fix doc structure

* revert playwrigth change

* ckean up browser only path

* clean up parameters that we do not use

* re-add 2fa required middleware

* fix mail sending hook

* fix password set texts

* Add forced mfa setup

* remove type

* adjust api_version

* Remove debug prints

* Add error message for TOTP creation

* Handle failed TOTP login

* fix reqs

* Add error on 409 during login

* fix tested url

* fix api_version

* fix allauth version

* minimize req diff

* further minimize diff

---------

Co-authored-by: Oliver Walters <oliver.henry.walters@gmail.com>
2025-02-22 11:11:04 +11:00
Oliver 1f84f24514
Batch code fix (#9123)
* Fix batch code assignment when receiving items

* Add playwright tests

* Harden playwright tests

* Refactoring
2025-02-22 08:34:45 +11:00
dependabot[bot] 2521862b1a
Bump the dependencies group across 1 directory with 9 updates (#9134) use
* Bump the dependencies group across 1 directory with 9 updates

Bumps the dependencies group with 9 updates in the /src/backend directory:

| Package | From | To |
| --- | --- | --- |
| [coverage[toml]](https://github.com/nedbat/coveragepy) | `7.6.11` | `7.6.12` |
| [dj-rest-auth](https://github.com/iMerica/dj-rest-auth) | `7.0.0` | `7.0.1` |
| [django-allauth-2fa](https://github.com/valohai/django-allauth-2fa) | `0.11.1` | `0.12.0` |
| [django-filter](https://github.com/carltongibson/django-filter) | `24.3` | `25.1` |
| [django-money](https://github.com/django-money/django-money) | `3.2.0` | `3.5.3` |
| [djangorestframework](https://github.com/encode/django-rest-framework) | `3.14.0` | `3.15.2` |
| [pydyf](https://github.com/CourtBouillon/pydyf) | `0.10.0` | `0.11.0` |
| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.20.0` | `2.22.0` |
| [weasyprint](https://github.com/Kozea/WeasyPrint) | `62.3` | `64.1` |



Updates `coverage[toml]` from 7.6.11 to 7.6.12
- [Release notes](https://github.com/nedbat/coveragepy/releases)
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst)
- [Commits](https://github.com/nedbat/coveragepy/compare/7.6.11...7.6.12)

Updates `dj-rest-auth` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/iMerica/dj-rest-auth/releases)
- [Commits](https://github.com/iMerica/dj-rest-auth/compare/7.0.0...7.0.1)

Updates `django-allauth-2fa` from 0.11.1 to 0.12.0
- [Release notes](https://github.com/valohai/django-allauth-2fa/releases)
- [Changelog](https://github.com/valohai/django-allauth-2fa/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/valohai/django-allauth-2fa/compare/v0.11.1...v0.12.0)

Updates `django-filter` from 24.3 to 25.1
- [Release notes](https://github.com/carltongibson/django-filter/releases)
- [Changelog](https://github.com/carltongibson/django-filter/blob/main/CHANGES.rst)
- [Commits](https://github.com/carltongibson/django-filter/compare/24.3...25.1)

Updates `django-money` from 3.2.0 to 3.5.3
- [Release notes](https://github.com/django-money/django-money/releases)
- [Changelog](https://github.com/django-money/django-money/blob/main/docs/changes.rst)
- [Commits](https://github.com/django-money/django-money/compare/3.2...3.5.3)

Updates `djangorestframework` from 3.14.0 to 3.15.2
- [Release notes](https://github.com/encode/django-rest-framework/releases)
- [Commits](https://github.com/encode/django-rest-framework/compare/3.14.0...3.15.2)

Updates `pydyf` from 0.10.0 to 0.11.0
- [Release notes](https://github.com/CourtBouillon/pydyf/releases)
- [Changelog](https://github.com/CourtBouillon/pydyf/blob/main/docs/changelog.rst)
- [Commits](https://github.com/CourtBouillon/pydyf/compare/v0.10.0...v0.11.0)

Updates `sentry-sdk` from 2.20.0 to 2.22.0
- [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.20.0...2.22.0)

Updates `weasyprint` from 62.3 to 64.1
- [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/v62.3...v64.1)

---
updated-dependencies:
- dependency-name: coverage[toml]
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: dj-rest-auth
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: django-allauth-2fa
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: django-filter
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: django-money
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: djangorestframework
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: pydyf
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: sentry-sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: weasyprint
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix req

* clean up req file

* lower drf again

---------

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>
2025-02-22 08:02:53 +11:00
Oliver bc9dbf7df4
Barcode validation fix (#9127)
* Fix logic for adding items to SalesOrder

* Same thing for purchase orders

* Update serializers.py

Revert typo fix

- Otherwise, we need to do an API bump and the PR can't be back-ported!
2025-02-21 22:17:55 +11:00
Oliver 6930ae7122
Ignore inactive parts (#9125) 2025-02-21 20:55:22 +11:00
Oliver ab4eff19d3
[UI] Pricing chart fixes (#9119)
* Fix default values for pricing override

* Fix broken calculation for sale pricing

- Was previously excluding COMPLETED orders

* Fix for PricingOverviewPanel

* Fix for InvenTreeMoneySerializer

- Numbers should be represented as numbers!

* Front-end wrangling too

* Fix unit test
2025-02-21 19:09:57 +11:00
Oliver 15ad62494f
[Docker] Alpine image fix (#9118)
* Revert to alpine3:20 / postgres:16

* Remove old hack

- No longer needed as we are using python 3.11

* Update package requirements for devcontainer

Also fixes some docker warnings from the alpine Dockerfile

* Specify SITE_URL

* Reduce log output during docker image testing
2025-02-21 18:02:39 +11:00
Oliver 96bca652c4
Logic fix for label printing plugin (#9117) 2025-02-21 16:06:04 +11:00
dependabot[bot] 19f772bd6e
Bump @octokit/request from 8.4.0 to 8.4.1 in /src/frontend (#9105)
Bumps [@octokit/request](https://github.com/octokit/request.js) from 8.4.0 to 8.4.1.
- [Release notes](https://github.com/octokit/request.js/releases)
- [Commits](https://github.com/octokit/request.js/compare/v8.4.0...v8.4.1)

---
updated-dependencies:
- dependency-name: "@octokit/request"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-20 08:20:40 +11:00
Oliver e492774808
Use postgres for playwright testing (#9104)
* Use postgres for playwright testing

- Should reduce issues with parallel tests

* Fix deps

* Harden playwright tests
2025-02-19 20:33:54 +11:00
Oliver 7e7f745c89
Updates to admin interface (#9103) 2025-02-19 15:09:34 +11:00
dependabot[bot] 2d0f4e50bb
Bump @octokit/plugin-paginate-rest from 9.2.1 to 9.2.2 in /src/frontend (#9102)
Bumps [@octokit/plugin-paginate-rest](https://github.com/octokit/plugin-paginate-rest.js) from 9.2.1 to 9.2.2.
- [Release notes](https://github.com/octokit/plugin-paginate-rest.js/releases)
- [Commits](https://github.com/octokit/plugin-paginate-rest.js/compare/v9.2.1...v9.2.2)

---
updated-dependencies:
- dependency-name: "@octokit/plugin-paginate-rest"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-19 14:51:08 +11:00
Matthias Mair c314a4575d
feat(backend): Add instance id for linked data plugins (#9087)
* feat(backend): Add instance id for linked data plugins

* add to settings ui

* fix ref name

* add test

* fix default

* remove wrong key

* fix serializer

* fix patching
2025-02-18 18:58:46 +11:00
Matthias Mair 1d0540948f
chore(backend): bump devtools (#9088)
* chore(backend):Bump devtools

* fix typos that are now detected
2025-02-18 18:57:48 +11:00
Oliver 480536a023
PartThumbTable updates (#9094)
- Change columns based on viewport width
- Use debounced value
- Enable pagination
- Fix pagination on backend API
2025-02-18 13:48:44 +11:00
Oliver a3ffc01d88
Remove 'is_ajax' helper (#9095)
- Old, dead code
- No longer needed
2025-02-18 13:48:35 +11:00
Matthias Mair 4a9138cc3b
chore(backend): increase coverage (#9039)
* move version tests

* factor out read_license_file

* add testing for license file

* ignore special case when we create the schema

* extent no found api tests

* extend info view tests

* try fixing test?

* fix?

* test user create api

* measure impact of removing bom import

* remove dead code

* Revert "measure impact of removing bom import"

This reverts commit bb31db05e3.

* remove dead code

* remove plugin tags that were made for CUI

* add testing for filters

* add test for config delete

* add more api tests

* adjust tests

* fix test

* use superuser

* adapt error code

* Add test for https://github.com/inventree/InvenTree/pull/9077

* add mixin_available mixin

* make check_reload more observable

* test check_reload too

* test clean_barcode

* reset after testing

* extend datamatrix testing

* debug print

* fix assertation
2025-02-17 11:21:58 +11:00
dependabot[bot] ed4240a54c
Bump dompurify from 3.1.7 to 3.2.4 in /src/frontend (#9083)
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.1.7 to 3.2.4.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.1.7...3.2.4)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-17 09:05:03 +11:00
dependabot[bot] 8912f0db56
Bump @octokit/endpoint from 9.0.5 to 9.0.6 in /src/frontend (#9084)
Bumps [@octokit/endpoint](https://github.com/octokit/endpoint.js) from 9.0.5 to 9.0.6.
- [Release notes](https://github.com/octokit/endpoint.js/releases)
- [Commits](https://github.com/octokit/endpoint.js/compare/v9.0.5...v9.0.6)

---
updated-dependencies:
- dependency-name: "@octokit/endpoint"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-17 09:04:36 +11:00
dependabot[bot] 7362305296
Bump @octokit/request-error from 5.1.0 to 5.1.1 in /src/frontend (#9082)
Bumps [@octokit/request-error](https://github.com/octokit/request-error.js) from 5.1.0 to 5.1.1.
- [Release notes](https://github.com/octokit/request-error.js/releases)
- [Commits](https://github.com/octokit/request-error.js/compare/v5.1.0...v5.1.1)

---
updated-dependencies:
- dependency-name: "@octokit/request-error"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-16 12:36:01 +11:00
Oliver 8367c32e84
Remove dead code related to BOM import (#9079)
* Remove dead code related to BOM import

- Now handled by generic import tool
- Replaces https://github.com/inventree/InvenTree/pull/8756

* Bump API version
2025-02-15 07:59:43 +11:00
github-actions[bot] 4ece2fa6dd
New Crowdin translations by GitHub Action (#9069)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-14 23:53:30 +11:00
Oliver 944a4f28be
Setting filter (#9076)
* Expose "model_filters" to settings API

* Enable settings filters in the front-end

* Fix return types

* Bump API version
2025-02-14 19:15:42 +11:00
Oliver cca1912220
Adds "is_variant" filter for Part API (#9077)
* Adds "is_variant" filter for Part API

* Bump API version
2025-02-14 17:08:27 +11:00
Oliver caa0498aa3
[UI] Test Result Table Tweak (#9075)
Control row expansion property for StockItemTestResultTable
2025-02-14 10:00:46 +11:00
Matthias Mair 301347f1d0
[UI] Settings to control editing of "completed" orders (#9070)
* [UI] Settings to contrl editing of "completed" orders
Fixes #8976

* only check for completness if locking is enabled

* also lock lines

* allow editing of status to get an order "free" again
2025-02-14 09:30:19 +11:00
Oliver f27a84a7e5
Bug fix for receiving line item event (#9071)
- Use StockItem ID correctly
- Provide line ID
2025-02-13 14:39:05 +11:00
dependabot[bot] 40c1dc704f
Bump cryptography from 43.0.3 to 44.0.1 in /src/backend (#9064)
* Bump cryptography from 43.0.3 to 44.0.1 in /src/backend

Bumps [cryptography](https://github.com/pyca/cryptography) from 43.0.3 to 44.0.1.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/43.0.3...44.0.1)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix req

* set upper limit

* use highest version available on bullseye

* remove lower limit

---------

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>
2025-02-12 17:14:37 +11:00
Oliver 7049e84ac3
Fix for data import (#9060)
- Prevent shadow overwrite of default_values dict
- Remove dead code
2025-02-12 07:24:24 +11:00
github-actions[bot] 8493e5adb2
New Crowdin translations by GitHub Action (#9015)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-11 15:29:13 +11:00
Matthias Mair 3b7bda1e4f
chore(backend): bump deps (#9055) 2025-02-11 11:37:18 +11:00
Matthias Mair d569dbec49
[PUI] Make breadcrumbs adjustable (#8027)
* adjust breadcrumbs to include current item

* Add last breacdrumb to various pages

* Add user settings for last breadcrumb

* add breacrumbs to company subpages

* use getDetailUrl instead

* set default

* change description

* fix styles

* fix merge

* rename to camelCase

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-02-11 11:36:59 +11:00
Matthias Mair 047431d67f
fix(backend): determine active branch on startup (#9056)
* fix(backend): Determine active branch on startup

* add more warnings and document them

* extend expected errors

* fix typos
2025-02-11 09:19:49 +11:00
Matthias Mair 33d0449460
fix(contrib): move imports to ensure task startup without django is possible (#9057) 2025-02-10 12:21:43 +11:00
Oliver 3a423c3e40
[Setup] Enhance version information output (#9049)
* Improve output of 'invoke version'

- Display backup path
- Handle undefined paths without error

* Provide colorized output
2025-02-08 12:12:11 +11:00
Oliver 49824ddf31
Fix typos in settings.py (#9048) 2025-02-08 10:45:47 +11:00
Matthias Mair a3be8e986b
chore(contrib): include pkg source in pkg logging (#9035)
* fix(backend): wrong path for version was used

* chore(contrib): Include Pkg source in pkg logging
2025-02-06 09:17:42 +11:00
Matthias Mair 8bea3caec4
feat(frontend): Hide empty args in about dialog (#9033)
* clean up version info text

* feat(frontend): Hide empty args in about dialog

* simplify

* simplify more
2025-02-05 09:45:48 +11:00
Matthias Mair 73b46c1c15
bump python deps (#9032) 2025-02-05 09:20:29 +11:00
Oliver e1f25a03d4
Tweak playwright tests (#9027) 2025-02-04 22:52:01 +11:00
Oliver 445fa45394
Enhance creation of default settings (#9028)
- Remove cache requirement
- Replaces https://github.com/inventree/InvenTree/pull/9021
2025-02-04 22:51:51 +11:00
Dean 138aa01d7e
Support for searching sales order shipments (#8992)
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-02-03 23:13:52 +11:00
Oliver d363c408f8
[Pricing] Add option to convert received items currency (#8970)
* Add new global setting

* Convert to base currency on receipt

* Fix total price rendering in PO table

* Fix for tasks.py

* Update .gitignore

- Ignore auto-generated files

* Update docs

Improved documentation for pricing/currency support

* Updates

* Fix caching for default currency

- Now managed better by session caching

* Add unit test for new feature

* Playwright test fixes

* Validate copying of media files

* Validate media files

* Adjust playwright setup

* Allow multiple attempts to fetch release information

* Tweak unit tests

* Revert changes to .gitignore file

- Just trying stuff at this point

* Add debug msg

* Try hard-coded paths

* Remove debug prints

* Abs path for database

* More debug

* Fix typos

* Revert change to db name

* Remove debug statements (again)

* Cleanup playwright tests

* More test tweaks

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-02-03 18:34:15 +11:00
Oliver a760d00c96
Cleanup BomItemSerializer (#9017)
- Consolidate functions
- Code cleanup
2025-02-03 13:50:17 +11:00
dependabot[bot] 4e074ff711
Bump vite from 5.4.7 to 6.0.11 in /src/frontend (#8938)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.7 to 6.0.11.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.0.11/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: indirect
...

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>
2025-02-03 07:38:54 +11:00
Dean e93b9692a1
Debounce `checkLoginState` to prevent unexpected redirection during testing (#9012) 2025-02-03 07:37:15 +11:00
Oliver 2a6434ead8
Report bugfix (#9013)
- Ensure default label templates exist
- Ensure default report templates exist
2025-02-02 23:28:28 +11:00
github-actions[bot] 1b5019ba52
New Crowdin translations by GitHub Action (#9007)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-02 14:17:19 +11:00
Joe Rogers 1912e754b4
Clean up deprecated module removed in python 3.13 (#9004)
* Remove deprecated module removed in python 3.13

* Update validate to use helper function

* Add translation wrapper to error message
2025-02-02 13:23:24 +11:00
Oliver 56bfbfb1b4
Tweak for data import (#9010)
- Do not override specified default values
2025-02-02 09:25:28 +11:00
Oliver c077e2b605
[Bug] mport fix (#9008)
* Better handling of request object in serializers

* Pass request object through

- Required to extract user information

* Strip column header during import

- Prevent mismatch due to whitespace

* Fix for "minimum stock" field

* Fix for part serializer

* Extract default values on import

* Remove outdated migration message

* Bump API version
2025-02-02 07:57:06 +11:00
Oliver eba004d835
[UI] Report ouputs (#9003)
* Typo fixes

* Display table of generated reports

* Display generated label outputs

* Translation

* Allow sorting of API Endpoints

* Add template detail to output serializers

* Add extra table column
2025-02-01 22:44:52 +11:00
Oliver bef6270ff6
Login form tweaks (#9005)
* Login form tweaks

- Improve consistency
- Add tooltips

* Cleanup ServerInfo list

* Slight layout tweaks
2025-02-01 17:39:18 +11:00
Oliver 855afde4e5
Report print update (#9002)
* Refactor label printing

- Move "print" method to template
- Allows for internal calls to printing (e.g. plugins)

* Generate dummy request

- Required to trick WeasyPrint

* Refactor reportprinting

* Add timeout for unit test

* More unit tests

* Tweak unit test

* Updated comment
2025-02-01 17:08:33 +11:00
Oliver 821b311d73
[CI] Playwright testing improvements (#8985)
* Run playwright tests in headless mode

* Add navigation helper

* Validate files

* test fix

* Remove 'headless'

* Fixes

* Fix for 'navigate' helper

* Further updates
2025-02-01 16:29:13 +11:00
Lukas 66496fb669
fix missing template tag (#9000) 2025-02-01 08:27:27 +11:00
Matthias Mair ce16dac102
feat: increase coverage (#8897)
* remove preference-view

* bump api

* move tag test to seperate file

* extend tests

* make tags more robust

* Revert "remove preference-view"

This reverts commit b95aaaff3c.

* Revert "bump api"

This reverts commit 8fc29186cf.

* more coverage

* re-enable test

* even more tests

* just ignore it

* moa test

* crude debugging

* more debugging

* adapt test

* reduce debugging

* fix test_part_image

* remove TemplatePrintBase

* fix style

* fix code

* fix check

* ensure none exsisting image to not cause issue
2025-01-31 13:59:07 +11:00
Matthias Mair fff0b99b08
refactor(backend): reduce tags (#8932)
* reduce tags more

* remove splashscreen usage

* fix test

* reintroduce inventree_logo

* re-add splashscreen fnct

* re-add needed tag

* re-add date renderer

* simplify away user specific stuff - there are no users in reports

* and simplify a bit more

* increase coverage

* fix format

* and more coverage

* fix render_date

* more coverage
2025-01-31 13:58:04 +11:00
Matthias Mair cfa248aad9
feat: Re-Implement customize options (#8969)
* Extend api to also include customize functions

* [FR] Re-Implement customize options
Fixes #8818

* re-implement header

* add splashscreen customisation

* make simpler

* fix rendering

* bump api
2025-01-31 13:10:31 +11:00
Matthias Mair edc97b1afd
fix(backend): api version style (#8989)
* fix api version style

* set base path
2025-01-29 21:30:09 +00:00
Oliver eee4916350
Order start dates (#8966)
* Add 'start_date' field to orders

- PurchaseOrder
- SalesOrder
- ReturnOrder

* Add serializer field

* Add API filters

* Add table columns

* Add fields to forms

* Table filters

* Add validation check

* Refactor BuildOrderTable

* Update detail page

* Bump API version

* Allow sorting by start_date

* Fix for purchase order field

* Update detail pages

* Update playwright tests

* Updated playwright tests

* Documentation updates

* Updated playwright tests
2025-01-29 22:45:39 +11:00
Oliver 0c56a3132b
Fix for chart rendering (#8981)
- Graphs like numbers, not strings, I guess...
2025-01-29 17:38:12 +11:00
Oliver 01b74da255
[UI] Part pricing breaks (#8975)
* Un-hide pricing panels

* Change positioning

* Enhanced playwrigh testing
2025-01-29 15:52:25 +11:00
Oliver c67e80b50e
Fix user role caching issues (#8973)
* Fix user role caching issues

* Handle null user case

* Fix typo

* More spelling fixes
2025-01-28 20:39:05 +11:00
Matthias Mair f7f6e27c6e
feat(backend): improve tag docs (#8960)
* add admindocs

* add tag export command

* add filter export

* switch to yaml

* upload meta info to artifacts

* format workflow file

* fix creation command

* keep all artifacts in schema repo

* fix namespace

* use one command for export

* include tags and filters in docs

* change default filename

* fix call

* fix itteration syntax

* clean up rendering

* fix formatting

* simple escape
2025-01-28 09:42:13 +11:00
Oliver 16b03a7371
Fix for 'issued_by' field on BuildDetail page (#8962) 2025-01-27 23:45:48 +11:00
Oliver a13f5681a1
SalesOrder migration unit test (#8814)
* Unit test for SalesOrder data migration

* make field checks more stable

* Adjust migration  strategy

* Fix for data migration

* Simplify login test for playwright

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-01-27 21:01:02 +11:00
Matthias Mair bbeaf0e791
feat(backend): Improve error with missing manifest (#8957)
* package tag results better

* Add docs for missing frontend

* better error indication
Fixes #8875

* fix test assertations

* fix test exception

* group setup admin stuff

* add operations supgourp

* add basic structure

* move error code

* fix link

* fix grammar issues
2025-01-27 19:52:05 +11:00
Oliver 630d165c22
[Enhancement] Request cache (#8956)
* Middleware for caching against request

* Create helpers for setting / getting session cache

* Settings objects check session cache first

* Ensure setting is removed from session cache when updated

* Cleaner implementation

* Fix cache cleanup

- ONLY allow access if there is a request object
- Ensure cache is deleted once session is over

* Skip plugin registry reload check
2025-01-27 14:45:11 +11:00
Oliver ddcb7980ff
[Refactoring] Data Export (#8950)
* Allow extraction of "child" fields when exporting serialized data

* Update StockItemSerializer

* Add missing default attribute

* Cleanup export for BuildItemSerializer

* Refactor BuildLineSerializer

* Refactor BomItemSerializer

* Auto-exclude tags from export (for now)

* Cleanup SupplierPartSerializer

* Updated unit test

* Cleanup

* Bump API version

* Reduce serializer complexity

* Refactor StockLocation API endpoints

* Cleanup API

* Enhanced docstrings
2025-01-27 14:03:40 +11:00
Matthias Mair 5968f5670f
refactor(backend): remove contrib.messages (#8959)
* remove django.contrib.messages

* re-add messages as admin needs it
2025-01-27 13:03:15 +11:00
dependabot[bot] 98d2dd7930
Bump undici from 5.28.4 to 5.28.5 in /src/frontend (#8935)
Bumps [undici](https://github.com/nodejs/undici) from 5.28.4 to 5.28.5.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.4...v5.28.5)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

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>
2025-01-27 00:31:26 +11:00
Oliver ab7e6385c2
Notification cleanup (#8945)
- Prevent spamming of duplicate notifications
2025-01-26 07:18:38 +11:00
Oliver e9bc4645ca
Build category filter (#8940)
* Add 'category' filter to BuildList

- Allows filtering by part category

* Add filter element to build table

* Bump API version
2025-01-22 22:22:03 +11:00
Oliver 19d7825fa6
Cleanup dead code (#8939)
- Used for old UI plugins
- No longer referenced
2025-01-22 21:04:39 +11:00
dependabot[bot] 6d758e8e9f
Bump vite from 6.0.7 to 6.0.9 in /src/frontend (#8934)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.0.7 to 6.0.9.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.0.9/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-22 17:18:33 +11:00
Oliver 8e8b7158b7
Plugin reload fix (#8922)
* Add option to disable auto-reload of dev server

* Force plugin reload

* Add unit testing for plugin reload

- Requires modifications to registry.py
2025-01-22 16:34:13 +11:00
github-actions[bot] 4a9785d5e9
New Crowdin translations by GitHub Action (#8916)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-21 16:00:40 +11:00
Oliver fddaaf9844
Code cleanup (#8931)
- Remove TemplatePrintBase class
- Not referenced in code
2025-01-21 09:55:44 +11:00
Oliver f602c439ca
Fix docstring for Build model (#8928) 2025-01-21 01:56:57 +11:00
Oliver 68d3620bb2
Include location detail in build output table (#8923)
* Include location detail in build output table

* Raise validation error if trying to split an in-production item
2025-01-21 01:41:13 +11:00
Oliver 2575c7276c
Import fix (#8924)
* Exclude "tags" fields from data import

- May reintroduce at a later date
- Currently, no support for editing tags in frontend

* Refactor
2025-01-21 01:24:36 +11:00
Oliver 95874d9097
Update SalesOrderAllocationTable (#8911)
* Update SalesOrderAllocationTable

- Add 'description' column for part
- Add 'IPN' column for part

* Fix unit test
2025-01-21 00:37:36 +11:00
Oliver 7ad49949c8
Build start date (#8915)
* Add 'start_date' to Build model

* Add to serializer

* Add filtering and ordering

* Update BuildOrderTable

- Add new column
- Add new filtering options

* Add sanity check for start_date

* Add 'start_date' field to BuildOrder form

* Update docs

* Bump API version

* Tweak unit testing

* Display 'start_date' on build page

* Refactor UI tests

* Fix for 'date' field in forms

* Add additional unit tests

* Fix helper func

* Remove debug msg
2025-01-21 00:37:23 +11:00
Oliver 87ccf52562
Reintroduce setting for project codes (#8920)
* Re-introducde old setting

* Optionally hide project code column

* Control visibility of table filters

* Hide fields from forms
2025-01-20 23:29:20 +11:00
Oliver 37c8418f0e
Pass locale information through to plugins (#8917) 2025-01-20 15:40:32 +11:00
Oliver 40c5910311
Cleanup UserManagementPanel (#8914)
- Split items using <Accordion />
2025-01-20 13:18:31 +11:00
Matthias Mair b1c9fcb0a7
chore(frontend): bump frontend deps (#8906)
* bump codemirror

* bump mantine and deps

* a few small bumps

* lover react-grid-layout

* lower lingui

* lower react-window

* revert versions down

* fix resolution

* fix resolution
2025-01-20 09:40:02 +11:00
github-actions[bot] 46ebe81304
New Crowdin translations by GitHub Action (#8882)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-19 21:58:50 +11:00
Matthias Mair c57b51cb0e
chore(backend): bump deps (#8905)
* bump backend reqs

* raq down cryptography

* fix req

* bump api version
2025-01-19 17:50:22 +11:00
Matthias Mair 64b9365947
chore: bump pre commit (#8904)
* bump pre-commit

* auto-fixes

* ignore error

* fix a few more issues

* fix pattern
2025-01-18 09:38:00 +11:00
Matthias Mair 3d2f800c73
feat: Add setting for controling console logs (#8903)
* Add setting for controling console logs

* respect console_log setting

* use var for defualt handler
2025-01-17 09:21:38 +11:00
Matthias Mair 89dfa0f6f9
refactor: remove preference-view (#8894)
* remove preference-view

* bump api

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-01-15 14:46:23 +11:00
Matthias Mair fbe2131fa5
fix(plugin): Ensure plugins are only installed if not deactivated (#8893)
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-01-15 14:46:10 +11:00
Oliver 5de65891c3
Allow CORS for /plugin/ URLs (#8898)
- Ref: https://github.com/inventree/inventree-order-history/issues/17#issuecomment-2591275055
2025-01-15 14:45:58 +11:00
Oliver c7e960728d
Upload timeout (#8895)
* Increase upload timeout for attachments

* Increase default API timeout

- To account for distant connections

* Use longer timeout when uploading files

* Debug for RTD testing

* Adjust commit extraction

* Cleanup debug output

* Include more vars in output

* Move debug output to top of file

* Add useful link
2025-01-15 14:02:43 +11:00
Oliver 412bba50ba
Slight tweak to <DetailsTable> (#8890)
* Slight tweak to <DetailsTable>

* Responsive layout for user settings

* Make menu links responsive

* Update <FactCollection />

* Update part pricing panels
2025-01-14 13:42:03 +11:00
Oliver 46f6450ee1
[UI] Responsiveness Improvements (#8885)
* Shorten string in page title

* Style fixes

* Adjust cell width props

* Refactor <PageDetail> component

- Improve responsiveness

* Simplify <ItemDetailsGrid />

* Refactor <DetailsImage>
2025-01-14 10:38:48 +11:00
Oliver dd5aa5f4e4
Allow null value for expiry_date field (#8886)
* Allow null value for expiry_date field

* Bump API version
2025-01-13 14:31:03 +11:00
Oliver b06b762895
[UI] Reactive Details Columns (#8883)
* Adapt details column count

- Based on element width

* Pin minimum size of thumbnail

* Cleaner implementation

* Revert again

- Use element size, not screen size
2025-01-12 14:58:52 +11:00
Jacob Felknor e8c1417b15
Add Expiry Date on Receive Line Item (#8867)
* Add expiry on line item receive from PO

* add backend test

* reset pre-commit

* increment inventree api version

* use None as default expiry date

* check global setting STOCK_ENABLE_EXPIRY

* check for default expiry in line item receive

* use dayjs

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-01-12 13:56:30 +11:00
Oliver c75630d1bd
Add Serbian to LanguageContext.tsx (#8880) 2025-01-12 09:06:44 +11:00
github-actions[bot] 4390c01cc1
New Crowdin translations by GitHub Action (#8857)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-12 09:06:29 +11:00
Oliver 7eac3d7d42
Forms refactor (#8876)
- Use dayjs for cleaner code
2025-01-12 08:18:42 +11:00
Oliver 000419255a
Adjust StockItem form (#8869)
- Auto-set expiry date
2025-01-11 09:22:53 +11:00
Oliver c99aae5a28
Updated docstring (#8868) 2025-01-10 18:10:42 +11:00
Oliver dcff7a5ccd
Simplify translated string (#8860) 2025-01-08 12:55:56 +11:00
Oliver c815455461
Datamatrix (#8853)
* Implement datamatrix barcode generation

* Update documentation

* Update package requirements

* Add unit test

* Raise error on empty barcode data

* Update docs/hooks.py
2025-01-08 12:06:00 +11:00
Oliver 9138e31e58
Created by (#8848)
* Add 'created_by' field to order API endpoints

* Add 'created_by' filter

* Allow ordering by 'created_by' field

* Update UI tables

- Show "Created By" column
- Column sorting
- Column filtering

* Cleanup order detail pages

* Bump API version

* Refactor table filters

* Fix BuildOrderTable filters
2025-01-08 10:07:38 +11:00
Oliver 296c54a1d7
[UI] API Context (#8851)
* Create ApiContext provider

* Utilize new context

* Remove api from global context

* Refactor <InvenTreeTable>

- No longer need hard-coded API constant

* Refactor useInstance hook

* Refactoring

- QueryCountDatshboardWidget
- NotesEditor
- RenderInstance

* Refactor multiple tables

* Fix typos

* Refactor useFilters hook

- Allow plugins to use this hook!

* Further refactoring

* Refactor API forms

* Cleanup context routing

* Fix provision order
2025-01-08 07:34:06 +11:00
Oliver 3a62bdd276
Ensure error is raised (#8849) 2025-01-07 17:07:07 +11:00
Oliver b42edbf2ab
Fix for notification (#8840)
label -> title
2025-01-07 15:00:48 +11:00
Oliver dcf0bb103e
Order creation fix (#8846)
* Bug fix for PurchaseOrder

- Correctly record the user who created a PO
- Code refactoring

* Updated unit tests
2025-01-07 14:59:22 +11:00
Oliver 94f7890a41
Fix for test results in stock item report context (#8843)
- Allow for "cascade" installed items
- i.e. support multi-level installed items
2025-01-07 10:34:47 +11:00
Oliver ce617b7792
[Documentation] Remove package credits (#8811)
* Remove hard-coded credits from docs

- Extract *actual* package credits
- Auto-build into docs

* Include URLs when generating python license data

* Update readthedocs process

* Better URL extraction

* Adjust build process for RTD

* Spelling fixes

* Install node and yarn

* Command fix

* Improved library sorting

* Improved error message

* Remove credits.md

* Cleanup

* Further cleanup

* Tweak playwright test

* Handle uncaught exception in fetchIcons

* Fix for CORS settings in playwright testing

* Enhance login check

* Fix for barcode test

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-01-06 14:14:38 +11:00
Oliver 40cff05864
Tasks cleanup (#8838)
* Pretty print and typo fix

* Improved output

* Improve logging
2025-01-06 10:06:38 +11:00
Matthias Mair 6b5e0dbb29
remove structlog from internal paths (#8836) 2025-01-06 07:28:28 +11:00
Oliver ae1f9bf274
Navigate to index when deleting a company (#8831) 2025-01-05 22:43:20 +11:00
github-actions[bot] 8b343e570e
New Crowdin translations by GitHub Action (#8826)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-05 20:21:50 +11:00
Oliver b2a3f6d311
Remove old PanelMixin class (#8828)
- Custom panels for legacy UI
- No longer needed
2025-01-05 14:58:07 +11:00
Matthias Mair 7125261bbc
Remove admin shell (#8816) 2025-01-05 12:57:20 +11:00
Matthias Mair ea9e3fb992
Refactor to use structlog (#8747)
* use structlog instead of normal logging

* more fixes

* more fixes

* fix test asserts

* use static name

* fix logger

* fix assert

* fix asserts
2025-01-05 12:48:57 +11:00
github-actions[bot] 5eeb150828
New Crowdin translations by GitHub Action (#8786)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-01 10:41:30 +11:00
Oliver 16e9729308
Allow barcode linking for stock location (#8802) 2024-12-31 15:48:41 +11:00
Oliver 23e4f2f2a2
[Setup] Support X-Forwarded-Proto header (#8790)
* Remove use_x_forwarded_port setting

- As per the docs, this is ignored in favour of use_x_forwarded_host
- So, is not being used anyway

* Add note on x_forwarded_host option

* Add warning message if SITE_URL not provided

* Add support for SECURE_PROXY_SSL_HEADER

* Update configuration template file

* Update SITE_URL docs

* Remove line

* Re-add use_x_forwarded_port

* Docs tweak

* Improve wording

* Fix broken link
2024-12-31 12:33:17 +11:00
Oliver 1c2ad94bb7
Remove old script for calculating translation stats (#8787)
* Remove old script for calculating translation stats

* Update tasks.py

* Adjust unit test call
2024-12-29 20:41:14 +11:00
Oliver 5e79c6906c
[UI] Permission Enhancements (#8785)
* Update page permissions

- Add permission check to <InstanceDetail>
- HIde breadcrumbs and tree for part
- Hide breadcrumbs and tree for stock

* Additional permissions checks
2024-12-29 17:00:27 +11:00
Oliver cd0ee7dbab
Url refactor (#8784)
* Cleanup config template

* Small refactor

- Fix for frontend_base_url setting

* Revert base url

* Fix reverse URL lookup
2024-12-29 14:54:02 +11:00
Oliver 964984ccac
[Refactor] Custom states (#8438)
* Enhancements for "custom state" form

- More intuitive form actions

* Improve back-end validation

* Improve table rendering

* Fix lookup for useStatusCodes

* Fix status display for SockDetail page

* Fix SalesOrder status display

* Refactor get_custom_classes

- Add StatusCode.custom_values method

* Fix for status table filters

* Cleanup (and note to self)

* Include custom state values in specific API endpoints

* Add serializer class definition

* Use same serializer for AllStatusView

* Fix API to match existing frontend type StatusCodeListInterface

* Enable filtering by reference status type

* Add option to duplicate an existing custom state

* Improved validation for the InvenTreeCustomUserStateModel class

* Code cleanup

* Fix default value in StockOperationsRow

* Use custom status values in stock operations

* Allow custom values

* Fix migration

* Bump API version

* Fix filtering of stock items by "status"

* Enhance status filter for orders

* Fix status code rendering

* Build Order API filter

* Update playwright tests for build filters

* Additional playwright tests for stock table filters

* Add 'custom' attribute

* Fix unit tests

* Add custom state field validation

* Implement StatusCodeMixin for setting status code values

* Clear out 'custom key' if the base key does not match

* Updated playwright testing

* Remove timeout

* Refactor detail pages which display status

* Update old migrations - add field validator

* Remove dead code

* Simplify API query filtering

* Revert "Simplify API query filtering"

This reverts commit 06c858ae7c.

* Fix save method

* Unit test fixes

* Fix for ReturnOrderLineItem

* Reorganize code

* Adjust unit test
2024-12-29 08:45:23 +11:00
Matthias Mair c582ca0afd
Add scan to action menu (#8781)
* small style fixes

* refactor: split scanning and dialog logic

* feat: Add modal and quick action to scan a barcode from anywhere
2024-12-29 01:12:42 +11:00
Oliver 3e73162368
Barcode scanning (#8732)
* Implement new "general purpose" barcode scan dialog

- Separated widgets for camera / keyboard / wedge scanner
- UI / UX improvements

* Handle scan results

* Fix missing imports

* Handle successful global scan

* Handle error when linking barcode

* Backend fix for InvenTreeInternalBarcodePlugin

* Error handling

* Working on scanner input

* Refactor scan page

* Callback from scanner input

* Refactoring <Scan> page

* Allow InvenTreeTable to be used with supplied data

* Refactor optionalparams

* Refactoring table of scan results

* Implement callbacks

* Navigate from barcode table

* Fix delete callback

* Refactor callbacks

* Refactor idAccessor

- Access as part of useTable hook
- No longer hard-coded to 'pk'

* prevent duplicate scans

* Fix for deleting items from table

* Cleanup

* Bump API version

* Adjust playwright tests

* Update playwright tests

* Update barcode screenshots

* Fix links

* Add quick links to barcode formats

* Updated screenshots

* Fix for BuildLineSubTable

* Specify idAccessor values

* Clear barcode input after timeout period

* Move items

* Fix for playwright test

* Remove debug print

* Additional error ignores

* Cleanup scanner input

- Simplify
- Prevent errant keycodes from closing the scanner dialog

* Playwright test adjustments
2024-12-28 20:38:53 +11:00
github-actions[bot] 0765b00520
New Crowdin translations by GitHub Action (#8752)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-27 19:43:52 +11:00
Oliver 189f2303b8
[PUI] Set password (#8770)
* Add <ChangePassword> page

* Rename Set-Password to ResetPassword

* Add unit testing

* Ensure user is properly logged into page

* Update playwright tests

* Small tweaks
2024-12-27 11:01:48 +11:00
Matthias Mair da21e39e84
Turn off debug by default (#8743)
* turn off debug by default

* fix log level / debug settings for workflows

* fix typo
2024-12-26 20:16:53 +11:00
Oliver d4ee8c53b2
Fix default value for SESSION_COOKIE_SECURE (#8767)
- Default value was previously 'True'
- Documentation indicated that it was 'False'
- Value in config_template.yaml was 'False' (but commented out)
2024-12-26 11:25:58 +11:00
Oliver ae7f4e33d5
Zero stock fix (#8766)
* Change backend validation

- Allow stock adjustments with zero quantity

* Frontend changes
2024-12-26 10:42:07 +11:00
Oliver c79fc281fd
Fix typo (#8757)
- registraton -> registration
2024-12-25 07:38:39 +11:00
Matthias Mair fe68dc7318
Refactor fix formatting exclusion (#8746)
* fix ruff exclusions

* aut-format

* Fix docstrings

* more fixes

* ignore error(s)

* fix imports

* adjust descriptions for build
2024-12-25 07:16:24 +11:00
dependabot[bot] 02e43061b2
Bump jinja2 from 3.1.4 to 3.1.5 in /src/backend (#8751)
* Bump jinja2 from 3.1.4 to 3.1.5 in /src/backend

Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.4 to 3.1.5.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.4...3.1.5)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix req

---------

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>
2024-12-24 11:54:10 +11:00
Matthias Mair 7f1cc4658b
Fix REST registration endpoint (#8738)
* Re-add html account base
Fixes #8690

* fix base template

* override dj-rest-auth pattern to fix fixed token model reference

* pin req

* fix urls.py

* move definition out to separate file

* fix possible issues where email is not enabled but UI shows that registration is enabled

* fix import order

* fix token recovery

* make sure registration redirects

* fix name change

* fix import name

* adjust description

* cleanup

* bum api version

* add test for registration

* add test for registration requirements
2024-12-24 11:53:25 +11:00
Oliver 8fcebefa0b
Handle error when loading icon pack (#8753)
* Handle error when loading icon pack

* Update
2024-12-24 10:18:00 +11:00
Matthias Mair ec6280dacd
MFA add better logging (#8745)
* add better logging

* use structlog
2024-12-24 07:22:28 +11:00
Matthias Mair 728e0894aa
Factor out helper (#8744)
* facour out helper

* fix import path
2024-12-24 07:20:27 +11:00
Oliver 71eb2814d4
Remove django-import-export (#8685)
* Remove django-import-export requirement

* Update settings.py

* Clean up admin files

* Remove much of the old BOM exporter framework

* Add note for future self

* Remove dead unit test files

* Remove defunct AjaxView classes

* Remove InvenTreeRoleMixin

* Update docs for data import

* Export docs
2024-12-24 07:19:36 +11:00
Oliver f31ba657cc
API error handling (#8739)
* API error handling

- Add error handlers to various API calls

* Fix return type
2024-12-24 07:18:56 +11:00
github-actions[bot] 933330fa51
New Crowdin translations by GitHub Action (#8683)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-23 10:36:39 +11:00
Matthias Mair aa905166c5
Switch to zoneinfo from pytz (#7645)
* switch to zoneinfo from pytz

* fix lookup

* fix assert

* fix another round of assertions
2024-12-23 08:46:31 +11:00
Joe Rogers 0bcad6b340
Add separate dialog for 'Ship Order' button (#8734) 2024-12-22 16:08:45 +11:00
Oliver d8207c88f0
Remove unused setting (#8731) 2024-12-21 08:33:31 +11:00
Oliver aabcf52cd2
Forms fixes (#8722)
* Refactor form fields

- Allow error message to be passed through via field definition
- Return error information to onFormError

* Fix debounce issue for text fields

* Fix for useForm hook

* Badge fix

- Fix badge rendering for SalesOrderShipment

* Cleanup unit test
2024-12-20 14:53:39 +11:00
Oliver 68ac4118e9
[UI] Link fix (#8726)
- Fixes anchor issues in stock tracking table
2024-12-20 12:21:21 +11:00
Oliver 130bc84b44
Badge fix (#8725)
- Fix badge rendering for SalesOrderShipment
2024-12-20 12:13:00 +11:00
Matthias Mair aad5575cd2
Fix MFA auth flow (#8720)
* Re-add html account base
Fixes #8690

* fix base template
2024-12-20 07:21:22 +11:00
Oliver 53792693f5
Allow backup_value to be specified to the 'getkey' report helper (#8719) 2024-12-19 09:24:01 +11:00
Matthias Mair 17fd7f32a4
consider INVENTREE_RESTRICT_ABOUT setting (#8717) 2024-12-19 08:37:39 +11:00
Oliver 6634bc54bd
Remove javascript rendering (#8713) 2024-12-19 07:34:01 +11:00
Oliver 88bfb23362
Cleanup tags (#8712)
* Remove part_allocation_count tag

* Remove more dead tags
2024-12-19 07:33:48 +11:00
Oliver e37e72357a
Cleanup old settings (#8709)
* Use LABEL_ENABLE and REPORT_ENABLE settings in PUI

* Cleanup base.html

- Should reduce db hits slightly

* Remove defunct homepage settings

* Cleanup old settings

* Adjust unit test
2024-12-19 07:31:59 +11:00
Matthias Mair 1c9f56011c
Various SAST fixes (#8718)
* fix type

* fix typing

* fix python:S5713

* fix python:S1066

* fix python:S3516

* fix python:S5727

* fix python:S5886
2024-12-19 07:31:33 +11:00
Oliver 1493bbaac6
[Refactor] Template fix (#8710)
* Commonize favicon template

* Cleanup templates
2024-12-19 01:18:13 +11:00
Oliver 378d69f0b3
[UI] Enhanced null checks (#8706)
* Extra null check in SettingList.tsx

* Null checks on error responses
2024-12-19 00:59:56 +11:00
Oliver 1eaf3a4594
Image upload error (#8700)
* Add helper function for displaying API error message

* Provide feedback on image upload

* Update notification
2024-12-18 23:24:18 +11:00
Oliver 4569fd273d
Cast barcode scan IDs to list (#8701)
- Fixes issues with limitations on old MySQL server
2024-12-18 16:51:32 +11:00
Oliver 1910612725
Fix for table update (#8698)
- Retain data when updating a single record
- Fixes https://github.com/inventree/InvenTree/issues/8693
2024-12-18 14:21:31 +11:00
Oliver 9f1d1abd5b
Remove "crispy forms" integration (#8684)
* Remove "crispy forms" integration

- No longer doing any back-end form rendering

* Remove django-formtools package

* Fix comment in settings.py

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2024-12-18 09:25:14 +11:00
Oliver 886d1b39cf
Remove old javascript file (#8697) 2024-12-18 09:14:45 +11:00
Matthias Mair 8fcb3c2506
Refactor auth adaptations into dedicated file (#8687)
* Update docker.yaml (#278)

* reset

* rename functions to better reflect function

* move authentication behaviour overrides to explicit file

* fix import order

* fix import path
2024-12-17 22:20:21 +11:00
Oliver acb756eacc
Remove custom context processors (#8540)
* Remove custom context processors

- Only merge after 0.17.0 release
- Remove code which injects custom context variables into CUI requests
- Not needed for new API-based PUI code
- Speeds up requests - remove unnecessary DB hits

* Remove broken import

* Remove custom staticfile processing

- No longer needed as CUI is gone
2024-12-17 13:48:43 +11:00
Matthias Mair 24f433c948
Remove CUI (#8384)
* remove CUI

* fix loading

* fix login middleware

* remove css template functions

* tmp fix for recurtion

* remove old test

* fix assertations

* fix middleware tests

* re-add plugin tags

* remove thirdpartjs

* re-add mfa urls

* remove old js

* remove cui tags

* simplify error testing

* use license endpoint for testing instead

* disable successful test

* revert de-activation

* remove references to old UI customisation

* update docs to remove reference to removed page

* disable availabilty check

* possible fix to importing problem

* Revert "possible fix to importing problem"

This reverts commit ee9fccdc8c.

* remove old get_context_data

* fix migration

* remove unused function

* remove unused stuff

* remove unused template

* fix formatting of readme
2024-12-17 12:30:41 +11:00
Matthias Mair d4be203b03
small style changes (#8681) 2024-12-17 10:31:21 +11:00
github-actions[bot] 5d2329651a
New Crowdin translations by GitHub Action (#8668)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-17 10:09:12 +11:00
Oliver 3041d9050b
Bump version number (#8677)
- Update to 0.18.0 dev
- Will likely become 1.0.0 dev
2024-12-17 09:16:38 +11:00
Oliver d42435c841
[Refactor] Barcode scanning (#8658)
* Enhance SupplierPart barcode mixin

- Provide richer response based on available data

* Add comment

* Add new fields to BarcodePOReceiveSerializer

* Add "supplier" information to serializer

* Add 'is_completed' method for PurchaseOrderLineItem

* Refactor SupplierBarcodeMixin

* Tweak error message

* Logic fix

* Fix response data

* Improved error checking

* Bump API version

* Bump API version

* Error handling

- Improve get_supplier_part method
- Error handling
- Wrap calls to external plugins

* Enhanced unit testing and exception handling

* More exception handling

* Fix circula imports

* Improve unit tests

* Adjust filtering

* Remove outdated tests

* Remove success code for matching item
2024-12-17 07:39:49 +11:00
Oliver 169f4f8350
[PUI] Order Parts Wizard (#8602)
* Add generic <WizardDrawer />

* Add a wizard hook

- Similar to existing modal form hook

* Slight refactor

* Simple placeholder table

* Only purchaseable parts

* Add callback to remove selected part

* Add step enum

* Improve wizard

* Render supplier image

* Add validation checks for wizard

* Further wizard improvements

* add error support

* Improvements

* Refactoring

* Add error checking

* Order from part detail page

* Implement from SalesOrder view

* Implement from build line table

* Implement from StockItem table

* Add to StockDetail page

* Cleanup PartTable

* Refactor to use DataTable interface

* Simplify wizard into single step

* Refactoring

* Allow creation of new supplier part

* Cleanup

* Refactor <PartDetail>

* Fix static hook issue

* Fix infinite useEffect

* Playwright tests
2024-12-16 23:07:33 +11:00
Oliver 34b70d0a39
PUI: Adjust test result table (#8667)
- Allow disable of results for "disabled" tests
- Controlled via additional table filter
2024-12-16 14:28:27 +11:00
github-actions[bot] 88ab59359f
New Crowdin translations by GitHub Action (#8654)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-16 09:50:27 +11:00
Matthias Mair 7bfd36f7cb
Refactor: Move settings definitions (and most validators) out of models.py (#8646)
* move out settings definitions

* fix import paths

* move validators into appropiate settings

* fix refactor error

* fix import paths

* move types out

* add validator tests

* add option to reload internal issues

* fix tests
2024-12-13 11:57:11 +11:00
Matthias Mair dd83735710
Fix vulnerable dependencies (#8655)
* bump container reqs

* bump vul frontend dep

* fix tests
2024-12-12 08:38:11 +11:00
Oliver 1adc42d422
Filter fix (#8652)
* Allow ordering  by IPN

* Update table
2024-12-11 15:44:00 +11:00
github-actions[bot] ad6bd635e6
New Crowdin translations by GitHub Action (#8632)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-11 15:43:47 +11:00
Oliver 3554429baa
SalesOrder Data Migration (#8585)
* Add data migration to remedy bug

* Add migration tests

* Remove faulty migration test

* Tweak filter

* Update migration file

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2024-12-11 07:52:18 +11:00
Michael 5aae93e635
Added first example to plugin unit test (#8636)
* Start documentation chapter for plugin tests

* Added env variables to the doc

* Fix style errors

* Further style bugs

* Reformat environment variables

* Reformat environment variables

* Add comments from wolflu05

* Add text to the intro

* Added first example the plugin unit test

* Addred line it function

* Typo

* Typo

* Typo
2024-12-11 07:27:44 +11:00
Oliver 64dc5659bc
Add ITEM_RECEIVED event (#8651)
* Add ITEM_RECEIVED event

- Triggered when an item is recevied against a purchase order

* Adjust unit test
2024-12-11 07:21:35 +11:00
Oliver 4a8cb6f7f3
Add IPN column to RelatedPartTable (#8650) 2024-12-10 21:23:23 +11:00
dependabot[bot] d1c06ed12a
Bump nanoid from 3.3.7 to 3.3.8 in /src/frontend (#8647)
Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.7 to 3.3.8.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.7...3.3.8)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-10 19:52:05 +11:00
dependabot[bot] 987e0272f4
Bump django from 4.2.16 to 4.2.17 in /src/backend (#8634)
* Bump django from 4.2.16 to 4.2.17 in /src/backend

Bumps [django](https://github.com/django/django) from 4.2.16 to 4.2.17.
- [Commits](https://github.com/django/django/compare/4.2.16...4.2.17)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix req

---------

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>
2024-12-09 07:37:13 +11:00
Oliver 82bce192e6
Fix URL generation error (#8630)
- Implement better helper function for handling URL generation
- Handle errors in said function
2024-12-06 14:44:13 +11:00
Oliver 9f120ef76f
Bug fix for stock transfer (#8631)
- Prevent duplication of tracking data
2024-12-06 14:41:28 +11:00
github-actions[bot] 4e36c7a2d7
New Crowdin translations by GitHub Action (#8589)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-05 19:53:16 +11:00
Oliver 744dc895e9
Fix ordering issue in notifications table (#8626) 2024-12-04 17:56:56 +11:00
Oliver 1a8b030819
[PUI] Supplier part badges (#8625)
* API fixes for SupplierPart

- Move API filtering into SupplierPartFilter class
- Correct field annotation for detail view

* Add "in stock" and "no stock" badges to SupplierPart detail

* Update details

* Annotate 'on_order' quantity for SupplierPart

* Add "has_stock" filter to SupplierPart API

* Improve API query efficiency

* Add 'has_stock' filter to table

* Update <SupplierPartDetail>

* Bump API version
2024-12-03 15:21:06 +11:00
dependabot[bot] 47b8f8fb32
Bump pyjwt from 2.10.0 to 2.10.1 in /src/backend (#8619)
* Bump pyjwt from 2.10.0 to 2.10.1 in /src/backend

Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.10.0 to 2.10.1.
- [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.10.0...2.10.1)

---
updated-dependencies:
- dependency-name: pyjwt
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix req

---------

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>
2024-12-03 14:04:39 +11:00
Matthias Mair a20fd9d231
[PUI] fix Table Context Menu Links (#8623)
* Add switch to disable context menu
Fixes #8553

* make attachment links right-clickable
2024-12-03 09:07:18 +11:00
Matthias Mair 4f3e8cb0a0
[PUI] infinite loop if classic frontend is disabled (#8614)
Fixes #8575
2024-12-02 21:42:31 +11:00
Oliver 21cd285599
[PUI] Url fixes (#8615)
* Refactor URL generation

- Use built-in URL function
- Refactor "admin" button
- Refactor API image
- Refactor printing actions
- Refactor attachment link

* Refactor URL generation for icon packs
2024-12-02 18:49:15 +11:00
Oliver 147ca53629
Build required widget (#8610)
* Implement "required for build orders" dashboard widget

* Allow dashboard widges to be optionally disabled

* Fix for enabled check
2024-12-02 13:41:31 +11:00
Matthias Mair f7697bd481
make logic simpler (#8613) 2024-12-02 10:49:28 +11:00
Matthias Mair f9487597fb
[PUI] Make dashboard header look less like a widget (#8611)
* blend in header

* move indicator
2024-12-02 10:48:44 +11:00
Michael 8ac852728e
Added a comment on database creation for local testing (#8603)
* New pic

* Marked external icon in picture

* Added a comment on database creation for unittest

* Update contributing.md

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2024-12-02 09:47:49 +11:00
Oliver 7a3ceb9d6e
Fix for hasOwn (#8600)
- Also add null check on function call
- Closes https://github.com/inventree/InvenTree/issues/8595
2024-11-30 21:32:48 +11:00
Oliver 3149ae79ce
Allow settings value to be nullified (#8596)
* Allow settings value to be nullified

* Additional null check

* Bump API version

* Fix for unit test
2024-11-30 15:30:28 +11:00
Oliver 327884ca26
[PUI] Barcode title (#8591)
* Increase query limit

* PUI: Barcode UI tweaks

- Small visual tweaks to barcode dialogs
2024-11-29 17:32:15 +11:00
Oliver 20d862e350
Return Order - Improvements (#8590)
* Increase query limit

* Add "quantity" field to ReturnOrderLineItem model

* Add 'quantity' to serializer

* Optionally split stock when returning from customer

* Update the line item when splitting

* PUI updates

* Bump API version

* Add unit test
2024-11-29 17:06:35 +11:00
Oliver dd9a6a8a2d
Event enum (#8573)
* Add enumeration for stock events

* Update function def

* Refactor build events

* Plugin events

* Update order events

* Overdue order events

* Add documentation

* Revert mkdocs.yml

* Stringify event name

* Enum cleanup

- Support python < 3.11
- Custom __str__

* Add unit tests

* Fix duplicated code

* Update unit tests

* Bump query limit

* Use proper enums in unit tests
2024-11-29 12:05:05 +11:00
Oliver 390828d166
Hide "location" column in certain conditions (#8587) 2024-11-29 10:45:24 +11:00
github-actions[bot] ced695b099
New Crowdin translations by GitHub Action (#8536)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-29 10:45:13 +11:00
Matthias Mair 7478a2853a
[PUI] Fix stock item state rendering (#8572)
* fix rendering of stock status

* update api to support custom status

* Revert "update api to support custom status"

This reverts commit e7ff5aa398.
2024-11-29 07:48:19 +11:00
Oliver db128f9322
Bug fix: record shipment date (#8580)
* Bug fix: record shipment date

- Ref: https://github.com/inventree/InvenTree/pull/6449

* Update unit test
2024-11-28 15:48:06 +11:00
Oliver 49cb63cb54
Add "stock" table to "category" page (#8579)
- Ref: https://github.com/inventree/InvenTree/discussions/8578
2024-11-28 15:15:04 +11:00
Oliver c074250ce6
Stock Transfer Improvements (#8570)
* Allow transfer of items independent of status marker

* Update test

* Display errors in stock transsfer form

* Add option to set status when transferring stock

* Fix inStock check for stock actions

* Allow adjustment of status when counting stock item

* Allow status adjustment for other actions:

- Remove stock
- Add stock

* Revert error behavior

* Enhanced unit test

* Unit test fix

* Bump API version

* Fix for playwright test

- Added helper func

* Extend playwright tests for stock actions
2024-11-28 07:06:58 +11:00
Oliver 28ea275d1a
Consumed filter (#8574)
* Add API filter for 'consumed' status

* Add filter to table

* Bump API vession
2024-11-28 00:59:14 +11:00
Oliver a48d23b161
Set status when returning from customer (#8571)
* Set status when returning from customer

* Fix default customer for return order table

* Set status when receiving items against a ReturnOrder

* Bump max query time for currency endpoint

* Bump API version
2024-11-28 00:09:18 +11:00
Oliver 81e87a65e2
[PUI] Fix stock actions (#8569)
* Fix useAssignStockItems

- Only allow "salable" parts

* Assign item to customer

* Adjust playwright tests
2024-11-27 15:01:07 +11:00
Matthias Mair af39189e7e
Add SelectionList concept (#8054)
* Add SelectionList model, APIs and simple tests

* Add managment entries

* Add field to serializer

* add more tests for parameters

* Add support for SelectionList to CUI

* Add selection option to PUI

* fix display

* add PUI admin entries

* remove get_api_url

* fix modeldict

* Add models for meta

* Add test for inactive lists

* Add locking and testing for locking

* ignore unneeded section

* Add PUI testing for adding parameter

* Add selectionList admin

* also allow creating entries

* extend tests

* force click

* and more testing

* adapt test?

* more assurance?

* make test more robust

* more retries but shorter runs

* Update playwright.config.ts

* Add docs

* Add note regarding administration

* Adapt to https://github.com/inventree/InvenTree/pull/8093

* make help text more descriptive

* fix migration

* remove unneeded UI entries

* add lables and describtions to TableFields

* factor out selectionList forms

* add key to button

* cleanup imports

* add editable fields

* Add function to add row

* fix render warning

* remove dead parameter

* fix migrations

* fix migrations

* fix format

* autofix

* fix migrations

* fix create / update loop

* fix addition of empty lists

* extend tests

* adjust changelog entry

* fix updating loop

* update test name

* merge migrations

* simplify request

* - Add entry count to list
- Move parameter table to default accordion

* fix test

* fix test clearing section

---------

Co-authored-by: Oliver Walters <oliver.henry.walters@gmail.com>
2024-11-27 13:30:39 +11:00
Oliver 20fb1250f8
Add new report filters for accessing database tables (#8560)
* Add new report filters for accessing database tables

* Simplify

* Handle exception

* Add docs

* Update docstrings
2024-11-27 07:51:27 +11:00
Oliver 368f3b7bd4
Remove regex dependency (#8547)
* Remove regex from requirements file

* Fix order of operations

- Remove hidden chars before removing HTML tags

* Remove requirement for regex package

* Additional unit tests

* Remove debug msg

* Fix for newline removal

* Fix variable shadowing

* Defer import of PIL.Image
2024-11-26 20:29:51 +11:00
Oliver 9d2ca5e617
Set null location on stock item: (#8565)
- When consumed by a build order
- When shipped to a customer
2024-11-26 20:29:37 +11:00
Oliver 7b1b476851
Handle pre-rendering when classic frontend is disabled (#8563) 2024-11-26 20:29:19 +11:00
Oliver 86c4a67bf3
Add location when creating multiple serials (#8564) 2024-11-26 20:29:07 +11:00
Matthias Mair 594dc49b84
Bump backend deps (#8559)
* bump backend deps

* bump api
2024-11-26 09:25:06 +11:00
Matthias Mair 5cda270e4b
Small SAST fixes (#8534)
* fix various middle-high SAST errors

* fix another small issue

* add default
2024-11-26 09:15:44 +11:00
Matthias Mair 0f194af585
Fix spelling of InvenTree in code base (#8561)
* fix spelling of InvenTree in code

* fix spelling in frontend
2024-11-26 08:29:47 +11:00
Oliver d26a683cf1
Add unit test (#8550)
- Unit test to ensure event is fired when stock item is created OR updated
- Ref: https://github.com/inventree/InvenTree/pull/8546
- Ref: https://github.com/inventree/InvenTree/issues/8452
2024-11-25 22:43:17 +11:00
Oliver 51d981a102
Add playwright tests (#8549)
- Add checks for invalid logins
2024-11-25 22:34:35 +11:00
Volker ee9980e481
after_save_stock_item (#8546)
This pull request addresses the issue discussed in #8452
2024-11-25 22:02:22 +11:00
Oliver 809a978f7d
API date filter updates (#8544)
* Add 'stocktake_before' and 'stocktake_after' filters for StockItem API

* Enable new filters for StockItemTable

* Update CUI table filters

* Add more date filter options for orders

* Add date filters to BuildList

* Update BuildOrderTable filters

* Add more order date filters

* Cleanup PurchaseOrderFilter code

* Implement more PUI table filters

* Add "Completion Date" column to PurchaseOrderTable

* Update ReturnOrderTable

* Add 'text' option for TableFilter

* filter state management

* Bump API version

* Sorting for table filters

* Add playwright tests for stock table filtering

* Playwright updates

- Add some helper functions for common operations

* Refactoring for Playwright tests
2024-11-25 21:36:31 +11:00
Matthias Mair 66a769edca
[PUI] SSO improvments (#8527)
* disable PUI SSO login button if not fully set up
see https://github.com/inventree/InvenTree/issues/7972

* refactor provider urls to also support oidc providers

* cleanup
2024-11-25 07:25:39 +11:00
Oliver e2e0ecc674
Remove dummy migration file (#8537) 2024-11-22 09:51:44 +11:00
Jacob Felknor 94089c94b7
Add PO wildcard default setting (#8532)
* add PO wildcard default setting

* Revert "add PO wildcard default setting"

This reverts commit 6cc577fa73.

* use custom format spec for "wildcard with default" reference pattern

* add wildcard with default to docs

* add test for wildcard with default
2024-11-22 09:27:06 +11:00
github-actions[bot] 6250901c2f
New Crowdin translations by GitHub Action (#8491)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-21 15:00:52 +11:00
Oliver 01aa8bb2ba
Plugins installation improvements (#8503)
* Append plugins dir to pythonpath

* Error handling in plugin helpers

* Install plugin into "plugins" directory

* Use plugins dir when installing from plugins.txt

* Implement removal of plugin from plugins dir

* Remove the dist-info dirs too

* Cleanup

* Catch errors

* Specify plugin location for CI

* Remove plugins.txt support

* Improve regex for plugin matching

* Revert "Remove plugins.txt support"

This reverts commit 0278350351.

* Remove PLUGIN_ON_STARTUP support

* Better error catching for broken packages

* Cleanup

* Revert "Cleanup"

This reverts commit a40c85d47d.

* Improved exception handling for plugin loading

* More logging

* Revert uninstall behaviour

* Revert python path update

* Improve check for plugins file

* Revert check on startup

* Better management of plugins file

- Use file hash to determine if it should be reloaded

* Fix docstring

* Update unit tests

* revert gh env

* No cache

* Update src/backend/InvenTree/plugin/installer.py

Co-authored-by: Matthias Mair <code@mjmair.com>

* Use hashlib.file_digest

* Remove --no-cache-dir

* Revert "Use hashlib.file_digest"

This reverts commit bf84c8155e.

* Add note for future selves

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2024-11-21 07:38:26 +11:00
Oliver 13440a6eed
Better handling for undefined values in SettingsList (#8531) 2024-11-20 20:17:30 +11:00
Oliver 41a9b6897a
Cleanup format_number (#8529)
-  Removed unused line
2024-11-20 12:26:13 +11:00
Matthias Mair ad6f8596eb
fix refreshInstance type and remove return (#8478)
* fix refreshInstance type and remove return

* Add seperate refresh function with promise as return

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2024-11-20 09:38:59 +11:00
Oliver 3a81e0380d
Improve plugin panels (#8523)
* Improve plugin panels

- Do not prepend plugin name unless necessary
- Allows for "cleaner" navigation URLs

* Fix typo
2024-11-20 09:28:02 +11:00
Matthias Mair 4aa7c59f5b
Bump backend linting deps (#8526)
* upgrade deps

* bump eslint
2024-11-20 08:54:37 +11:00
Oliver 7fcf068f05
Relation update (#8524)
* Add "note" field to PartRelated model

* Improved API

* Add field to serializer

* Implement in RelatedPartTable

* Bump API version
2024-11-20 08:54:19 +11:00