From fd6739f0cc19347165e9145223ca1903510dda6f Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Fri, 27 Mar 2020 13:12:58 -0400 Subject: [PATCH] Improved menu item/button validation --- netbox/extras/plugins/__init__.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/netbox/extras/plugins/__init__.py b/netbox/extras/plugins/__init__.py index 93aceab3d..644188823 100644 --- a/netbox/extras/plugins/__init__.py +++ b/netbox/extras/plugins/__init__.py @@ -172,6 +172,8 @@ class PluginMenuItem: raise TypeError("Permissions must be passed as a tuple or list.") self.permissions = permissions if buttons is not None: + if type(buttons) not in (list, tuple): + raise TypeError("Buttons must be passed as a tuple or list.") self.buttons = buttons @@ -192,6 +194,8 @@ class PluginMenuButton: raise TypeError("Permissions must be passed as a tuple or list.") self.permissions = permissions if color is not None: + if color not in ButtonColorChoices.values(): + raise ValueError("Button color must be a choice within ButtonColorChoices.") self.color = color