Commit Graph

939 Commits

Author SHA1 Message Date
Oliver 8a7a2da07b
[PUI] notifications fix (#8392)
* Include actual model name in notification repot

* Include model_id in API

* Refactoring for NotificationDrawer

- Add error boundary
- Separate rendering func for individual entry
- Allow router navigation
- Better link introspection
- Add tooltip for notification description

* Add URL support for errors

* Allow navigation to an individual error in the admin center

* Updates

* Add rendering method for 'error' model type
2024-10-29 15:00:34 +11:00
Oliver 40f456fbc9
[PUI] Build allocation sub tables (#8380)
* Add helpers methods for table row expansion

* Render a simplified "line item sub table"

- Akin to CUI implementation
- But like, better...

* Edit / delete individual stock allocations

* Improvements for BuildLineTable and BuildOutputTable

* Improvements for table fields

* Refactoring

* Refactor BuildLineTable

- Calculate and cache filtered allocation values

* Code cleanup

* Further fixes and features

* Revert new serializer field

- Turns out not to be needed

* Add playwright tests

* Bug fix for CUI tables

- Ensure allocations are correctly filtered by output ID

* Adjust CUI table
2024-10-29 11:36:32 +11:00
Oliver 89946aed15
[PUI] Search tweak (#8381)
* Cleanup buttons and add Tooltip

* Clearer separation

* Link cleanup
2024-10-29 01:31:19 +11:00
Oliver 234ee2b40f
Add "received" filter to PurchaseOrderLineTable (#8377) 2024-10-28 17:39:37 +11:00
Oliver 6953640161
[Bug] Fix issue with build order lines table (#8376)
* Revert change to BuildItem API

- Requires "allocations" for build output table
- Probably can refactor this later

* Bug fix for BuildOutputTable in PUI

- Correct calculation for "fully allocated"

* Adjust annotations for serializer

* Bump API version
2024-10-28 17:06:09 +11:00
Oliver 9fd882f95e
[PUI] Task table enhancements (#8369)
* Refresh task counts when updating tables

* Handle case where error is null
2024-10-26 12:40:24 +11:00
Oliver 3253a4a93c
[Bug] Ensure links are prepended with base URL on receipt (#8367)
* Ensure links are prepended with base URL on receipt

* Bug fix
2024-10-26 12:40:14 +11:00
Oliver 331692bb46
Notifications fix (#8360)
* Fix for app loading

- Allow collection for background worker too

* Improved logging

* Refactor MethodStorageClass

- Cache methods more intelligently
- Re-collect if null
2024-10-25 18:00:32 +11:00
Oliver 6be6c4b42f
[WIP] Build line filter fix (#8343)
* Remove 'allocations' from BuildLineSerializer

- Expensive to have a "many" serializer automatically used
- Adjust existing tables accordingly
- Fetch on demand

* WIP: Add some unit tests

* Adjust BuildLine queryset annotation

- Multi-level annotation proves to be very expensive
- Reduce complexity, save a bunch of time on queries
- Remove 'total_allocated_stock' field
- Adjust API query filter

* Optimize query by deferring certain fields

* Further query refinements

* Bump API version
2024-10-25 15:54:20 +11:00
Oliver 075b62757a
Bug fix for auto-allocation against build order (#8359) 2024-10-25 15:54:11 +11:00
Oliver 662cf7da3b
Log failed task (#8333)
* Bug fix for build models

* Notify staff users when a background task fails

* Improve object lookup for notification

* Handle url reversal error case

* Add unit testing
2024-10-24 22:15:01 +11:00
github-actions[bot] 6bf9a97f52
New Crowdin translations by GitHub Action (#8348)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-24 21:15:17 +11:00
Oliver 328472701d
[PUI] Machines table refactor (#8352)
* Reorganize MachineManagementPanel

- Use Accordion
- More consistent with PluginManagementPanel

* Code cleanup

* Refactor machine drawer display

* Refactor MachineTypeDetailDrawer
2024-10-24 15:24:52 +11:00
Matthias Mair 9f9afa1593
bump dev deps (#8336) 2024-10-24 14:39:29 +11:00
Oliver 556ff4f15b
Settings validation enhancements (#8351)
* Enforce lower case for model name checks

* Enhance settings validation

- Add support for "float" settings type
- Improve validation code and error handling
2024-10-24 13:12:39 +11:00
Oliver fb17dcce9a
Task group (#8332)
* Add 'group' to offload_task

- Make use of 'group' field in AsyncTask model
- Allows better db filtering

* Log error if low_stock check cannot be performed

* Ensure low-stock checks are performed by the background worker

* Change encoding of arguments to 'notify_low_stock_if_required'

- Pass part ID, not part instance
- Safer, but requires DB hit

* Fix typo

* Fix to allow tests to run
2024-10-24 00:06:44 +11:00
Oliver ba3bac10a7
PUI: Show "Return from customer" option (#8345)
* PUI: Show "Return from customer" option

* Extend playwright tests

* Additional unit tests
2024-10-23 23:24:21 +11:00
github-actions[bot] aa1e23d455
New Crowdin translations by GitHub Action (#8266)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-23 16:10:59 +11:00
simonkuehling 5ed0af20c8
use LABEL_DEFAULT_PRINTER user setting to pre-select plugin in label printing forms (#8330) 2024-10-23 15:18:02 +11:00
Oliver a6bba144e7
Part pricing cleanup (#8340)
* Part pricing cleanup

- Improve / tweak rendering for PurchaseHistoryPanel

* Adjust playwright tests
2024-10-23 14:33:42 +11:00
Oliver 28146bbbf0
Fix display of purchase order lines (#8339) 2024-10-23 14:33:31 +11:00
Oliver 295f733ed9
Add "active" field to SupplierPart form (#8341)
- Previously missing from legacy interface
2024-10-23 12:55:25 +11:00
Oliver bcc991198e
CUI: Fix for part pricing panel (#8338) 2024-10-23 11:00:02 +11:00
Oliver cbe547b873
Add "View Part" action in BuildLineTable (#8335) 2024-10-23 07:16:38 +11:00
Oliver ca31bb0322
[API] Sales order filters (#8331)
* Fix 'allocated' queryset annotation for SalesOrderLineItemSerializer

* Add 'allocated' filter for SalesOrderLineItemList

* Allow ordering by 'allocated' and 'shipped' values

* Updated unit testing

* Bump API version

* Update playwright tests
2024-10-23 07:16:26 +11:00
Oliver 2adb41f448
Hide "allocations" tab for items which are not in stock (#8334) 2024-10-23 07:16:14 +11:00
Oliver cb0248d159
Markdown link fix (#8328)
* Improve cleaning of markdown content

* Update unit test with new check
2024-10-22 13:06:43 +11:00
Oliver ddea9fa4b9
[PUI] Platform fixes (#8324)
* Add "IPN" column to build order allocated stock table

* Allow sorting and searching by IPN

* Handle allocations where allocated but required == 0

* Add "no info available" message to part scheduling

* Adjust PartSchedulingTable

* Icon fix

* Add "latest serial number" information to PartDetail page

* Cleanup code for serial-number placeholder in forms

* Logic fix for displaying non-unity pack quantity

* Fix description field on SupplierPart page

* Fix duplicate table column
2024-10-22 12:17:24 +11:00
Oliver 90f726e325
[PUI] Tweaks for part purchase order table (#8319)
* Improve API query

* Table ordering fixes for PartPurchaseOrdersTable
2024-10-20 15:01:05 +11:00
Oliver 29726d8d0d
Refactoring / Enhancements (#8307)
* Create simply PartSalesPanel component

* Updates

* Add API endpoint for SalesHistory

- And serializers
- Basic, needs lots of work still

* Fix for PartDetail page

* SalesOrder page updates

* More page updates

* Update API endpoint

* Backend improvements

* add API endpoint

* Front-end rendering

* Make frontend generic

* Fix for CompanyTable

* Make back-end API more generic

* More API improvements

* Implement history for purchasing

* API / UI fixes

* Remove debug statements

* Support file download

* Add endpoint for build order history

* Implement UI for build order history

* Revert backend

* Revert frontend

* Remove unsed imports

* Cleanup permission checks

* Bump API version

* Improve token management code

- Do not request token if other cookies are unavailable
- Do not fetch user data if token is unavailable
- Prevents connection error logs

* Fix for CompanyTable - onRowClick
2024-10-20 12:48:29 +11:00
Oliver 5f905aab9d
Fix breadcrumb for <BuildOrderDetail /> (#8305)
* Fix breadcrumb for <BuildOrderDetail />

* Add delay for playwright tests
2024-10-18 15:24:20 +11:00
Oliver 17bf7bb5e3
[Plugin] Enhancements for serial number validation (#8311)
* Error handling for plugin.increment_serial_number

* Improve error handling for plugin validation functions

* Add Part.get_next_serial_number method

- Simplify call for incrementing

* ValidationMixin: add "part" to increment_serial_number func

* Pass part information through to serial number functions

* Fix circular imports

* Allow "get_latest_serial_number" to use plugin system

* Better working example for plugin sample

* Update SampleValidatorPlugin

* Fix indent

* Add code comment

* Cleanup code logic

* Revert previous commit

* Update unit tests
2024-10-18 13:45:35 +11:00
Oliver c9a4e6bf7d
Fix for add_tracking_entry in build.create_output (#8310)
- Also add new end-to-end unit tests
2024-10-18 11:41:04 +11:00
Oliver d58d34af25
[CUI] Shipment fixes (#8309)
* Fix warning in "complete shipment" dialog

- Broken due to recent API change / refactor

* Request item detail for sub-table

* Fix "ship items" button
2024-10-18 10:25:55 +11:00
Oliver 48dd3d37c4
Bug fix: Manually create serialized stock (#8306)
* Bug fix: Manually create serialized stock

- fixes bug which extraced location as a string, rather than the model instance

* Fix for StockList.create
2024-10-17 19:45:07 +11:00
Oliver 9e0a4c6a7e
Improve API query (#8302) 2024-10-16 20:51:09 +11:00
Oliver 59fa3bb4ff
Order table variants (#8295)
* BuildOrderTable: Show variants

- Allow filtering of build orders by part variant

* Add "include_variants" filter for SalesOrder table

- A bit tricker!

* Add "include_variants" filter to PartPurchaseOrdersTable

* Enable filtering ReturnOrder by "part" attribute

* Add similiar functionality for SalesOrderAllocation

* Add similar filter for BuildAllocation table

* Add migration file
2024-10-16 20:19:11 +11:00
Oliver 0c9e986796
Table date filters (#8299)
* Add date filtering for tables

* Update filters for build order table

* Update other tables

* Typing fix

* Fix filter type
2024-10-16 20:18:59 +11:00
Oliver 7c19e51d80
Simplify display of "locked" part status (#8297)
* Simplify display of "locked" part status

- REmove big badge
- Show subtle icon

* Update playwright test
2024-10-16 19:43:10 +11:00
Oliver 181e1dd9cc
Clear allocations when manually returning an item into stock from a customer (#8298) 2024-10-16 17:13:26 +11:00
Alexis Vézina d59994ea75
Fix GH Link in links.tsx (#8292) 2024-10-16 07:27:06 +11:00
Matthias Mair 61ca68090a
bump backend deps (#8290) 2024-10-16 07:03:59 +11:00
Oliver e808fad98d
[PUI] Add "index" page for build orders (#8287)
* Add "index" page for build orders

- Make consistent with other pages
- Allow plugin panels here
- Prepare for future development

* Rearrange URLs for "manufacturing"

- Provide same format as other order types
- Allow for other sub-pages under "manufacturing" in the future

* Fix breadcrumbs

* Adjust playwright tests
2024-10-15 23:57:30 +11:00
Oliver b1d9a23928
[CUI] Fix rendering issues for barcodes (#8286)
- Prevent barcode data from being "escaped"
- Run through bleach to brevent malicious data injection
2024-10-15 14:50:29 +11:00
Oliver 14d92b8727
Fix bug in merge_stock_items (#8284)
- self() -> self
2024-10-15 14:20:14 +11:00
Oliver eeab8d30fb
[PUI] Table query params (#8279)
* Pass more information through in redirect after login

- Include query parameters in redirect

* InvenTreeTable: Update filters based on URL query parameters

* Add button to remove custom URL query filters
2024-10-14 13:10:53 +11:00
Oliver 7d3eb433d6
Remove <Playground> from PUI frontend (#8276)
* Remove <Playground> from PUI frontend

- Components are now mature enough with sufficient examples in the codebase

* Remove dead code
2024-10-13 20:58:53 +11:00
Oliver 8aade768c3
[PUI] subscribe (#8272)
* Add "starred" icon to part category table

* Edit "starred" status for PartCategory in PUI

* Edit "starred" state of part in PUI

* Playground fix
2024-10-12 11:55:23 +11:00
Oliver 7443d21854
[Refactor] Serial generation (#8246)
* Refactor "update_serial_number" method

* Refactor serial number validation

- Query is much more efficient now
- Does not have to check each serial number individually
- Makes use of existing Part class method

* Refactor creation of multiple stock items

* Fix for singular item creation

* Refactor serializeStock method:

- Push "rebuild tree" to background worker
- Use bulk_create actions

* Refactor createion of serialized build outputs

* Prevent 1+N DB hits

* Cleanup

* Cleanup

* Reinstate serial number checks

* Add limit for serial number extraction

* Fix cache config

* Revert cache settings

* Fix for unit tests

* Playwright tests

* Bug fix

* Force False cookie mode in testing

* Revert aria-label for PanelGroup items

- No longer works as expected with playwright locators

* Fix playwright vtest

* Further updates

* Playwright test adjustments

* Remove duplicate locator
2024-10-12 10:08:57 +11:00
Oliver f77c8a5b5b
[PUI] Stock Detail (#8274)
* Add "in_stock" attribute to StockItem API

* Add "unavailable" badge to StockDetail page

* Hide stock actions menu for "unavailable" stock

* Fix renderer for StockItemTable

* refactor stock table display

* Add 'date' type details field

* Disable "expiry" information on StockDetailPage

* Icon fix

* Bump API version
2024-10-11 23:39:07 +11:00
Oliver 48bb5fd579
Hide "allocated" column for inactive builds (#8273) 2024-10-11 17:59:43 +11:00
Oliver 33eba14d3f
[PUI] Sales order shipments (#8250)
* Refactor AttachmentPanel into common component

* Remove unused imports

* Add very basic implementation for SalesOrderShipmentDetail page

* Refactor NotesPanel into common component

* Fetch customer data

* Add some placeholder actions

* Updates for shipment detail page

* Adjust SalesOrderShipment API

* Add badges

* Implement API filter for SalesOrderAllocation

* Display allocation table on shipment page

* Add placeholder action to edit allocations

* Improvements for SalesOrderAllocationTable

* Improve API db fetch efficiency

* Edit / delete pending allocations

* Fix for legacy CUI tables

* API tweaks

* Revert custom attachment code for SalesOrderShipment

* Implement "complete shipment" form

* Allocate stock item(s) to sales order

* Fixes for TableField rendering

* Reset sourceLocation when form opens

* Updated playwrigh tests

* Tweak branch (will be reverted)

* Revert github workflow
2024-10-10 22:43:22 +11:00
Oliver 35969b11a5
[PUI] Notes Editor UX (#8265)
* Rearrange icons

* Remove isDirty flag

- Mucks around with editor focus
- Need to revisit this

* Fix playwright test

* Fix playwright test
2024-10-10 21:00:22 +11:00
dependabot[bot] a3f045e12c
Bump django from 4.2.15 to 4.2.16 in /src/backend (#8257)
* Bump django from 4.2.15 to 4.2.16 in /src/backend

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

---
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: Oliver <oliver.henry.walters@gmail.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2024-10-10 21:00:10 +11:00
Oliver 914f59c4cc
[Breaking] Samesite Cookie Fix (#8269)
* Adjust samesite cookie behaviour:

- In DEBUG mode, turn off entirely
- Allow False value (note: *not* a string)
- Force insecure cookie in DEBUG mode

* Change default value in config file template

* Update docs

* Adjust COOKIE_SECURE based on SAMESITE setting
2024-10-10 20:18:14 +11:00
Oliver 8e34fddfaa
Samesite cookie fix (#8262)
- Closes https://github.com/inventree/InvenTree/issues/8254
2024-10-09 23:10:01 +11:00
Oliver dde6aab8b4
Translation fixes (#8263)
* Translation fixes

- Simplifies translations strings
- Removes some similar duplicate strings
- Reduces passing of tokens into translation

* Adds script for detecting close matches in translation source strings

* Updates for custom script

* Detect duplicate strings (ignoring case)

* Fix some duplicate backend strings

* Fix duplicate strings in frontend

* Fix more duplicate strings

* Run check_source_strings in CI

* Fixes for unit tests

* Fix another broken string

* Revert some changes

* Fix f-string

* Fix old migration files

* Reduce front-end duplication

* Further updates

* Revert change

* Updates
2024-10-09 22:32:34 +11:00
Oliver 0b87dc9372
[PUI] Part IPN display (#8264)
* Add IPN column to order tables

* Fix display on SupplierPartDetail page

* Update manufacturer part detail page
2024-10-09 21:50:29 +11:00
Oliver 67434b319b
[PUI] Build output labels (#8261)
* Enable printing actions from "build order output" table

* Adjust action order
2024-10-09 16:33:25 +11:00
Oliver e8c72d60b5
TemplateEditor: Handle fetch error (#8260)
* TemplateEditor: Handle fetch error

- Handle error condition where template cannot be loaded from server

* Remove test code
2024-10-09 16:13:32 +11:00
github-actions[bot] 13ef30768f
New Crowdin translations by GitHub Action (#8242)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-09 05:08:48 +00:00
Oliver c1b551d2e0
Allow orders to be completed without any "lines" (#8258)
* Allow orders to be completed without any "lines"

Note: There may be "extra lines" for these orders!

* Fix for unit test
2024-10-09 15:46:41 +11:00
Volker 560f57333c
fix part qr lable (#8255) 2024-10-08 21:03:22 +11:00
Oliver 198a39a33c
[Refactor] Sales Order Shipment (#8249)
* Refactor serial number allocation

* Refactor API query

Note: This should be further improved, not to automatically return *all* allocation data

* Push expensive operations off to background worker

* Bump API version
2024-10-08 08:00:32 +11:00
Oliver 798e25a9dc
[PUI] Plugin settings UI (#8228)
* Visual tweaks for admin pages

* Provide admin js file via API

* Backend fixes

* Tweak error detail drawer

* Refactor plugin detail panel

- Split out into separate files
- Use <Accordion />
- Display custom configuration (if available)

* Refactoring

* Add custom configuration to sample UI plugin

* Bump API version

* Add separate API endpoint for admin integration details

* Refactor plugin drawer

* Null check

* Add playwright tests for custom admin integration

* Enable plugin panels in "settings" pages

* Fix for unit test

* Hide "Plugin Settings" for plugin without "settings" mixin

* Fixes for playwright tests

* Update playwright tests

* Improved error message
2024-10-07 22:25:56 +11:00
Oliver 36e3159c1a
Unit Test Fixes (#8245)
* Add @types/dompurify

* JS fix

* Update allowed tags
2024-10-07 20:17:31 +11:00
Oliver 846b17aa1d
Merge commit from fork
* Sanitize markdown when rendering notes fields

* Update helpers.py

* Update mixins.py

* format

* format

* Allow horizontal rule in markdown

* Display returned error mesage

* More instructive error msg

* Specify output_format to markdown.markdown

Ref: https://python-markdown.github.io/reference/markdown/serializers/

* Cleanup

* Adjust allowable markdown tags

* Add unit test for malicious markdown XSS

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2024-10-07 08:57:47 +11:00
Oliver a323bf0007
[PUI] download image (#8230)
* Add placeholder for download image button

* Implement image download functionality

* Increase timeout

* Show timeout notification

* Icon cleanup
2024-10-06 21:49:13 +11:00
Dean a1024f1a67
Fix build item over-allocation checks (#8235) 2024-10-06 21:08:40 +11:00
Oliver f8c7635a8d
Set maximum height for part charts (#8232) 2024-10-03 09:41:11 +10:00
Dean 69bc5808d2
Shipment Attachments (#8231)
Create shipment attachments on parent order.
2024-10-03 08:31:38 +10:00
Oliver 5759b60a48
Merge commit from fork
* Sanitize markdown when rendering notes fields

* Revert "Sanitize markdown when rendering notes fields"

This reverts commit 373ebfbef0ce25fa58cb4e635e99f35b5e4df07c.

* Mask error message when downloading image
2024-10-02 14:24:45 +10:00
Oliver 7bffa49f3c
PUI: Return item from customer (#8227)
- Add manual form to return a stock item from customer
2024-10-01 23:33:35 +10:00
Oliver c23f2828f5
New event triggers (#8226)
- When splitting a stock item
- When moving a stock item
2024-10-01 23:12:47 +10:00
Dean fe7bbc2436
Shipment Reports (#8194)
* Shipment Reports

* bump api version due to changed enums

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2024-10-01 10:30:52 +10:00
Matthias Mair 96a2517402
A bit more testing (#8053)
* add more admin testing

* fix assertations

* add test for importer admin

* Add tests for https://github.com/inventree/InvenTree/pull/7164

* add common/attachment test

* fix test

* add tests

* remove unused definition - the view is read only

* Revert "remove unused definition - the view is read only"

This reverts commit 4cad8d16f3.

* more tests in report

* Update tests.py

* make lookup dynamic

* make report assertation dynamic

* add migration test

* extend validation plugin tests

* disable flaky test

* Add test for barcode/uid transition

* test reverse migration

* cleanup new test

* remove empty action

* split and refactor API tests

* refactor test

* Add test for error conditions

* fix double entry

* more migration tests

* also test no history

* fix assertation

* add another migration test

* fix typo

* fix manufacturer filter

* test more filters

* even more filter tests

* move top level test to right place

* add todos for tests that could be more expressive

* add test for checking duplicate serials

* ignore cautious catches
2024-10-01 08:27:57 +10:00
Matthias Mair af6f179f7e
bump pre-commit refs (#8219) 2024-10-01 07:36:29 +10:00
Oliver 5638895f54
Filter StockTrackingTable by user (#8222) 2024-10-01 00:24:26 +10:00
Oliver ccd8a520eb
Remove unused function (#8221) 2024-10-01 00:10:12 +10:00
Oliver e9640f4f15
Plugin helper function (#8220)
* Add helper function for constructing URL to static file

* Fix PluginListTable

- Allow uninstallation of plugin
- Allow deletion of plugin config

* Move helper method to InvenTreePlugin class

* Bump API version info
2024-09-30 23:39:38 +10:00
Matthias Mair 33ec7dcd37
Bump rollup (#8218)
Bumps the npm_and_yarn group with 1 update in the /src/frontend directory: [rollup](https://github.com/rollup/rollup).


Updates `rollup` from 4.22.4 to 4.22.5
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.22.4...v4.22.5)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-30 21:12:25 +10:00
Oliver a71754b086
Add exception handling for default template creatoin (#8209) 2024-09-30 09:40:34 +10:00
Oliver 33499d61bd
Exception handling for BulkDeleteMixin (#8205)
* Exception handling for BulkDeleteMixin

* Fix unit test
2024-09-29 15:37:18 +10:00
Oliver 390fec3ab1
[PUI] Form error fix (#8204)
* Handle simple string error message

* Add playwright test for form validation

* Render stock unit price / total value

* Fix for TextField:

- Prevent unnecessary value change
- This was removing the field error

* Add playwright test for supplier form validation
2024-09-28 13:33:31 +10:00
Oliver e6470ffdea
[PUI] Adjust stock details page (#8196)
* Adjust stock details page

* Remove unused import

* Details rendering fix

* Cleanup

* Handle null / undefined cases

* More cleanup
2024-09-27 22:44:39 +10:00
Oliver 392624cb84
[PUI] Installed items (#8202)
* Improve checks if "installed items" panel should be displayed

* Adds ability to exclude a given field from form data

* Implement form for installing stock item

* Add placeholder for uninstall action

* Add "note" field

* Add PUI form to uninstall stock item
2024-09-27 16:00:06 +10:00
Oliver a5f2273e14
[PUI] Serialize Stock (#8192)
* Add PUI form to serialize existing stock item

* Remove debug statement

* Ensure that stock item trees are rebuilt correctly after serialization

- No idea how this has not been detected previously

* Add unit test to ensure child_items annotation works as expected

* Add link to parent item in stock detail page

* Refactor to use new placeholder hook
2024-09-27 08:29:40 +10:00
Tim Hadwen 23de1e038d
[PUI] form enter key to submit (#8129)
* Potential fix for #7014. Might be wrong way to approach

* Cleanup null check on onKeyDown callback

* revert pre-commit change

---------

Co-authored-by: timmyhadwen <tim@micromelon.com.au>
Co-authored-by: Matthias Mair <code@mjmair.com>
2024-09-27 08:29:13 +10:00
Oliver 4f06918c36
[PUI] Fix Build Output Forms (#8184)
* Enhancements for stock item form

* Edit stock item from "build output" table

* Rearrange menu items

* Fix build order line complete action

* Fix for other modals

* Cleanup dead code

* Reload build details after output state change

* Logic fix for plugin table

* Bump API version

* Adds hook for generating placeholder serial numbers

* Add playwright tests

* Remove unused imports

* Cleanup playwright tests
2024-09-27 00:35:30 +10:00
Oliver 194640f55a
[PUI] Plugin panel context (#8190)
* Add server-side context for panel plugin rendering

* Add "context" to PluginContext type

* Pass server context through to client-side rendering

* Bump API version
2024-09-26 20:30:51 +10:00
Lukas 35362347a7
UI plugins custom features (#8137)
* initial implementation to let plugins provide custom ui features

* provide exportable types

* refactor ref into renderContext to make it more generic and support template preview area ui plugins

* rename 'renderContext' -> 'featureContext' as not all features may render something

* allow to specify the function name via the source file string divided by a colon

* Bump api version

* add tests

* add docs

* add docs

* debug: workflow

* debug: workflow

* fix tests

* fix tests hopefully

* apply suggestions from codereview

* trigger: ci

* Prove that coverage does not work

* Revert "Prove that coverage does not work"

This reverts commit 920c58ea6f.

* potentially fix test???
2024-09-26 19:59:37 +10:00
Oliver 4d48a10bdd
Fix for plugin table (#8189)
- useServerApiState() was constantly refreshing
- This was causing infinite update cycles
2024-09-26 16:22:49 +10:00
Oliver 1522d1e615
Hide "Expiry Date" column if feature not enabled (#8172) 2024-09-26 11:03:37 +10:00
Oliver 752b33177b
[PUI] Importer fixes (#8186)
* Fix status display

* Fix column labelling
2024-09-26 09:29:23 +10:00
Oliver 47f6e154ee
Add 'status' column to build outptut table (#8183) 2024-09-25 12:47:09 +10:00
Oliver 8928bc127a
Remove translation for logged warnings (#8173) 2024-09-24 21:47:47 +10:00
Oliver 6d0353028f
Enhance exception management (#8174) 2024-09-24 21:47:36 +10:00
Oliver 0f2cfdcfd4
[PUI] Part charts fix (#8171)
* Refactor "stocktake" chart

- Format date axis correctly
- Better tooltips

* Fix datatable queries

- Prevent potential infinite loop

* Fix tooltip for BOM table

- Bug due to '.' char in names

* Do not reassign parameter

* Another fix

* Check global config value

* Cleanup tooltip for BOM pie

* Edit and refresh pricing from panel
2024-09-24 18:36:39 +10:00
dependabot[bot] b1c1981b6d
Bump rollup from 4.21.2 to 4.22.4 in /src/frontend (#8170)
Bumps [rollup](https://github.com/rollup/rollup) from 4.21.2 to 4.22.4.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.21.2...v4.22.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-24 15:05:50 +10:00
Oliver 4f2baab43b
[PUI] Part scheduling (#8163)
* Placeholder part scheduling panel

* Add API endpoint definition

* Add defined serializer to scheduling endpoint

* Refactor add_schedule_entry

* Fix field type

* API tweak

* Render scheduling data

* Make links clickable

* Correctly account for dates in the past

* Cleanup table

* Bump API version information

* js linting
2024-09-24 13:57:28 +10:00