mirror of
https://github.com/inventree/InvenTree.git
synced 2025-08-01 17:41:33 +00:00
[Refactor] Notification plugins (#9735)
* Refactor notification concept - Notifications handled by plugins * Cleanup * Only send email if template provided in context * Logic cleanup * Fix log_error call * Refactor error logging - Ensure plugin slug is correctly attached - Consistent format - Logic fixes * More robust plugin lookup * Refactor calls to tringger_notification * Tweak for build stock notification * Low stock notification refactor - Actually *use* the notification system - Fix for email template * Check stock only when build is issued * Updated documentation * Add PluginUserSetting class - Allows plugins to define per-user settings * Add API endpoints for PluginUserSetting model * Placeholder for user-plugin-settings page * Refactoring frontend code * Placeholder panel * Adds user interface for changing user-specific plugin settings * Tweaks * Remove old model * Update documentation * Playwright tests * Update API version * Fix unit test * Fix removed arg * Fixes for email notifications - Track status of sending notifications - Add helper "activate" method for plugin class - Update unit tests * Fix barcode tests * More unit test fixes * Test fixes * Fix for settings models with extra fields * Enhance unit test * Remove old test file * Check for null target_fnc * Improve DB query efficiency - Provide a flat list of active keys to plugin.is_active - Prevents DB fetching (in certain circumstances) - Add registry.active_plugins() method * Bump query limit up for test - In practice, this API endpoint is ~10 queries * Handle potential errors * Increase query limit for API test * Increase query limit for some tests * Bump API version * Tweak unit test * Tweak unit test * Increased allowed queries * fix user plugin settings * Fix for unit test * Update debug msg * Tweak API * Fix endpoint * Remove "active plugin keys" code * Restore previous behaviour * Fix unit tests * Tweak unit test * Update src/backend/InvenTree/build/tasks.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update src/backend/InvenTree/plugin/base/integration/NotificationMixin.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Func updates * Format * Add notification settings * Refactor plugin settings groups * Fix func type * Adjust message * Additional unit tests * Additional playwright tests * Additional playwright test --------- Co-authored-by: Matthias Mair <code@mjmair.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -227,6 +227,7 @@ nav:
|
||||
- Label Printing Mixin: plugins/mixins/label.md
|
||||
- Locate Mixin: plugins/mixins/locate.md
|
||||
- Navigation Mixin: plugins/mixins/navigation.md
|
||||
- Notification Mixin: plugins/mixins/notification.md
|
||||
- Report Mixin: plugins/mixins/report.md
|
||||
- Schedule Mixin: plugins/mixins/schedule.md
|
||||
- Settings Mixin: plugins/mixins/settings.md
|
||||
@@ -238,24 +239,30 @@ nav:
|
||||
- Label Printer: plugins/machines/label_printer.md
|
||||
- Builtin Plugins:
|
||||
- Builtin Plugins: plugins/builtin/index.md
|
||||
- Auto Create Builds: plugins/builtin/auto_create_builds.md
|
||||
- Auto Issue: plugins/builtin/auto_issue.md
|
||||
- BOM Exporter: plugins/builtin/bom_exporter.md
|
||||
- Currency Exchange: plugins/builtin/currency_exchange.md
|
||||
- InvenTree Barcode: plugins/builtin/inventree_barcode.md
|
||||
- InvenTree Exporter: plugins/builtin/inventree_exporter.md
|
||||
- Label Printer: plugins/builtin/inventree_label.md
|
||||
- Label Machine: plugins/builtin/inventree_label_machine.md
|
||||
- Label Sheet: plugins/builtin/inventree_label_sheet.md
|
||||
- Notification: plugins/builtin/notifications.md
|
||||
- Parameter Exporter: plugins/builtin/part_parameter_exporter.md
|
||||
- Part Notifications: plugins/builtin/part_notifications.md
|
||||
- Barcode Plugins:
|
||||
- Barcode Plugins: plugins/builtin/barcode_index.md
|
||||
- InvenTree Barcode: plugins/builtin/inventree_barcode.md
|
||||
- DigiKey Barcode Plugin: plugins/builtin/barcode_digikey.md
|
||||
- LCSC Barcode Plugin: plugins/builtin/barcode_lcsc.md
|
||||
- Mouser Barcode Plugin: plugins/builtin/barcode_mouser.md
|
||||
- TME Barcode Plugin: plugins/builtin/barcode_tme.md
|
||||
- Event Plugins:
|
||||
- Auto Create Builds: plugins/builtin/auto_create_builds.md
|
||||
- Auto Issue: plugins/builtin/auto_issue.md
|
||||
- Part Update Notification: plugins/builtin/part_notifications.md
|
||||
- Export Plugins:
|
||||
- BOM Exporter: plugins/builtin/bom_exporter.md
|
||||
- InvenTree Exporter: plugins/builtin/inventree_exporter.md
|
||||
- Parameter Exporter: plugins/builtin/part_parameter_exporter.md
|
||||
- Label Printing:
|
||||
- Label Printer: plugins/builtin/inventree_label.md
|
||||
- Label Machine: plugins/builtin/inventree_label_machine.md
|
||||
- Label Sheet: plugins/builtin/inventree_label_sheet.md
|
||||
- Notification Plugins:
|
||||
- Email Notifications: plugins/builtin/email_notification.md
|
||||
- Slack Notifications: plugins/builtin/slack_notification.md
|
||||
- UI Notifications: plugins/builtin/ui_notification.md
|
||||
- Currency Exchange: plugins/builtin/currency_exchange.md
|
||||
- Third-Party: plugins/integrate.md
|
||||
|
||||
# Plugins
|
||||
|
Reference in New Issue
Block a user