Commit Graph

234 Commits

Author SHA1 Message Date
Arthur Hanson 45c99e4477
9856 Replace graphene with Strawberry (#15141)
* 9856 base strawberry integration

* 9856 user and group

* 9856 user and circuits base

* 9856 extras and mixins

* 9856 fk

* 9856 update strawberry version

* 9856 update imports

* 9856 compatability fixes

* 9856 compatability fixes

* 9856 update strawberry types

* 9856 update strawberry types

* 9856 core schema

* 9856 dcim schema

* 9856 extras schema

* 9856 ipam and tenant schema

* 9856 virtualization, vpn, wireless schema

* 9856 fix old decorator

* 9856 cleanup

* 9856 cleanup

* 9856 fixes to circuits type specifiers

* 9856 fixes to circuits type specifiers

* 9856 update types

* 9856 GFK working

* 9856 GFK working

* 9856 _name

* 9856 misc fixes

* 9856 type updates

* 9856 _name to types

* 9856 update types

* 9856 update types

* 9856 update types

* 9856 update types

* 9856 update types

* 9856 update types

* 9856 update types

* 9856 update types

* 9856 update types

* 9856 GraphQLView

* 9856 GraphQLView

* 9856 fix OrganizationalObjectType

* 9856 single item query for schema

* 9856 circuits graphql tests working

* 9856 test fixes

* 9856 test fixes

* 9856 test fixes

* 9856 test fix vpn

* 9856 test fixes

* 9856 test fixes

* 9856 test fixes

* 9856 circuits test sans DjangoModelType

* 9856 core test sans DjangoModelType

* 9856 temp checkin

* 9856 fix extas FK

* 9856 fix tenancy FK

* 9856 fix virtualization FK

* 9856 fix vpn FK

* 9856 fix wireless FK

* 9856 fix ipam FK

* 9856 fix partial dcim FK

* 9856 fix dcim FK

* 9856 fix virtualization FK

* 9856 fix tests / remove debug code

* 9856 fix test imagefield

* 9856 cleanup graphene

* 9856 fix plugin schema

* 9856 fix requirements

* 9856 fix requirements

* 9856 fix docs

* 9856 fix docs

* 9856 temp fix tests

* 9856 first filterset

* 9856 first filterset

* 9856 fix tests

* 9856 fix tests

* 9856 working auto filter generation

* 9856 filter types

* 9856 filter types

* 9856 filter types

* 9856 fix graphiql test

* 9856 fix counter fields and merge feature

* 9856 temp fix tests

* 9856 fix tests

* 9856 fix tenancy, ipam filter definitions

* 9856 cleanup

* 9856 cleanup

* 9856 cleanup

* 9856 review changes

* 9856 review changes

* 9856 review changes

* 9856 fix base-requirements

* 9856 add wrapper to graphiql

* 9856 remove old graphiql debug toolbar

* 9856 review changes

* 9856 update strawberry

* 9856 remove superfluous check

---------

Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
2024-03-22 12:56:30 -04:00
Jeremy Stretch a9bb4c5c3e Move choice sets from utilities.choices to netbox.choices 2024-03-22 08:59:52 -04:00
Jeremy Stretch 89150f4b27 Add form rendering utilities to plugins dev docs 2024-03-19 13:34:13 -04:00
Jeremy Stretch 74e67afa41 Merge branch 'develop' into feature 2024-02-05 14:38:26 -05:00
Mattias L ba755221bb
Improved docs for how to register dashboard widgets (#14913) 2024-01-26 14:15:28 -05:00
Jeremy Stretch 3aaf370d4a Closes #14889: Update source path for DataBackend class 2024-01-22 14:54:02 -05:00
Jeremy Stretch 7bedf48a97 Closes #14638: Drop support for Python 3.8 and 3.9 2024-01-03 13:33:00 -05:00
Jeremy Stretch c1ff74894c #14036: Update import paths in example plugin code 2023-12-29 09:21:06 -05:00
Arthur Hanson a38a38218b
14132 Add EventRule - change webhook and add in script processing to events (#14267)
---------

Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
2023-11-30 16:36:33 -05:00
Jeremy Stretch 8e7146cd06 v3.7 documentation updates 2023-11-28 13:11:30 -05:00
Jeremy Stretch e767fec5cc
Closes #14173: Enable plugins to register columns on core tables (#14265)
* Closes #14173: Enable plugins to register columns on core tables

* Support translation for column name

* Document new registry store
2023-11-16 12:16:35 -05:00
Jeremy Stretch 3d20276f55
Closes #14134: Display additional object attributes in global search results (#14154)
* WIP

* Add display_attrs for all indexers

* Linkify object attributes

* Clean up prefetch logic

* Use tooltips for display attributes

* Simplify template code

* Introduce get_indexer() utility function

* Add  to examples in docs

* Use tooltips to display long strings
2023-11-09 16:21:09 -05:00
Jeremy Stretch 30ce9edf1c
Closes #13381: Enable plugins to register custom data backends (#14095)
* Initial work on #13381

* Fix backend type display in table column

* Fix data source type choices during bulk edit

* Misc cleanup

* Move backend utils from core app to netbox

* Move backend type validation from serializer to model
2023-10-24 11:35:53 -04:00
Jeremy Stretch f962fb3b53
Closes #13638: Add optional staff_only attribute to MenuItem (#13639)
* Closes #13638: Add optional staff_only attribute to MenuItem

* Add missing file

* Add release note
2023-08-31 11:23:44 -04:00
Jeremy Stretch 646d52d498 Misc docs cleanup for v3.6 2023-08-09 10:12:40 -04:00
Jeremy Stretch 699b4dfade Update feature introduction flags 2023-08-01 14:25:25 -04:00
Jeremy Stretch 837be4d45f Merge branch 'develop' into feature 2023-07-11 10:09:26 -04:00
Arthur 3754e00ee0 12809 document not to use underscores in model names 2023-06-29 15:49:47 -04:00
jeremystretch 02db0bcc2e Closes #11766: Remove obsolete custom ChoiceField and MultipleChoiceField classes 2023-05-12 16:27:50 -04:00
jeremystretch d5d2431cbd Docs cleanup for v3.5 2023-04-18 16:58:53 -04:00
Jeremy Stretch d470848b29
Closes #12246: General cleanup of utilities modules
* Clean up base modules

* Clean up forms modules

* Clean up templatetags modules

* Replace custom simplify_decimal filter with floatformat

* Misc cleanup

* Merge ReturnURLForm into ConfirmationForm

* Clean up import statements for utilities.forms

* Fix field class references in docs
2023-04-14 10:33:53 -04:00
jeremystretch 53abcc0f5c Closes #12136: Extend object count & list widgets to support filters 2023-04-03 15:02:11 -04:00
jeremystretch 0676ed45c7 Closes #12107: Document support for plugin-provided dashboard widgets 2023-04-03 14:15:18 -04:00
jeremystretch 402d5d955f Documentation cleanup 2023-03-20 16:37:47 -04:00
Jeremy Stretch b9bd96f0c7 Closes #11765: Remove StaticSelect & StaticSelectMultiple (#11767)
* Remove StaticSelect, StaticSelectMultiple form widgets

* Tag custom ChoiceField, MultipleChoiceField classes for removal in v3.6
2023-02-19 20:09:51 -05:00
jeremystretch ef3ac25406 Remove old feature version notices 2023-02-19 20:09:51 -05:00
jeremystretch 2381317eb3 Closes #10604: Remove unused extra_tabs block from object.html generic template 2023-02-19 20:09:51 -05:00
jeremystretch 46ede62f3f Fix rendering of example code 2023-01-30 10:25:20 -05:00
jeremystretch 80f5c96af3 Document save_object() on BulkImportView 2022-11-16 08:47:45 -05:00
jeremystretch 0c0c848597 Clean up plugins documentation 2022-11-15 16:55:18 -05:00
jeremystretch 23c0ca456f #4347: Rename NetBoxModelCSVForm to NetBoxModelImportForm 2022-11-15 12:24:57 -05:00
Jeremy Stretch a5308ea28e
Closes #10851: New staging mechanism (#10890)
* WIP

* Convert checkout() context manager to a class

* Misc cleanup

* Drop unique constraint from Change model

* Extend staging tests

* Misc cleanup

* Incorporate M2M changes

* Don't cancel wipe out creation records when an object is deleted

* Rename Change to StagedChange

* Add documentation for change staging
2022-11-14 13:55:03 -05:00
Arthur Hanson 27bf7b4a9a
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 13afc52617 Closes #10543: Introduce get_plugin_config() utility function 2022-11-03 13:18:58 -04:00
jeremystretch dbe66596f9 Closes #9887: Inspect docs_url property to determine link to model documentation 2022-10-27 09:44:09 -04:00
jeremystretch b2e2e3be35 Closes #10739: Introduce get_queryset() method on generic views 2022-10-25 11:33:20 -04:00
Jeremy Stretch 9628dead07
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 bd79a27e4d Merge branch 'develop' into feature 2022-10-20 16:07:03 -04:00
Arthur Hanson bb150379a2
10571 replace deprecated mkdoc settings (#10622)
* 10571 replace deprecated mkdoc settings

* Omit landing page from docs nav menu

Co-authored-by: jeremystretch <jstretch@ns1.com>
2022-10-12 08:36:02 -04:00
Arthur Hanson ffce5d968d
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
jeremystretch 053c97b7a8 Docs and test for #9072 2022-10-07 15:03:52 -04:00
jeremystretch c481a1b6a2 Merge branch 'develop' into feature 2022-10-05 10:28:48 -04:00
jeremystretch cf062b5b6a Closes #10346: Document how to access plugin config parameters 2022-10-03 13:56:46 -04:00
jeremystretch 0607295081 Docs cleanup 2022-09-30 17:18:12 -04:00
Jonathan Senecal d4a7af8a89 Update plugins development docs 2022-09-30 17:18:12 -04:00
jeremystretch d0465242a3 Add documentation for PluginMenu 2022-09-28 16:44:16 -04:00
Arthur 7deb9fde9e 9071 add documentation 2022-09-26 14:41:46 -07:00
jeremystretch 6a9274a95f Closes #10314: Move clone() method from NetBoxModel to CloningMixin 2022-09-13 14:36:37 -04:00
itok 173f27cb64
Update filtersets.md
corrected typos on the page,
an issue report has also been submitted at https://github.com/netbox-community/netbox/issues/10179
regards,
2022-08-28 13:53:53 +03:00
jeremystretch a6c431f3ba Reorganize configuration docs 2022-07-29 15:10:50 -04:00
jeremystretch 1ddb219a0c Documentation cleanup 2022-07-11 17:29:25 -04:00
jeremystretch a57398b0d6 Closes #9647: Introduce customfield_value template tag 2022-07-01 14:45:22 -04:00
jeremystretch 3a6f46bf38 Closes #9075: Introduce AbortRequest exception for cleanly interrupting object mutations 2022-06-30 15:15:07 -04:00
jeremystretch a0f9b5e47b Document support for ObjectChildrenView 2022-06-29 14:30:47 -04:00
jeremystretch f9d81fd362 Closes #9414: Add clone() method to NetBoxModel for copying instance attributes 2022-06-23 15:21:10 -04:00
jeremystretch 5838a9f3a0 Closes #9451: Add export_raw argument for TemplateColumn 2022-05-31 12:20:39 -04:00
jeremystretch f72d160249 Add form examples to plugin dev docs 2022-03-23 12:12:31 -04:00
jeremystretch 75dae5fbe8 Introduce linkify template filter 2022-03-22 14:51:20 -04:00
jeremystretch ca44a654a5 Closes #8794: Support dynamic configuration for JournalEntry kinds 2022-03-21 16:35:24 -04:00
jeremystretch 0c5eab680b Document the use of WritableNestedSerializer 2022-03-21 15:22:45 -04:00
jeremystretch 3dc671395e Introduce local ChoiceField and MultipleChoiceField classes 2022-03-21 15:08:05 -04:00
jeremystretch ed0c19807a Link to plugin tutorial in development docs 2022-03-18 13:43:58 -04:00
jeremystretch 59aba52b03 Rename OrderedDefaultRouter to NetBoxRouter & document for plugins 2022-03-11 15:59:03 -05:00
jeremystretch 6d05a4117a Update plugins documentation 2022-03-11 15:47:52 -05:00
jeremystretch e36ae4f0f7 Document support for NetBoxModelSerializer, NetBoxModelViewSet 2022-03-09 11:52:14 -05:00
jeremystretch 28f7b411ed Revise plugins documentation 2022-03-08 15:44:35 -05:00
jeremystretch dadd8cb93a Support the direct use of TagFilter 2022-03-02 12:06:07 -05:00
jeremystretch 5f8af6ad66 Closes #8779: Enable the use of ChoiceSet by plugins 2022-03-02 11:43:28 -05:00
jeremystretch 0953bba0a3 Closes #8747: Rename ObjectListView action_buttons to actions 2022-02-24 16:33:51 -05:00
jeremystretch 71d3dc6e44 Improve ChoiceFieldColumn to not rely on model method to derive label color 2022-02-10 16:29:19 -05:00
jeremystretch d42c59792f #8334: Move object changelog & journaling to generic views 2022-02-09 16:24:10 -05:00
jeremystretch 7c105019d8 Closes #8600: Document built-in template tags & filters 2022-02-09 16:01:58 -05:00
jeremystretch ee566723d7 Document supported table columns 2022-02-09 14:31:40 -05:00
jeremystretch 23a80770e1 Move configure_table() logic to NetBoxTable.configure() 2022-02-09 14:10:54 -05:00
jeremystretch d9b7c012a6 Document templates supported for plugin use 2022-02-08 12:14:37 -05:00
jeremystretch dae5c94be0 Expose BaseObjectType and NetBoxObjectType for plugins 2022-02-04 15:07:35 -05:00
jeremystretch 03ea257711 Initial work on GraphQL 2022-02-04 15:06:58 -05:00
jeremystretch 478eefb74c Merge v3.1.7 2022-02-03 12:55:34 -05:00
jeremystretch cf3ca5a661 Refactor & document supported form fields 2022-01-31 14:10:13 -05:00
jeremystretch f4776731ec Establish 4 core forms in netbox.forms.base 2022-01-28 15:48:15 -05:00
jeremystretch 3c1ea5d0fb Closes #8470: Expose NetBoxTable in the plugins framework 2022-01-27 16:14:02 -05:00
jeremystretch 083d1acb81 Closes #8453: Rename PrimaryModelFilterSet to NetBoxModelFilterSet & expose for plugins 2022-01-27 09:27:33 -05:00
jeremystretch c5650bb278 Rename PrimaryModel to NetBoxModel 2022-01-26 20:57:14 -05:00
jeremystretch a795b95f7e Closes #8451: Include ChangeLoggingMixin in BaseModel 2022-01-26 20:41:41 -05:00
jeremystretch 497afcc1e4 Rearrange plugins documentation 2022-01-25 13:53:31 -05:00
jeremystretch a74ed33b0e Move get_object() to BaseObjectView 2022-01-21 14:41:37 -05:00
jeremystretch e03593d86f Move get_extra_context() to base views 2022-01-21 14:01:14 -05:00
jeremystretch 54834c47f8 Refactor generic views; add plugins dev documentation 2022-01-20 16:31:55 -05:00
jeremystretch e6acae5f94 Omit job results as a supported feature 2022-01-20 11:41:00 -05:00
jeremystretch 1a8f144f5c Include custom validation in BaseModel 2022-01-20 10:53:00 -05:00
jeremystretch dd55226455 Draft documentation for model features 2022-01-19 16:47:41 -05:00
jeremystretch 3e3880823b Merge v3.1.6 2022-01-17 11:12:54 -05:00
jeremystretch e19451bb4f Plug WG8333 in the plugins development docs 2022-01-12 14:40:33 -05:00
jeremystretch 1aafcf241f Enable plugins to define user preferences 2021-12-22 09:10:50 -05:00
jeremystretch 62e5680eaf Closes #7731: Require Python 3.8 or later 2021-12-09 15:35:40 -05:00
jeremystretch a6e79a1d61 Add virtualenv instructions to plugin development docs 2021-09-13 10:58:03 -04:00
Daniel Vaccaro-Senna 2a95e1bf71 Fixes #7195 update base template in plugin dev doc 2021-09-10 16:03:46 +01:00
jeremystretch 803f9b6913 Merge branch 'develop' into feature 2021-07-20 17:06:18 -04:00
jeremystretch 31e41f8f02 Closes #6767: Add support for Python 3.9 2021-07-19 10:43:52 -04:00
jeremystretch dd0489c1c5 Closes #6753: Add plugin removal instructions to the docs 2021-07-14 10:43:18 -04:00
Jeremy Stretch fd58eeae1d
Merge branch 'feature' into 6651-plugins-rq-queues 2021-07-09 08:43:39 -04:00
maximumG dce3e0763f chore: documentation about netbox plugin queueing system 2021-07-09 09:42:03 +02:00
jeremystretch f683f0786e Drop caching_config from plugin configuration 2021-07-07 17:04:21 -04:00
Daniel Sheppard dac93b9840 Fixes #5254 - Require plugin authors to set zip_safe=False 2020-12-17 16:18:10 -06:00
Jeremy Stretch 2ccc543542 Document the available template blocks within base.html 2020-10-29 17:10:19 -04:00
Jeremy Stretch 0d01a3fce8 Add schema migrations to plugins installation doc 2020-10-14 10:42:31 -04:00
Jeremy Stretch 24e5dd0c78 Add scope warning to plugins development doc 2020-10-09 12:56:32 -04:00
Jeremy Stretch 78d104e60c Fixes #5046: Disabled plugin menu items are no longer clickable 2020-09-04 14:13:35 -04:00
Jeremy Stretch 4262e2ef09 Closes #4916: Clarify plugin config behavior when specifying a default value for a required setting 2020-07-28 17:12:46 -04:00
Jeremy Stretch 5de085d83d Tweak PluginMenuButton icon_class to require additional "fa" class 2020-04-10 10:36:03 -04:00
Jeremy Stretch db70f04447 Minor tweaks to plugins development doc 2020-04-10 10:20:36 -04:00
Jeremy Stretch ed05198c45 Add static file collection to plugins installation doc 2020-04-09 14:52:18 -04:00
Jeremy Stretch 58442b1af6 Correct author name parameter 2020-04-06 11:43:52 -04:00
Jeremy Stretch 0432b1a6f9 Move default caching_config to PluginConfig class 2020-04-01 12:10:19 -04:00
Jeremy Stretch f469c794ce Change PLUGINS_ENABLED to a list of specific plugins (PLUGINS) 2020-04-01 10:10:29 -04:00
Jeremy Stretch 8a3ebf64bc Rename obj to object; clean up docstrings 2020-03-26 21:46:56 -04:00
Jeremy Stretch f03cc96050 Restrict context data available to PluginTemplateExtensions 2020-03-26 16:50:55 -04:00
Jeremy Stretch e7f7b14214 Extend menu items and buttons to accept a list of required permissions 2020-03-26 16:04:12 -04:00
Jeremy Stretch 877417d68f Rename PluginTemplateContent to PluginTemplateExtension 2020-03-26 12:18:58 -04:00
Jeremy Stretch 62f14f0473 Convert PluginConfig attrs list to a table 2020-03-26 12:03:10 -04:00
Jeremy Stretch d316d8ac61 Rename PluginNavMenuButton to PluginMenuButton 2020-03-26 11:30:42 -04:00
Jeremy Stretch 40574b65af Rename PluginNavMenuLink to PluginMenuItem 2020-03-26 11:29:05 -04:00
Jeremy Stretch 81c9177c09 Add a default button color 2020-03-26 11:26:11 -04:00
Jeremy Stretch 68ef5dd2a4 Revised plugins documentation 2020-03-26 11:09:20 -04:00
Jeremy Stretch 5540079e81 Add documentation for PluginTemplateContent 2020-03-25 16:32:16 -04:00
Jeremy Stretch d0edd9d5c1 Update documentation for #4401 2020-03-25 14:33:32 -04:00
Jeremy Stretch 2a47bb8b54 Rename url_slug to base_url 2020-03-24 16:20:47 -04:00
Jeremy Stretch 579c365808 Extend plugins docs to include nav menu links 2020-03-24 15:22:57 -04:00
Jeremy Stretch 745ac294a5 Tweak plugin template docs 2020-03-24 14:21:08 -04:00
Jeremy Stretch eedda6e648 Incorporate John's feedback 2020-03-24 09:42:24 -04:00
Jeremy Stretch 0a8b09a11a Add docs for plugin API endpoints 2020-03-23 13:58:45 -04:00
Jeremy Stretch 0b77702626 Add docs for plugin models, views 2020-03-23 13:28:56 -04:00
Jeremy Stretch 2188b0982c More work on plugins development docs 2020-03-23 12:00:10 -04:00
Jeremy Stretch 33ca352fd9 Initial documentation for plugins framework 2020-03-20 14:21:49 -04:00