20
20
from extras .views import ObjectConfigContextView
21
21
from ipam .models import ASN , IPAddress , Prefix , VLAN , VLANGroup
22
22
from ipam .tables import InterfaceVLANTable
23
+ from netbox .constants import DEFAULT_ACTION_PERMISSIONS
23
24
from netbox .views import generic
24
25
from tenancy .views import ObjectContactsView
25
26
from utilities .forms import ConfirmationForm
46
47
47
48
48
49
class DeviceComponentsView (generic .ObjectChildrenView ):
49
- actions = ('add' , 'import' , 'export' , 'bulk_edit' , 'bulk_delete' , 'bulk_rename' , 'bulk_disconnect' )
50
- action_perms = defaultdict (set , ** {
51
- 'add' : {'add' },
52
- 'import' : {'add' },
53
- 'bulk_edit' : {'change' },
54
- 'bulk_delete' : {'delete' },
50
+ actions = {
51
+ ** DEFAULT_ACTION_PERMISSIONS ,
55
52
'bulk_rename' : {'change' },
56
53
'bulk_disconnect' : {'change' },
57
- })
54
+ }
58
55
queryset = Device .objects .all ()
59
56
60
57
def get_children (self , request , parent ):
@@ -1977,7 +1974,10 @@ class DeviceModuleBaysView(DeviceComponentsView):
1977
1974
table = tables .DeviceModuleBayTable
1978
1975
filterset = filtersets .ModuleBayFilterSet
1979
1976
template_name = 'dcim/device/modulebays.html'
1980
- actions = ('add' , 'import' , 'export' , 'bulk_edit' , 'bulk_delete' , 'bulk_rename' )
1977
+ actions = {
1978
+ ** DEFAULT_ACTION_PERMISSIONS ,
1979
+ 'bulk_rename' : {'change' },
1980
+ }
1981
1981
tab = ViewTab (
1982
1982
label = _ ('Module Bays' ),
1983
1983
badge = lambda obj : obj .module_bay_count ,
@@ -1993,7 +1993,10 @@ class DeviceDeviceBaysView(DeviceComponentsView):
1993
1993
table = tables .DeviceDeviceBayTable
1994
1994
filterset = filtersets .DeviceBayFilterSet
1995
1995
template_name = 'dcim/device/devicebays.html'
1996
- actions = ('add' , 'import' , 'export' , 'bulk_edit' , 'bulk_delete' , 'bulk_rename' )
1996
+ actions = {
1997
+ ** DEFAULT_ACTION_PERMISSIONS ,
1998
+ 'bulk_rename' : {'change' },
1999
+ }
1997
2000
tab = ViewTab (
1998
2001
label = _ ('Device Bays' ),
1999
2002
badge = lambda obj : obj .device_bay_count ,
@@ -2005,11 +2008,14 @@ class DeviceDeviceBaysView(DeviceComponentsView):
2005
2008
2006
2009
@register_model_view (Device , 'inventory' )
2007
2010
class DeviceInventoryView (DeviceComponentsView ):
2008
- actions = ('add' , 'import' , 'export' , 'bulk_edit' , 'bulk_delete' , 'bulk_rename' )
2009
2011
child_model = InventoryItem
2010
2012
table = tables .DeviceInventoryItemTable
2011
2013
filterset = filtersets .InventoryItemFilterSet
2012
2014
template_name = 'dcim/device/inventory.html'
2015
+ actions = {
2016
+ ** DEFAULT_ACTION_PERMISSIONS ,
2017
+ 'bulk_rename' : {'change' },
2018
+ }
2013
2019
tab = ViewTab (
2014
2020
label = _ ('Inventory Items' ),
2015
2021
badge = lambda obj : obj .inventory_item_count ,
@@ -2187,14 +2193,10 @@ class ConsolePortListView(generic.ObjectListView):
2187
2193
filterset_form = forms .ConsolePortFilterForm
2188
2194
table = tables .ConsolePortTable
2189
2195
template_name = 'dcim/component_list.html'
2190
- actions = ('add' , 'import' , 'export' , 'bulk_edit' , 'bulk_delete' , 'bulk_rename' )
2191
- action_perms = defaultdict (set , ** {
2192
- 'add' : {'add' },
2193
- 'import' : {'add' },
2194
- 'bulk_edit' : {'change' },
2195
- 'bulk_delete' : {'delete' },
2196
+ actions = {
2197
+ ** DEFAULT_ACTION_PERMISSIONS ,
2196
2198
'bulk_rename' : {'change' },
2197
- })
2199
+ }
2198
2200
2199
2201
2200
2202
@register_model_view (ConsolePort )
@@ -2259,14 +2261,10 @@ class ConsoleServerPortListView(generic.ObjectListView):
2259
2261
filterset_form = forms .ConsoleServerPortFilterForm
2260
2262
table = tables .ConsoleServerPortTable
2261
2263
template_name = 'dcim/component_list.html'
2262
- actions = ('add' , 'import' , 'export' , 'bulk_edit' , 'bulk_delete' , 'bulk_rename' )
2263
- action_perms = defaultdict (set , ** {
2264
- 'add' : {'add' },
2265
- 'import' : {'add' },
2266
- 'bulk_edit' : {'change' },
2267
- 'bulk_delete' : {'delete' },
2264
+ actions = {
2265
+ ** DEFAULT_ACTION_PERMISSIONS ,
2268
2266
'bulk_rename' : {'change' },
2269
- })
2267
+ }
2270
2268
2271
2269
2272
2270
@register_model_view (ConsoleServerPort )
@@ -2331,14 +2329,10 @@ class PowerPortListView(generic.ObjectListView):
2331
2329
filterset_form = forms .PowerPortFilterForm
2332
2330
table = tables .PowerPortTable
2333
2331
template_name = 'dcim/component_list.html'
2334
- actions = ('add' , 'import' , 'export' , 'bulk_edit' , 'bulk_delete' , 'bulk_rename' )
2335
- action_perms = defaultdict (set , ** {
2336
- 'add' : {'add' },
2337
- 'import' : {'add' },
2338
- 'bulk_edit' : {'change' },
2339
- 'bulk_delete' : {'delete' },
2332
+ actions = {
2333
+ ** DEFAULT_ACTION_PERMISSIONS ,
2340
2334
'bulk_rename' : {'change' },
2341
- })
2335
+ }
2342
2336
2343
2337
2344
2338
@register_model_view (PowerPort )
@@ -2403,14 +2397,10 @@ class PowerOutletListView(generic.ObjectListView):
2403
2397
filterset_form = forms .PowerOutletFilterForm
2404
2398
table = tables .PowerOutletTable
2405
2399
template_name = 'dcim/component_list.html'
2406
- actions = ('add' , 'import' , 'export' , 'bulk_edit' , 'bulk_delete' , 'bulk_rename' )
2407
- action_perms = defaultdict (set , ** {
2408
- 'add' : {'add' },
2409
- 'import' : {'add' },
2410
- 'bulk_edit' : {'change' },
2411
- 'bulk_delete' : {'delete' },
2400
+ actions = {
2401
+ ** DEFAULT_ACTION_PERMISSIONS ,
2412
2402
'bulk_rename' : {'change' },
2413
- })
2403
+ }
2414
2404
2415
2405
2416
2406
@register_model_view (PowerOutlet )
@@ -2475,14 +2465,10 @@ class InterfaceListView(generic.ObjectListView):
2475
2465
filterset_form = forms .InterfaceFilterForm
2476
2466
table = tables .InterfaceTable
2477
2467
template_name = 'dcim/component_list.html'
2478
- actions = ('add' , 'import' , 'export' , 'bulk_edit' , 'bulk_delete' , 'bulk_rename' )
2479
- action_perms = defaultdict (set , ** {
2480
- 'add' : {'add' },
2481
- 'import' : {'add' },
2482
- 'bulk_edit' : {'change' },
2483
- 'bulk_delete' : {'delete' },
2468
+ actions = {
2469
+ ** DEFAULT_ACTION_PERMISSIONS ,
2484
2470
'bulk_rename' : {'change' },
2485
- })
2471
+ }
2486
2472
2487
2473
2488
2474
@register_model_view (Interface )
@@ -2595,14 +2581,10 @@ class FrontPortListView(generic.ObjectListView):
2595
2581
filterset_form = forms .FrontPortFilterForm
2596
2582
table = tables .FrontPortTable
2597
2583
template_name = 'dcim/component_list.html'
2598
- actions = ('add' , 'import' , 'export' , 'bulk_edit' , 'bulk_delete' , 'bulk_rename' )
2599
- action_perms = defaultdict (set , ** {
2600
- 'add' : {'add' },
2601
- 'import' : {'add' },
2602
- 'bulk_edit' : {'change' },
2603
- 'bulk_delete' : {'delete' },
2584
+ actions = {
2585
+ ** DEFAULT_ACTION_PERMISSIONS ,
2604
2586
'bulk_rename' : {'change' },
2605
- })
2587
+ }
2606
2588
2607
2589
2608
2590
@register_model_view (FrontPort )
@@ -2667,14 +2649,10 @@ class RearPortListView(generic.ObjectListView):
2667
2649
filterset_form = forms .RearPortFilterForm
2668
2650
table = tables .RearPortTable
2669
2651
template_name = 'dcim/component_list.html'
2670
- actions = ('add' , 'import' , 'export' , 'bulk_edit' , 'bulk_delete' , 'bulk_rename' )
2671
- action_perms = defaultdict (set , ** {
2672
- 'add' : {'add' },
2673
- 'import' : {'add' },
2674
- 'bulk_edit' : {'change' },
2675
- 'bulk_delete' : {'delete' },
2652
+ actions = {
2653
+ ** DEFAULT_ACTION_PERMISSIONS ,
2676
2654
'bulk_rename' : {'change' },
2677
- })
2655
+ }
2678
2656
2679
2657
2680
2658
@register_model_view (RearPort )
@@ -2739,14 +2717,10 @@ class ModuleBayListView(generic.ObjectListView):
2739
2717
filterset_form = forms .ModuleBayFilterForm
2740
2718
table = tables .ModuleBayTable
2741
2719
template_name = 'dcim/component_list.html'
2742
- actions = ('add' , 'import' , 'export' , 'bulk_edit' , 'bulk_delete' , 'bulk_rename' )
2743
- action_perms = defaultdict (set , ** {
2744
- 'add' : {'add' },
2745
- 'import' : {'add' },
2746
- 'bulk_edit' : {'change' },
2747
- 'bulk_delete' : {'delete' },
2720
+ actions = {
2721
+ ** DEFAULT_ACTION_PERMISSIONS ,
2748
2722
'bulk_rename' : {'change' },
2749
- })
2723
+ }
2750
2724
2751
2725
2752
2726
@register_model_view (ModuleBay )
@@ -2803,14 +2777,10 @@ class DeviceBayListView(generic.ObjectListView):
2803
2777
filterset_form = forms .DeviceBayFilterForm
2804
2778
table = tables .DeviceBayTable
2805
2779
template_name = 'dcim/component_list.html'
2806
- actions = ('add' , 'import' , 'export' , 'bulk_edit' , 'bulk_delete' , 'bulk_rename' )
2807
- action_perms = defaultdict (set , ** {
2808
- 'add' : {'add' },
2809
- 'import' : {'add' },
2810
- 'bulk_edit' : {'change' },
2811
- 'bulk_delete' : {'delete' },
2780
+ actions = {
2781
+ ** DEFAULT_ACTION_PERMISSIONS ,
2812
2782
'bulk_rename' : {'change' },
2813
- })
2783
+ }
2814
2784
2815
2785
2816
2786
@register_model_view (DeviceBay )
@@ -2936,14 +2906,10 @@ class InventoryItemListView(generic.ObjectListView):
2936
2906
filterset_form = forms .InventoryItemFilterForm
2937
2907
table = tables .InventoryItemTable
2938
2908
template_name = 'dcim/component_list.html'
2939
- actions = ('add' , 'import' , 'export' , 'bulk_edit' , 'bulk_delete' , 'bulk_rename' )
2940
- action_perms = defaultdict (set , ** {
2941
- 'add' : {'add' },
2942
- 'import' : {'add' },
2943
- 'bulk_edit' : {'change' },
2944
- 'bulk_delete' : {'delete' },
2909
+ actions = {
2910
+ ** DEFAULT_ACTION_PERMISSIONS ,
2945
2911
'bulk_rename' : {'change' },
2946
- })
2912
+ }
2947
2913
2948
2914
2949
2915
@register_model_view (InventoryItem )
@@ -3175,7 +3141,12 @@ class CableListView(generic.ObjectListView):
3175
3141
filterset = filtersets .CableFilterSet
3176
3142
filterset_form = forms .CableFilterForm
3177
3143
table = tables .CableTable
3178
- actions = ('import' , 'export' , 'bulk_edit' , 'bulk_delete' )
3144
+ actions = {
3145
+ 'import' : {'add' },
3146
+ 'export' : {'view' },
3147
+ 'bulk_edit' : {'change' },
3148
+ 'bulk_delete' : {'delete' },
3149
+ }
3179
3150
3180
3151
3181
3152
@register_model_view (Cable )
@@ -3269,7 +3240,9 @@ class ConsoleConnectionsListView(generic.ObjectListView):
3269
3240
filterset_form = forms .ConsoleConnectionFilterForm
3270
3241
table = tables .ConsoleConnectionTable
3271
3242
template_name = 'dcim/connections_list.html'
3272
- actions = ('export' ,)
3243
+ actions = {
3244
+ 'export' : {'view' },
3245
+ }
3273
3246
3274
3247
def get_extra_context (self , request ):
3275
3248
return {
@@ -3283,7 +3256,9 @@ class PowerConnectionsListView(generic.ObjectListView):
3283
3256
filterset_form = forms .PowerConnectionFilterForm
3284
3257
table = tables .PowerConnectionTable
3285
3258
template_name = 'dcim/connections_list.html'
3286
- actions = ('export' ,)
3259
+ actions = {
3260
+ 'export' : {'view' },
3261
+ }
3287
3262
3288
3263
def get_extra_context (self , request ):
3289
3264
return {
@@ -3297,7 +3272,9 @@ class InterfaceConnectionsListView(generic.ObjectListView):
3297
3272
filterset_form = forms .InterfaceConnectionFilterForm
3298
3273
table = tables .InterfaceConnectionTable
3299
3274
template_name = 'dcim/connections_list.html'
3300
- actions = ('export' ,)
3275
+ actions = {
3276
+ 'export' : {'view' },
3277
+ }
3301
3278
3302
3279
def get_extra_context (self , request ):
3303
3280
return {
0 commit comments