Skip to content

Commit

Permalink
Merge pull request #158 from alehaa/feature/menu
Browse files Browse the repository at this point in the history
Arrange menu items
  • Loading branch information
matejv authored May 6, 2024
2 parents 661ed17 + 8091b59 commit ee59cb6
Showing 1 changed file with 37 additions and 23 deletions.
60 changes: 37 additions & 23 deletions netbox_inventory/navigation.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
from packaging import version

from django.conf import settings
from extras.plugins import PluginMenuItem, PluginMenuButton
from utilities.choices import ButtonColorChoices
Expand All @@ -18,13 +16,15 @@
link='plugins:netbox_inventory:asset_add',
title='Add',
icon_class='mdi mdi-plus-thick',
color=ButtonColorChoices.GREEN
color=ButtonColorChoices.GREEN,
permissions=["netbox_inventory.add_asset"],
),
PluginMenuButton(
link='plugins:netbox_inventory:asset_import',
title='Import',
icon_class='mdi mdi-upload',
color=ButtonColorChoices.CYAN,
permissions=["netbox_inventory.add_asset"],
)
]

Expand All @@ -33,13 +33,15 @@
link='plugins:netbox_inventory:supplier_add',
title='Add',
icon_class='mdi mdi-plus-thick',
color=ButtonColorChoices.GREEN
color=ButtonColorChoices.GREEN,
permissions=["netbox_inventory.add_supplier"],
),
PluginMenuButton(
link='plugins:netbox_inventory:supplier_import',
title='Import',
icon_class='mdi mdi-upload',
color=ButtonColorChoices.CYAN,
permissions=["netbox_inventory.add_supplier"],
)
]

Expand All @@ -48,13 +50,15 @@
link='plugins:netbox_inventory:purchase_add',
title='Add',
icon_class='mdi mdi-plus-thick',
color=ButtonColorChoices.GREEN
color=ButtonColorChoices.GREEN,
permissions=["netbox_inventory.add_purchase"],
),
PluginMenuButton(
link='plugins:netbox_inventory:purchase_import',
title='Import',
icon_class='mdi mdi-upload',
color=ButtonColorChoices.CYAN,
permissions=["netbox_inventory.add_purchase"],
)
]

Expand All @@ -63,13 +67,15 @@
link='plugins:netbox_inventory:delivery_add',
title='Add',
icon_class='mdi mdi-plus-thick',
color=ButtonColorChoices.GREEN
color=ButtonColorChoices.GREEN,
permissions=["netbox_inventory.add_delivery"],
),
PluginMenuButton(
link='plugins:netbox_inventory:delivery_import',
title='Import',
icon_class='mdi mdi-upload',
color=ButtonColorChoices.CYAN,
permissions=["netbox_inventory.add_delivery"],
)
]

Expand All @@ -78,13 +84,15 @@
link='plugins:netbox_inventory:inventoryitemtype_add',
title='Add',
icon_class='mdi mdi-plus-thick',
color=ButtonColorChoices.GREEN
color=ButtonColorChoices.GREEN,
permissions=["netbox_inventory.add_inventoryitemtype"],
),
PluginMenuButton(
link='plugins:netbox_inventory:inventoryitemtype_import',
title='Import',
icon_class='mdi mdi-upload',
color=ButtonColorChoices.CYAN,
permissions=["netbox_inventory.add_inventoryitemtype"],
)
]

Expand All @@ -93,23 +101,40 @@
link='plugins:netbox_inventory:inventoryitemgroup_add',
title='Add',
icon_class='mdi mdi-plus-thick',
color=ButtonColorChoices.GREEN
color=ButtonColorChoices.GREEN,
permissions=["netbox_inventory.add_inventoryitemgroup"],
),
PluginMenuButton(
link='plugins:netbox_inventory:inventoryitemgroup_import',
title='Import',
icon_class='mdi mdi-upload',
color=ButtonColorChoices.CYAN,
permissions=["netbox_inventory.add_inventoryitemgroup"],
)
]

menu_buttons = (
assets_buttons = (
PluginMenuItem(
link='plugins:netbox_inventory:asset_list',
link_text='Assets',
permissions=["netbox_inventory.view_asset"],
buttons=asset_buttons,
),
PluginMenuItem(
link='plugins:netbox_inventory:inventoryitemtype_list',
link_text='Inventory Item Types',
permissions=["netbox_inventory.view_inventoryitemtype"],
buttons=inventoryitemtype_buttons,
),
PluginMenuItem(
link='plugins:netbox_inventory:inventoryitemgroup_list',
link_text='Inventory Item Groups',
permissions=["netbox_inventory.view_inventoryitemgroup"],
buttons=inventoryitemgroup_buttons,
),
)

deliveries_buttons = (
PluginMenuItem(
link='plugins:netbox_inventory:supplier_list',
link_text='Suppliers',
Expand All @@ -128,18 +153,6 @@
permissions=["netbox_inventory.view_delivery"],
buttons=delivery_buttons,
),
PluginMenuItem(
link='plugins:netbox_inventory:inventoryitemtype_list',
link_text='Inventory Item Types',
permissions=["netbox_inventory.view_inventoryitemtype"],
buttons=inventoryitemtype_buttons,
),
PluginMenuItem(
link='plugins:netbox_inventory:inventoryitemgroup_list',
link_text='Inventory Item Groups',
permissions=["netbox_inventory.view_inventoryitemgroup"],
buttons=inventoryitemgroup_buttons,
),
)

# can't use utils.get_plugin_setting() here, get value manually
Expand All @@ -148,10 +161,11 @@
menu = PluginMenu(
label=f'Inventory',
groups=(
('Asset Management', menu_buttons),
('Asset Management', assets_buttons),
('Deliveries', deliveries_buttons),
),
icon_class='mdi mdi-clipboard-text-multiple-outline'
)
else:
# display under plugins
menu_items = menu_buttons
menu_items = assets_buttons + deliveries_buttons

0 comments on commit ee59cb6

Please sign in to comment.