Arthur Hanson
cac9108f5b
Closes #9608 : Move from drf-yasg to spectacular
...
Co-authored-by: arthanson <worldnomad@gmail.com >
Co-authored-by: jeremystretch <jstretch@netboxlabs.com >
2023-03-30 14:32:59 -04:00
jeremystretch
6acc947c65
Merge branch 'develop' into feature
2023-03-13 11:58:37 -04:00
jeremystretch
076338ea2f
Fixes #11927 : Correct loading of plugin resources with custom paths
2023-03-13 08:52:38 -04:00
Rafael Ganascim
4d435d8f27
Fixes #11758 - replace unsafe chars in menu label ( #11831 )
...
* Fixes #11758 - replace unsafe chars in menu label
* Fixes #11758 - replace unsafe chars in menu label
2023-02-27 11:42:30 -05:00
jeremystretch
f2c9d6e4eb
Clean up the application registry
2023-02-19 20:09:52 -05:00
jeremystretch
0340f05932
Fixes #11613 : Correct plugin import logic fix from #11267
2023-01-27 19:56:12 -05:00
Jeremy Stretch
da63d5fb07
Fixes #11267 : Avoid catching ImportError exceptions when loading plugins ( #11566 )
...
* Avoid catching ImportErrors when loading plugin URLs
* Avoid catching ImportErrors when loading plugin resources
2023-01-27 16:44:10 -05:00
jeremystretch
4457d174b6
Fixes #10984 : Fix navigation menu expansion for plugin menus comprising multiple words
2022-11-21 08:38:44 -05:00
Arthur Hanson
f7c8b37b69
4751 Enable plugins to inject content within object list views ( #10901 )
...
* 4751 add plugin buttons to list templates
* 4751 add plugin buttons to list templates
* 4751 add documentation
* 4751 fix object reference
* 4751 update docs
2022-11-14 13:51:58 -05:00
jeremystretch
980987e342
Closes #10543 : Introduce get_plugin_config() utility function
2022-11-03 13:18:58 -04:00
jeremystretch
1e6bea48dd
Reorganize plugin resources
2022-11-03 12:59:01 -04:00
jeremystretch
67799fa422
Closes #10697 : Move application registry into core app
2022-11-02 15:25:22 -04:00
Jeremy Stretch
68cf700a3e
Closes #10560 : New global search ( #10676 )
...
* Initial work on new search backend
* Clean up search backends
* Return only the most relevant result per object
* Clear any pre-existing cached entries on cache()
* #6003 : Implement global search functionality for custom field values
* Tweak field weights & document guidance
* Extend search() to accept a lookup type
* Move get_registry() out of SearchBackend
* Enforce object permissions when returning search results
* Add indexers for remaining models
* Avoid calling remove() on non-cacheable objects
* Use new search backend by default
* Extend search backend to filter by object type
* Clean up search view form
* Enable specifying lookup logic
* Add indexes for value field
* Remove object type selector from search bar
* Introduce SearchTable and enable HTMX for results
* Enable pagination
* Remove legacy search backend
* Cleanup
* Use a UUID for CachedValue primary key
* Refactoring search methods
* Define max search results limit
* Extend reindex command to support specifying particular models
* Add clear() and size to SearchBackend
* Optimize bulk caching performance
* Highlight matched portion of field value
* Performance improvements for reindexing
* Started on search tests
* Cleanup & docs
* Documentation updates
* Clean up SearchIndex
* Flatten search registry to register by app_label.model_name
* Clean up search backend classes
* Clean up RestrictedGenericForeignKey and RestrictedPrefetch
* Resolve migrations conflict
2022-10-21 13:16:16 -04:00
jeremystretch
718a85cf58
Closes #10699 : Remove custom import_object() function
2022-10-19 10:40:39 -04:00
Arthur Hanson
f63ee79a35
8927 plugin search ( #10489 )
...
* #7016 base search classes
* 7016 add search indexes
* 7016 add search indexes
* 7016 add search indexes
* 7016 add search indexes
* 7016 add search indexes
* 7016 add search indexes
* 8927 refactor search
* 8927 refactor search
* 8927 refactor search
* 8927 refactor search
* 8927 get search choices working
* 8927 cleanup - optimize
* 8927 use backend search function
* 8927 fix for plugin search
* 8927 add docs
* Move search app to a module under netbox/
* Utilize global registry to register model search classes
* Build search form options from registry
* Determine search categories from model app by default
* Enable dynamic search registration for plugins
* Update docs & improve plugin support
* Clean up search backend class
* Docs for #8927
Co-authored-by: jeremystretch <jstretch@ns1.com >
2022-10-10 14:00:59 -04:00
Jonathan Senecal
53b9330dae
Initial implementation
...
- Allows to specify a list of django-apps to be "installed" alongside the plugin.
(cherry picked from commit 6c7296200d756d2acbba3a589a7759f3a690cc48)
2022-09-30 17:18:12 -04:00
jeremystretch
3f9a697516
Add test for plugin menu registration
2022-09-28 16:57:40 -04:00
jeremystretch
222ee23c00
Add documentation for PluginMenu
2022-09-28 16:44:16 -04:00
jeremystretch
0ed28ab36c
Enable plugins to create root-level navigation menus
2022-09-28 16:08:03 -04:00
Arthur
b3e4665483
9071 add header to plugin menu
2022-09-22 10:01:19 -07:00
jeremystretch
9cbb399e19
Fix plugin name resolution
2022-02-09 12:55:10 -05:00
jeremystretch
41b804d350
Initial work on GraphQL
2022-02-04 15:06:58 -05:00
jeremystretch
5b3d3bd6c1
Refactor plugins registry
2022-02-04 14:37:29 -05:00
jeremystretch
74af96c2c0
Enable plugins to define user preferences
2021-12-22 09:10:50 -05:00
Jeremy Stretch
78c45e23b1
Merge branch 'feature' into 6651-plugins-rq-queues
2021-07-09 08:43:39 -04:00
jeremystretch
9e96f2c633
Drop caching_config from plugin configuration
2021-07-07 17:04:21 -04:00
maximumG
d9d4d15254
feat: Netbox plugin can defined their own RQ queues
2021-07-07 15:26:33 +02:00
Thomas
1ed493406f
Update views.py
...
Fixing typo in 'version'
2021-05-14 18:22:01 +02:00
Jeremy Stretch
458aeb9cce
Fixes #5446 : Fix validation for plugin version and required settings
2020-12-11 16:05:50 -05:00
Jeremy Stretch
3f19165db2
Fixes #5285 : Include plugin API endpoints in root view without needing app_name set
2020-10-29 12:30:10 -04:00
Glenn Matthews
1fcf13ad29
Refactor repeated import code
2020-07-14 17:15:17 -04:00
Glenn Matthews
a62702df79
Don't ignore ImportErrors raised when loading a plugin. Fixes #4805
2020-07-07 09:14:33 -04:00
Jeremy Stretch
3b9fe64105
Use packaging.version.parse directly
2020-04-10 11:18:01 -04:00
Jeremy Stretch
90f374d24c
Add tests for plugin configuration, min/max version
2020-04-06 11:44:38 -04:00
Jeremy Stretch
3ada8feeb5
Naming tweaks
2020-04-02 15:43:23 -04:00
Jeremy Stretch
cb38efbc1f
Initial implementation of tests for plugins framework
2020-04-01 17:08:47 -04:00
Jeremy Stretch
e863ea8cb8
Move default caching_config to PluginConfig class
2020-04-01 12:10:19 -04:00
Jeremy Stretch
d1ece9f6fa
Convert installed_plugins_admin_view to a class-based view
2020-03-27 13:35:25 -04:00
Jeremy Stretch
21341b576a
Clean up plugin URL registration
2020-03-27 13:26:53 -04:00
Jeremy Stretch
a6b0249393
Expose regsitry in templates using existing context processor for settings
2020-03-27 13:18:51 -04:00
Jeremy Stretch
e861cd87bf
Improved menu item/button validation
2020-03-27 13:12:58 -04:00
Jeremy Stretch
b27b3d5175
Rename obj to object; clean up docstrings
2020-03-26 21:46:56 -04:00
Jeremy Stretch
56fde3f5b2
Restrict context data available to PluginTemplateExtensions
2020-03-26 16:50:55 -04:00
Jeremy Stretch
a9421e453b
Extend menu items and buttons to accept a list of required permissions
2020-03-26 16:04:12 -04:00
Jeremy Stretch
849598cb8e
Remove unused PluginSignal class
2020-03-26 12:26:58 -04:00
Jeremy Stretch
82d98073ae
Standardize naming of menu items
2020-03-26 12:25:36 -04:00
Jeremy Stretch
d315eda4fa
Rename PluginTemplateContent to PluginTemplateExtension
2020-03-26 12:18:58 -04:00
Jeremy Stretch
4f93c524e0
Rename PluginNavMenuButton to PluginMenuButton
2020-03-26 11:30:42 -04:00
Jeremy Stretch
5952f5f25d
Rename PluginNavMenuLink to PluginMenuItem
2020-03-26 11:29:05 -04:00
Jeremy Stretch
77b1d11d27
Add a default button color
2020-03-26 11:26:11 -04:00