Commit Graph

1623 Commits

Author SHA1 Message Date
Oliver 20477fbfcc
Plugin sequence fix (#10057)
* Fix error message

* Add registry ready flag

* Add is_ready func

* Cleaner init code

* Protect against plugin access until ready

* Add decorator for registry entrypoint funcs

* Tweak return value

* Only add plugin URLs if registry is ready

* Fix load logic

* Refactor @registry_entrypoint decorator

* Tweak

* Typing

* Reimplement is_ready property
2025-07-23 18:54:26 +10:00
Oliver 73231ce921
[ui] Enable form auto-fill (#10061)
* Enable form auto-fill

- If a single value is available, pre-fill
- Must be enabled per-field

* Tweak playwright tests for increased reliability

* Fix deps
2025-07-23 18:32:04 +10:00
Oliver 89279ef091
[bug] Part param edit (#10059)
* Fix for BooleanField

- Ensure that an "undefined" value reads "false" by default

* Tweak part parameter form

* Enhanced playwright tests

* Better boolean field management

* Update src/frontend/src/forms/PartForms.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/frontend/src/components/forms/ApiForm.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-23 18:31:39 +10:00
Oliver 283d5d6050
[ui] Better formatting for badges (#10060)
* Better formatting for badges

* Stock detail too
2025-07-23 13:19:33 +10:00
dependabot[bot] 998054a9b4
chore(deps): bump form-data from 4.0.0 to 4.0.4 in /src/frontend (#10055)
---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-22 15:22:46 +10:00
dependabot[bot] 8f1f03ed1c
chore(deps): bump the dependencies group across 3 directories with 6 updates (#10035)
* chore(deps): bump the dependencies group across 3 directories with 6 updates

Bumps the dependencies group with 1 update in the /contrib/dev_reqs directory: [jc](https://github.com/kellyjonbrazil/jc).
Bumps the dependencies group with 2 updates in the /docs directory: [mkdocs-include-markdown-plugin](https://github.com/mondeja/mkdocs-include-markdown-plugin) and [mkdocs-material](https://github.com/squidfunk/mkdocs-material).
Bumps the dependencies group with 3 updates in the /src/backend directory: [django-allauth[mfa,openid,saml,socialaccount]](https://github.com/sponsors/pennersr), [pypdf](https://github.com/py-pdf/pypdf) and [sentry-sdk](https://github.com/getsentry/sentry-python).


Updates `jc` from 1.25.4 to 1.25.5
- [Release notes](https://github.com/kellyjonbrazil/jc/releases)
- [Changelog](https://github.com/kellyjonbrazil/jc/blob/master/CHANGELOG)
- [Commits](https://github.com/kellyjonbrazil/jc/compare/v1.25.4...v1.25.5)

Updates `mkdocs-include-markdown-plugin` from 7.1.5 to 7.1.6
- [Release notes](https://github.com/mondeja/mkdocs-include-markdown-plugin/releases)
- [Commits](https://github.com/mondeja/mkdocs-include-markdown-plugin/compare/v7.1.5...v7.1.6)

Updates `mkdocs-material` from 9.6.14 to 9.6.15
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.14...9.6.15)

Updates `django-allauth[mfa,openid,saml,socialaccount]` from 65.9.0 to 65.10.0
- [Commits](https://github.com/sponsors/pennersr/commits)

Updates `pypdf` from 5.7.0 to 5.8.0
- [Release notes](https://github.com/py-pdf/pypdf/releases)
- [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/py-pdf/pypdf/compare/5.7.0...5.8.0)

Updates `sentry-sdk` from 2.32.0 to 2.33.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.32.0...2.33.0)

---
updated-dependencies:
- dependency-name: jc
  dependency-version: 1.25.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: mkdocs-include-markdown-plugin
  dependency-version: 7.1.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: mkdocs-material
  dependency-version: 9.6.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: django-allauth[mfa,openid,saml,socialaccount]
  dependency-version: 65.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: pypdf
  dependency-version: 5.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: sentry-sdk
  dependency-version: 2.33.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

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

* fix style

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2025-07-22 10:38:34 +10:00
Matthias Mair 87cac2ea14
bump @tabler/icons-react to fix occaisonal reload issues (#10050)
Ref https://github.com/tabler/tabler-icons/issues/1233
2025-07-22 07:36:18 +10:00
Matthias Mair 48ea6a1d26
fix(backend): remove coreapi (#10051)
* remove coreapi
Fixes coreapi warning #10021

* re-add jinja
2025-07-22 07:35:36 +10:00
Oliver dbf11d4b01
Check user permissions for dashboard items (#10047)
Ref: https://github.com/inventree/InvenTree/discussions/10046
2025-07-20 20:02:07 +10:00
Oliver 69ca942dfc
BOM Enhancements (#10042)
* Add "round_up_multiple" field

* Adjust field def

* Add serializer field

* Update frontend

* Nullify empty numerical values

* Calculate round_up_multiple value

* Adjust table rendering

* Update API version

* Add unit test

* Additional unit test

* Change name of value

* Update BOM docs

* Add new fields

* Add data migration for new fields

* Bug fix for data migration

* Adjust API fields

* Bump API docs

* Update frontend

* Remove old 'overage' field

* Updated BOM docs

* Docs tweak

* Fix required quantity calculation

* additional unit tests

* Tweak BOM table

* Enhanced "can_build" serializer

* Refactor "can_build" calculations

* Code cleanup

* Serializer fix

* Enhanced rendering

* Updated playwright tests

* Fix method name

* Update API unit test

* Refactor 'can_build' calculation

- Make it much more efficient
- Reduce code duplication

* Fix unit test

* Adjust serializer type

* Update src/backend/InvenTree/part/models.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/backend/InvenTree/part/test_bom_item.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update docs/docs/manufacturing/bom.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update docs/docs/manufacturing/bom.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Adjust unit test

* Adjust tests

* Tweak requirements

* Tweak playwright tests

* More playwright fixes

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-20 19:14:29 +10:00
Oliver 31d4a88f90
[UI] Various fixes (#10038)
* Fix badge wrapping

* Move revision selector

- Simplify top header

* Remove "detail" attribute from <PageDetail>

* Implement "FORMS_CLOSE_USING_ESCAPE" option

* Implement "STICKY_HEADER" setting

* Remove unused setting

* Improved badge layout

* Sticky header fix
2025-07-18 11:36:04 +10:00
Oliver e6f18db800
Fix rendering glitch in tables (#10041)
* Fix rendering glitch in tables

- Table render could glitch based on cached column order
- React does not handle array dependencies well sometimes
- Change when column order is recalculated

* Simplify effect chain

- Memoize columns order
- Simply overwrite with columns order
2025-07-18 11:28:41 +10:00
Oliver 476fcc676a
Remove debug message (#10040) 2025-07-18 07:17:43 +10:00
Oliver a9c8c47e60
[UI] Part requirements (#10036)
* Tweak SalesOrderAllocations table

* Refactor "include_variants" filter

* Improved API filtering for "SalesOrderLineItem" endpoint

* Fetch part detail for table

* Fix email template

- Referenced template which does not exist

* Refactor the "requirements" endpoint

- Include variant part requirements too

* Updated starred notifications

* Adjust column name

* Update PartDetail

- Extract information from partRequirements query first

* Cache BOM items

* Improve PartDetail page

* Enhance isGeneratingSchema

- Call inspect as late as possible

* Adjust PartDetail

* Improve BuildOrderAllocations table

* Exclude common.newsfeedentry when exporting

* Updated playwright tests

* Bump API version
2025-07-18 00:00:33 +10:00
Oliver 995c3ff5e7
Tweak panel behaviour (#10030)
- Always separate "plugin provided" panels
2025-07-16 13:55:16 +10:00
Oliver 31eabc9bea
Change order of operations for MPTT delete (#10029)
- Refresh first, before accessing data
2025-07-15 23:27:25 +10:00
Oliver b7d3da59c0
Logic fix for plugin.is_active (#10026)
* Logic fix for plugin.is_active

- Previously were not considering the "mandatory" attribute

* Fix unit tests

* Allow more queries

* Fix unit tests
2025-07-15 23:23:05 +10:00
Oliver d99ec3e1a1
PartParameter updates (#10023)
* Add mixin for storing user who last updated an instance

* Add mixin to "PartParameter" model

* Fix typo

* Fix strings

* Refactor mixin class

* Update part parameter table:

- Add "user" filter
- Add "updated_by" column
- Add "update" column
- Add "note" column

* Fix for updating date

* Add user information when saving parameter

* small refactors

* Bump API version

* Add unit test for "updated" and "updated_by" fields

* Check for 'note' field

* Update docs image
2025-07-15 22:34:07 +10:00
Oliver 75ab57bc0b
[UI] Build page tweak (#10027)
* Hide "consumed stock" panel if not required

* Docs updates

* Hide allocation fields if the build has no required parts

* Additional serializer options
2025-07-15 18:27:09 +10:00
Oliver 42abc61494
Improve RenderStockItem (#10028)
- Display "available" quantity if some has been allocted
2025-07-15 18:26:48 +10:00
Oliver 24bff424d9
MPTT rebuild tweak (#10020)
* More efficient call

* Tree save fix

- Do not rebuild tree when not required
- Reduce DB count for API test

* Reduce query count even further

* Reduce query limit for other tests

* Fix for parent getter

* Added condition

* Remove duplicate check

* Don't pre-fill tree values

* perform atomic delete

* Adjust unit tests
2025-07-15 14:48:02 +10:00
Oliver f12479dd37
[UI] Improve formatting functions (#10025)
* Improve formatting functions

- Add try/catch around formatting functions
- Better logic for default values

* Change fallback logic
2025-07-15 14:33:08 +10:00
Oliver 471b8c239f
[UI] Sales order fixes (#10024)
* Fix stock item reference

* Allow edit from allocated items sub-table
2025-07-15 13:00:33 +10:00
sufyan-mukadam dcaf7cf7d7
feat: add tax_id field to Company model and related forms (#9673)
* feat: add tax_id field to Company model and related forms

* Update 0075_company_tax_id.py to fix typo

* Update models.py to fix typo

* Update tests.py to increment 'column_mappings.count()' to 15

* Update api_version.py
2025-07-15 09:00:46 +10:00
Oliver d62ac38cb1
Unit test fixes (#10019)
* Add --keepdb option for unit test

* Reduce server launch overhead

- isGeneratingSchema was EXPENSIVE
- Running a single unit test reduced from 30s to 3s

* Option to disable check
2025-07-15 01:30:58 +10:00
Oliver ea00a50dfd
Remove search on "Pending Tasks" table (#10018)
- Pending tasks are encoded into payload
- None of the interesting fields are searchable
2025-07-15 00:14:18 +10:00
Oliver 9f715337ec
Stock serialize tweaks (#10017)
* Better item extraction

* Improve query efficiency

* Further queryset improvements

* Return correct data format

* Test with hugh number of serials

* Improve serialization UX

* Revert changes to unit tests
2025-07-15 00:00:38 +10:00
Oliver 22218fd5c6
[bug] Tree fix (#9979)
* Refactor InvenTreeTree model structure

- Allow for tree with null items

* Refactor pathstring

* Factor pathstring out into a separate mixin

- Keep tree operations separate (in InvenTreeTree)
- Pathstring operations are now in PathStringMixin

* throw error

- Ensure that this func gets removed in future commit

* Fix node delete code

* Migrate "Build" model to new structure

* Add unit tests for Build tree structure

* Refactor StockLocationTreeTest

* Implement tree rebuild test for StockItem model

* Add unit test for stock item serialization

* Refactor "Part" model to use mixin

* Add unit tests for part variant tree

* Add test for node deletion

* Adjust unit tests

* Ensure items are not created with null tree_id

* Further unit tests and updates

* Fix unit tests

* Remove duplicate check

* Adjust build fixture

* Remove rebuild call

* Fixing more tests

* Remove calls to rebuild part tree

* Add test for tree fixtures

* Report tree rebuild errors to sentry

* Remove helper func

* Updates for splitStock

* Cleaner inheritance

* Simpilfy test

- tree_id is somewhat ephemeral

* Handle null parent

* Enforce partial rebuild if parent changes

* Fix

* Remove hard-coded "parent" references

* Fix order of delete operations

* Fix unit test

* Unit test tweaks

* Improved handling for deleting a root node

* Only set tree_id if not already specified

* Only rebuild valid tree_id values

* Cast to list

* Adjust unit test

- Test values were wrong, due to bad data in fixtures

* Do not bulk delete

- mysql no likey

* Enhanced rebuild logic

* Fix for unit test

* Improve logic for _create_serial_numbers

* Unit test fix

* Remove unused function
2025-07-13 21:27:32 +10:00
github-actions[bot] 1db6d2afbe
New Crowdin translations by GitHub Action (#9993)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-13 18:57:08 +10:00
Matthias Mair b351fb7483
feat(backend): improve comms around registration (#9932)
* use better email check

* add error code for missing email settings

* Add note when not registration is enabled

* fix wrong call

* fix tests - might be worth checking if the blank check for testing is a good idea

* capture issues and print to find out what the duck is going on

* exend log

* fix context check
2025-07-13 09:20:45 +10:00
Oliver a2e06d1fee
Reduce plugin component reloads (#10010) 2025-07-12 00:09:35 +10:00
Oliver b571e9e2d1
UI changelog (#10008) 2025-07-11 22:33:41 +10:00
Oliver fa62c9500b
Fix for <RemoteComponent> (#10007)
- Prevent multiple creation of root node
- Fixes error message in browser console
2025-07-11 21:33:36 +10:00
Oliver d3f24bc529
[plugin] Instance rendering (#10006)
* Move instance render types into @lib

- Expose type definitions

* Expose rendering function to the plugin context
2025-07-11 20:57:15 +10:00
Oliver 786fd846ba
Add option for pointing plugin content to a vite host (#10005) 2025-07-11 19:57:53 +10:00
Oliver 6d686cc319
Use LocationColumn in PurchaseOrderLine table (#10004) 2025-07-11 16:13:46 +10:00
Oliver 88f05ce434
Plugin source URLs (#10000)
* Better handling of URLs when loading plugin source

- Handle complex URLs more cleanly
- Support loading from actual external host
- Support loading with specified port

* Fix URL rendering - handle "local" and "remote" components

* Use default host if not provided

* Simplify code
2025-07-11 13:58:16 +10:00
Matthias Mair 4d446198b6
fix(backend): missing scope (#10001)
* move permission and fix scope

* add a way to only use scopes for doc purposes

* add a check to stop this from happening again

* bump api version
2025-07-11 08:45:55 +10:00
Matthias Mair df6965088f
bump backend deps (#10003) 2025-07-11 08:44:33 +10:00
Oliver d137728e60
Refactor more UI components out into lib directory (#9994)
* Refactor table column types

* Offloading more component type definitions

* Remove unused funcs

* Move conversion functions

* ActionButton

* Refactor YesNoButton

* ProgressBar

* make row actions available

* search input

* ButtonMenu

* Bump UI version

* Tweak function defs
2025-07-10 06:54:53 +10:00
Oliver c6166d7c4a
Import fix 2 (#9992)
* Fix return types

* Add getStatusCodeLabel func

* Fix logic for import session drawer

- Properly re-fetch session data
- Rendering improvements

* Fix icon

* API permission fixes

* Enhanced playwright testing

* Fix playwright tests

* Tweak playwright tests

* Remove unused var

* Tweak playwright tests
2025-07-09 23:32:00 +10:00
Oliver 7ff2ca914a
BOM filter by category (#9989)
* Add "category" filter for BomItem API endpoint

* Filter BOM table by part category

* Tweak filter label

* Bump API version

* Schema annotation

* Fix playwright test
2025-07-09 21:46:07 +10:00
github-actions[bot] 6f08bdca46
New Crowdin translations by GitHub Action (#9963)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-09 14:08:59 +10:00
Oliver 227be54ff6
Tweak error message (#9985) 2025-07-09 11:37:17 +10:00
gunstr 223287b1e1
Add setting to show location path as plain text in tables (#9960)
* Add setting to show location path as plain text in tables

* Use the Location Path setting also for Default Location in the PartTable

* Add setting to show PartCategoty as plain text

* Set DefaultLocationColumn defaultVisible to false

* Fix typo

* Simplify settings keys

* Simplify the name attribute

* Fix typo

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-07-09 11:19:05 +10:00
Oliver b6c8db56fb
Data output table (#9984)
* Allow DataOutput to be deleted individually via API

* Add row actoins for data-export table

* Filter table by user

* Bump API version
2025-07-09 11:18:51 +10:00
Oliver c96d2200dc
Simplify API call mixin (#9983)
- Probably something on the remote API changed
2025-07-09 10:41:42 +10:00
Matthias Mair f655250947
fix(frontend): Move mail settings to operations (#9978) 2025-07-08 17:24:15 +10:00
Matthias Mair e788989b19
fix(frontend): add URL overview to more models (#9977) 2025-07-08 17:23:59 +10:00
Oliver 7e1c51358b
Allow sub-builds to be created for pending builds (#9972) 2025-07-07 16:25:14 +10:00
Oliver 527e6ac317
[bug] Build output fix (#9971)
* Wrap filter in list

* Add unit test for auto_allocate functionality
2025-07-07 15:35:11 +10:00
Oliver b03a53c7cd
[UI] Allocation tweaks (#9970)
* Hide row actions if not in production

* Refetch allocations on change
2025-07-07 15:12:05 +10:00
Oliver 33e1c58ed9
StockItem Serialization Improvements (#9968)
* Add "serialize" form to build output table

* Fix dependencies for useGenerator hook

* Improve serializing of stock

- Copy test results
- Ensure fields get copied across

* Fix rendering for StockItemTestResultTable

* Enhanced playwright test

* Fix code

* Fix for unit test
2025-07-07 13:48:58 +10:00
Oliver 1bbbde0b22
Fix useEffect dependencies (#9967)
- Passing an array to a useEffect dependency list apparently is problematic
2025-07-07 10:07:34 +10:00
github-actions[bot] e19e5eb029
New Crowdin translations by GitHub Action (#9959)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-06 19:39:35 +10:00
Oliver 042039754b
[bug] Data import fix (#9962)
* Permission fix for data importer endpoint

* Add playwright tests

* Bump API version
2025-07-06 18:22:37 +10:00
Oliver 945cb46f32
[bug] Logic fix for plugins (#9934)
* Logic fix for plugins

- Prevent tasks being run for disabled plugins

* Adjust default value for "get_plugin" method

* Fix return type

* Update typing

* Tweak unit test

* Update unit tests

* More test updates
2025-07-06 10:15:33 +10:00
Oliver 82dfe561ee
[feature] Disable pricing task (#9730)
* Add setting to control pricing auto-update

* Auto pricing updates depend on global setting

* Tweak menu layout

* Fix typo

* Skip pricing task

* Tweak serializer

* Updated docs

* Update logic around automatic pricing updates

* Logic fix

* Remove daily holdoff
2025-07-05 11:16:42 +10:00
github-actions[bot] 925807e06b
New Crowdin translations by GitHub Action (#9919)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-04 17:21:56 +10:00
Oliver 383925de4e
Logic fix for LOCK_SETTING (#9948)
* Logic fix for LOCK_SETTING

- Because the setting is to "allow editing", it is really an UNLOCK setting
- This setting had to be DISABLED (false) to allow editing of completed orders

* Updated logic

* Tweak unit tests
2025-07-04 11:44:33 +10:00
Oliver 6453abb974
User token table (#9954)
* Tweak layout of Token dialog

* Render user details in API token table

* Bump API version
2025-07-04 11:38:21 +10:00
Oliver ada346d339
Improved login screens (#9953)
- Fix shadow offset
- Simplify Wrapper component
2025-07-04 11:14:33 +10:00
Oliver 3d9291d95f
[bug] Allocated items print fix (#9952)
* Fix label printing for SalesOrderAllocation table

- Need to provide custom lookup option

* Add label actions to BuildOrderAllocationTable
2025-07-04 10:38:51 +10:00
Oliver e7b27c9e2f
[UI] Location filter (#9939)
* Filter incomplete outputs by location

* Filter build allocated stock by location

* Filter sales order allocations by location

* Bump API version

* Fix API version

* Fix annotations
2025-07-04 10:24:12 +10:00
Oliver a954555eb7
Fix for table filtering logic (#9949)
* Fix for table filtering logic

- Disable table filters if custom filters supplied
- Handle search term better

* Logic Fix

* Tweak unit test
2025-07-04 10:24:02 +10:00
Oliver 4307e6d170
Allocation search by IPN (#9944)
* Fix for "has_ipn" filter

* Enable filtering and sorting by IPN in SalesOrderAllocation table

* Bump API version
2025-07-03 16:53:46 +10:00
Oliver d9f71ca20f
[UI] Refactor stock adjustment actions (#9937)
* Refactor stock actions into a hook

* Cleanup hooks

* Allow transfer of "incomplete" outputs

* Simplify even further

* Enable transfer of stock allocated to build order

* Remove StockItemBriefSerializer entirely

* stock actions for items allocated to sales order

* Refactor <PartDetail> page

* Refactor <StockDetail>

* Refactor <LocationDetail>

* Bump API version

* Control serializer arguments
2025-07-03 16:15:06 +10:00
Oliver 5e9a8f7cb2
[UI] Sales order button (#9938)
* Refactor stock actions into a hook

* Cleanup hooks

* Allow transfer of "incomplete" outputs

* Simplify even further

* Enable transfer of stock allocated to build order

* Remove StockItemBriefSerializer entirely

* stock actions for items allocated to sales order

* Refactor <PartDetail> page

* Refactor <StockDetail>

* Refactor <LocationDetail>

* Bump API version

* SO button text

- Observe the "SALESORDER_SHIP_COMPLETE" value

* Fix palywright tests
2025-07-03 15:22:23 +10:00
Oliver 7ceee940d3
[UI Order detail tweaks (#9947)
* Build detail tweak

- Display clearer information about assembled part

* Tweak subtitle for PO

* Update SalesOrder

* Tweak return order
2025-07-03 14:25:21 +10:00
Oliver cdd977abaa
Tweak "auto_allocate" serial numbers (#9942)
- Allow "in production" items
- Enables allocation of child builds
2025-07-03 14:25:02 +10:00
Oliver 8e330868f6
[UI] Notification Drawer (#9940)
- Handle error case
- Visual updates
2025-07-03 13:33:05 +10:00
Oliver 305b253417
[UI] Fix table column ordering (#9945)
* Fix table column ordering

- Ensure that table columns are always rendererd in the correct order

* Cleanup code

* Adjust col order
2025-07-03 13:32:53 +10:00
Oliver ededeeee00
Bug fix for build output table (#9946)
- Ensure records are cleared after bulk operation
2025-07-03 13:32:41 +10:00
Oliver ee3a574029
[UI] Build order visual enhancements (#9931)
* Adjust UI wording

- Separation between "items" and "stock"

* Add info panel if build order has no required items

* Fixes for playwright testing

- Ensure cookies are completely cleaned  between sessions
- Fix base URL based on vite command
- Fix samesite cookie mode
- Prevent /static/ files being served by web server on :8000

* Remove gunicorn option

* Fix unit test

* Readjust base URL

* Simplify doCachedLogin

* Adjust text

* Ensure translations are extracted

- Otherwise, playwright will not find the right strings...

* Make admin test more reliable

* Remove asynciness

* Fix <AttachmentLink>

- Allow null "attachment" value

* Better implementation

* Cleanup
2025-07-03 12:15:22 +10:00
Oliver ccc62255c4
Additional filters for incomplete build outputs (#9943) 2025-07-03 10:57:15 +10:00
Oliver 8b74a40ad5
[UI] Sales Order tweak (#9935)
* Allow report generation from sales order allocation view

* Fix model target
2025-07-02 23:18:47 +10:00
Oliver 3f14ae3f7d
[bug] Playwright fixes (#9933)
* Fixes for playwright testing

- Ensure cookies are completely cleaned  between sessions
- Fix base URL based on vite command
- Fix samesite cookie mode
- Prevent /static/ files being served by web server on :8000

* Remove gunicorn option

* Readjust base URL

* Simplify doCachedLogin

* Fix logic func

* Revert webserver cmd

* Set base URL in playwrightconfig file

* Fix URL checks

* Fix URL definitions

* adjust playwright base URL

* Tweak for URL helper

* Further login tweaks

* Tweak test

* wait for API before starting tests

* Handle error

* Adjust login functions

* Don't use gunicorn

- But still use the webserver to serve static files in CI

* Enhanced login functions

* Tweak login tests

* Fix broken test

* Flipped the flippies
2025-07-02 22:12:17 +10:00
dependabot[bot] 2ce7e225ad
chore(deps): bump pillow from 11.2.1 to 11.3.0 in /src/backend (#9929)
* chore(deps): bump pillow from 11.2.1 to 11.3.0 in /src/backend

Bumps [pillow](https://github.com/python-pillow/Pillow) from 11.2.1 to 11.3.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/11.2.1...11.3.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-version: 11.3.0
  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-07-02 17:55:49 +10:00
Matthias Mair dea8b4f0ad
fix(backend) : use correct settings patching (#9910)
* fix(backend): use correct settings patching

* and more fixes

* fix context in test

* add better test for cors
2025-07-02 10:35:27 +10:00
Matthias Mair 252c74ab9f
fix(frontend): logic error in display of registration option (#9930)
* fix(frontend): logic error in display of registration option
Fixes #9921

* simplify logic
2025-07-02 09:27:49 +10:00
Oliver e6f91517c3
Log errors during tree rebuild (#9927)
* Log errors during tree rebuild

* Ensure stock tree is rebuilt

* Update models.py

Fix call to rebuild_stock_tree

* Update models.py

style fixes
2025-07-02 00:07:54 +10:00
Oliver e693c93c08
[UI] Reduce flicker when reloading detail instance (#9926)
* UI improvement for column selection in tables

- Limit max height of dropdown

* Allow retry for instance query

* Prevent flickering when reloading instance

- Don't hide the children
- Just put a loading overlay on top

* Enhanced rendering for <InstanceDetail>

* Refactor other pages

* remove unused attributes
2025-07-01 23:03:45 +10:00
Oliver 0683140278
UI improvement for column selection in tables (#9925)
- Limit max height of dropdown
2025-07-01 22:03:22 +10:00
Oliver 803b688ed7
Prevent dashboard updates if tab not visible (#9924)
* Prevent dashboard updates if tab not visible

* Uncomment code
2025-07-01 21:59:53 +10:00
Oliver 2d03d1d7eb
Tweak thumbnail hover (#9923)
- Adjust positioning
- Slower to open
- Quicker to close
2025-07-01 21:42:06 +10:00
Oliver 2ee00c80f5
Enhance "path" columns (#9918)
* Enhance "path" columns

- Show "short" version
- Hovercard for full "pathstring"

* Remove old code

* adjust unit tests
2025-07-01 21:31:25 +10:00
gunstr 0f407f7dbb
Replace the url with a clickable icon for link columns in tables (#9922) 2025-07-01 21:28:32 +10:00
Oliver a38f1803a9
Fix vertical scrolling for table filter select (#9920) 2025-07-01 16:09:43 +10:00
Oliver 6a7d04d0e6
Load calendar on first render (#9916)
Ensure that calendar views submit an API request on first load
2025-07-01 12:25:04 +10:00
Oliver 038337b17d
Dashboard widgets refresh automatically (#9917) 2025-07-01 01:58:36 +00:00
Oliver 7c00bd7df3
Add part info to "Build Order Allocations" table (#9915) 2025-07-01 11:51:59 +10:00
Oliver e96e78cf0d
Fix for URL redirect (#9914)
- Need leading / to ensure absolute path
2025-07-01 11:22:11 +10:00
github-actions[bot] 3482ab4956
New Crowdin translations by GitHub Action (#9903)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-01 10:51:22 +10:00
Matthias Mair 92c92d60e7
[FR] Add proactive system check for site_url (#9895)
* [FR] Add proactive system check for site_url
Fixes #7847

* fix enviroment for tests

* fix admin tests and make them more robust

* improve tests for admin actions

* add test for all scenarios

* use right http error code

* fix error code

* remove dependency on bundle

* fix test
2025-07-01 09:12:48 +10:00
Oliver 83b524f808
Negative annotations (#9909)
* Fix for "annotated_scheduled_to_build_quantity"

* Further annotation updates

* Add unit testing for annotation

* Tweak unit test

* Cast annotated expression

* Specific fields required to work

* Refactor other instances

* Update API docs
2025-07-01 08:57:27 +10:00
Oliver 67a5e4880e
Remove unused field (#9908) 2025-06-30 13:49:52 +10:00
Oliver 1abf9b30dd
[UI] Hover image (#9907)
* Add "hover image" for part display in tables

* Refactor company column
2025-06-30 13:49:43 +10:00
Oliver 8c6cacae66
Tweak expand icon for panels (#9905)
- Better layout
- Add tooltip
- Add divider
2025-06-30 13:14:37 +10:00
Oliver 52997d022a
[UI] Dashboard Update (#9904)
* Prevent clicks when editing dashboard items

* Tweak playwright test
2025-06-30 12:30:09 +10:00
Oliver 41b0490071
[UI] Build test results fix (#9906)
* Fix event handler

* Make icon more clickable
2025-06-30 11:56:27 +10:00