Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Data export plugins #9096

Open
wants to merge 63 commits into
base: master
Choose a base branch
from

Conversation

SchrodingersGat
Copy link
Member

@SchrodingersGat SchrodingersGat commented Feb 18, 2025

This PR adds the ability to define custom plugins which augment data export procedure.

  • The "default" export action is offloaded to a builtin plugin.
  • Moves "exporter" code out of the "importer" app
  • Adds a new "export" output - will allow exports to be processed in the background, in future
  • A bunch of refactoring too

Related Issues

TODO

  • Documentation for new plugin class
  • Add unit tests for BOM exporter
  • Playwright tests
  • Implement multi-level BOM export
  • Export supplier data
  • Export manufacturer data
  • Export substitute part data
  • Export part parameter data

@SchrodingersGat SchrodingersGat added enhancement This is an suggested enhancement or new feature import / export Data importing, exporting and processing refactor labels Feb 18, 2025
Copy link

codecov bot commented Feb 19, 2025

Codecov Report

Attention: Patch coverage is 88.51802% with 86 lines in your changes missing coverage. Please review.

Project coverage is 86.10%. Comparing base (e492774) to head (2c0c589).

Files with missing lines Patch % Lines
.../InvenTree/plugin/builtin/exporter/bom_exporter.py 74.80% 33 Missing ⚠️
src/backend/InvenTree/data_exporter/mixins.py 86.51% 24 Missing ⚠️
src/frontend/src/tables/InvenTreeTableHeader.tsx 67.64% 8 Missing and 3 partials ⚠️
src/backend/InvenTree/order/api.py 66.66% 3 Missing ⚠️
src/backend/InvenTree/InvenTree/unit_test.py 91.66% 2 Missing ⚠️
src/backend/InvenTree/company/api.py 60.00% 2 Missing ⚠️
src/backend/InvenTree/part/api.py 81.81% 2 Missing ⚠️
...ontend/src/components/forms/fields/ChoiceField.tsx 0.00% 1 Missing and 1 partial ⚠️
src/frontend/src/functions/forms.tsx 50.00% 2 Missing ⚠️
src/backend/InvenTree/InvenTree/exchange.py 50.00% 1 Missing ⚠️
... and 4 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #9096      +/-   ##
==========================================
+ Coverage   86.08%   86.10%   +0.02%     
==========================================
  Files        1176     1187      +11     
  Lines       51917    52374     +457     
  Branches     2118     2138      +20     
==========================================
+ Hits        44694    45098     +404     
- Misses       6681     6724      +43     
- Partials      542      552      +10     
Flag Coverage Δ
backend 88.04% <90.12%> (-0.03%) ⬇️
pui 69.38% <66.00%> (+0.21%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement This is an suggested enhancement or new feature import / export Data importing, exporting and processing refactor
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Refactor] Allow old cascading BOM export in new UI [1.0.0] Reimplement old BOM exporter
2 participants