* Adds a new "generic" ReportTemplate model * expose API endpoints * Update model / migrations / serializer * Add new mixin class to existing database models * - Add detail view for report template - Revert filters field behaviour * Filter report list by provided item IDs - Greatly simplify filtering logic compared to existing implemetation - Expose to API schema * Create data migration for converting *old* report templates * Ignore internal reports for data migration * Add report mixin to StockLocation model * Provide model choices in admin interface * Offload context data generation to the model classes * Remove old report template models * Refactor JS code in CUI * Fix for API filtering * Add data migration to delete old models * Remove dead URL * Updates * Construct sample report templates on app start * Bump API version * Typo fix * Fix incorrect context calls * Add new LabelTemplate model - ReportTemplate and LabelTemplate share common base - Refactor previous migration * Expose to admin interface * Add in extra context from existing label models * Add migration to create LabelTemplate instances from existing labels * Add API endpoints for listing and updating LabelTemplate objects * Adjust 'upload_to' path * Refactor label printing * Move default label templates * Update API endpoints * Update migrations * Handle LookupError in migration * Redirect the "label" API endpoint * Add new model for handling result of template printing * Refactor LabelPrinting mixin * Unlink "labels" app entirely * Fix typo * Record 'plugin' used to generate a particular output * Fix imports * Generate label print response - Still not good yet * Refactoring label printing in CUI * add "items" count to TemplateOutput model * Fix for InvenTreeLabelSheetPlugin * Remove old "label" app * Make request object optional * Fix filename generation * Add help text for "model_type" * Simplify TemplateTable * Tweak TemplateTable * Get template editor to display template data again * Stringify template name - Important, otherwise you get a TypeError instead of TemplateDoesNotExist * Add hooks to reset plugin state * fix context for StockLocation model * Tweak log messages * Fix incorrect serializer * Cleanup TemplateTable * Fix broken import * Filter by target model type * Remove manual file operations * Update old migrations - Remove references to functions that no longer exist * Refactor asset / snippet uploading * Update comments * Retain original filename when editing templatese * Cleanup * Refactor model type filter to use new hook * Add placeholder actions for printing labels and reports * Improve hookiness * Add new ReportOutput class * Report printing works from PUI now! * More inspired filename pattern for generated reports * Fix template preview window - Use new "output" response field across the board * Remove outdated task * Update data migration to use raw SQL - If the 'labels' app is no longer available, this will fail - So, use raw SQL instead * Add more API endpoint defs * Adds placeholder API endpoint for label printing * Expose plugin field to the printing endpoint * Adds plugin model type * Hook to print labels * Refactor action dropdown items * Refactor report printing for CUI * Refactor label print for CUI - Still needs to handle custom printing options for plugin * Fix migration * Update ModelType dict * playwright test fix * Unit test fixes * Fix model ruleset associations * Fix for report.js * Add support for "dynamic" fields in metadata.py * Add in custom fields based on plugin * Refactoring * Reset plugin on form close * Set custom timeout values * Update migration - Not atomic * Cleanup * Implement more printing actions * Reduce timeout * Unit test updates * Fix part serializers * Label printing works in CUI again * js linting * Update <ActionDropdown> * Fix for label printing API endpoint * Fix filterselectdrawer * Improve button rendering * Allow printing from StockLocationTable * Add aria-labels to modal form fields * Add test for printing stock item labels from table * Add test for report printing * Add unit testing for report template editing / preview * Message refactor * Refactor InvenTreeReportMixin class * Update playwright test * Update 'verbose_name' for a number of models * Additional admin filtering * Playwright test updates * Run checks against new python lib branch (temporary, will be reverted) * remove old app reference * fix testing ref * fix app init * remove old tests * Revert custom target branch * Expose label and report output objects to API * refactor * fix a few tests * factor plugin_ref out * fix options testing * Update table field header * re-enable full options testing * fix missing plugin matching * disable call assert * Add custom related field for PluginConfig - Uses 'key' rather than 'pk' - Revert label print plugin to use slug * Add support for custom pk field in metadata * switch to labels for testing * re-align report testing code * disable version check * fix url * Implement lazy loading * Allow blank plugin for printing - Uses the builtin label printer if not specified * Add printing actions for StockItem * Fix for metadata helper * Use key instead of pk in printing actions * Support non-standard pk values in RelatedModelField * pass context data to report serializers * disable template / item discovery * fix call * Tweak unit test * Run python checks against specific branch * Add task for running docs server - Option to compile schema as part of task * Custom branch no longer needed * Starting on documentation updates * fix tests for reports * fix label testing * Update template context variables * Refactor report context documentation * Documentation cleanup * Docs cleanup * Include sample report files * Fix links * Link cleanup * Integrate plugin example code into docs * Code cleanup * Fix type annotation * Revert deleted variable * remove templatetype * remove unused imports * extend context testing * test if plg can print * re-enable version check * Update unit tests * Fix test * Adjust unit test * Add debug statement to test * Fix unit test - Labels get printed against LabelTemplate items, duh * Unit test update * Unit test updates * Test update * Patch fix for <PartColumn> component * Fix ReportSerialierBase class - Re-initialize field options if not already set * Fix unit test for sqlite * Fix kwargs for non-blocking label printing * Update playwright tests * Tweak unit test --------- Co-authored-by: Matthias Mair <code@mjmair.com>
5.8 KiB
title
title |
---|
Release 0.7.0 |
Release: 0.7.0
0.7.0 is a major feature release of the InvenTree software project. For a comprehsive list of changes associated with this release, please refer to the InvenTree GitHub page.
Plugins
In addition to providing a slew of new features and stability improvements (as listed below), this version focuses heavily on improvements to the plugin system. The plugin ecosystem has received a major overhaul, and now provides a number of new plugin "mixins" for supporting custom functionality. The plugin system will continue to receive attention over the next major release cycle.
!!! warning "Plugin Changes"
Version 0.7.0
introduces some major changes (improvements) to the plugin interface. If you are updating from a previous version, any custom plugins you have installed may also need to be updated.
Unit Testing
This release also provides a marked improvement in unit testing and code coverage. The project is now above 85% code coverage! This is a great milestone, but we can do better! We will continue to improve our unit testing to ensure that InvenTree remains a high quality, stable software product.
New Features
Order Target Dates
#2684 adds a target_date
field to both the PurchaseOrderLineItem and SalesOrderLineItem models, separate to the target_date
field on the parent Order models. This allows expected shipment dates to be specified for individual line items.
It's a Date!
#2685 adds the ability for users to customize how dates are formatted and displayed in the web interface.
Serialize Incoming Stock
#2686 provides the ability to add batch codes and serial numbers to incoming stock items received against purchase orders.
Persistent Forms
#2687 adds the ability for modal forms to be "persistent" - i.e. they are not immediately dismissed after successful submission. This allows (for example) the "Create Part" form to be used multiple times in succession, allowing quick creation of parts by the user.
Stock Scheduling
#2695 adds a new "Scheduling" tab to the "Part" display. This displays projected / predicted future stock levels, based on pending orders.
Automatic Stock Allocation
#2713 adds a feature to "automatically" allocate stock items to a build order.
Extra, Extra
#2714 adds "extra line items" to purchase orders and sales orders. This allows tracking of line items which are not associated with a part in the database (e.g. fees, charges)
Notifications
#2372 provides an overhaul of notifications, allowing users to view their notifications directly in the InvenTree interface.
Why are you hiding my name?
#2861 adds several changes to enable admins to remove more of InvenTrees branding. Change logo, hide the about-modal for all but superusers and add custom messages to login and main navbar. Check out the docs
Label Printing Plugin
#2768 adds a new LabelPrinting plugin class, which allows printing labels directly to external printers (e.g. via local network).
New Search Menu
#2783 introduces a new quick search menu which provides more comprehensive search results for quicker data access.
BOM Stock Data
The Bill of Materials tables now display a more comprehensive view of available stock, including stock for variant parts, and stock for substitute parts. This allows users a better picture of what stock is actually available for use.
Docker Improvements
Multiple improvements have been made to the docker installation process, most notably updated docker-compose files for development and production setups. Docker setup time and complexity should now be significantly reduced.
Build Order Improvements
#2893 provides a number of improvements to the build order process. Most notable is a complete overhaul of the "build output" window, providing a more efficient user experience.
Multi Level BOM Fix
#2901 overhauls the way that multi level BOMs are displayed. Instead of loading all BOM data by default, a flat top-level BOM is first loaded, and then the user has the option to load BOMs from subassemblies into the same table.
QR code scanner
#2779 provides a QR code scanner which can be used to quickly scan Inventree generated QR codes using webcams or mobile devices. This feature requires secure (HTTPS) connection to the server.
Order, Order
#2770 implements a major overhaul of the "order parts" wizard, with the form now making use of the API rather than being rendered on the server.
Panel Plugins
#2937 adds a new type of plugin mixin, which allows rendering of custom "panels" on certain pages. This is a powerful new plugin feature which allows custom UI elements to be generated with ease. Read more about this new mixin here.
Bug Fixes
Pull Request | Description |
---|---|
#2869 | Fixes Part API bug |