7
7
from tenancy .views import ObjectContactsView
8
8
from utilities .forms import ConfirmationForm
9
9
from utilities .utils import count_related
10
- from utilities .views import register_model_view
10
+ from utilities .views import GetRelatedModelsMixin , register_model_view
11
11
from . import filtersets , forms , tables
12
12
from .models import *
13
13
@@ -26,17 +26,12 @@ class ProviderListView(generic.ObjectListView):
26
26
27
27
28
28
@register_model_view (Provider )
29
- class ProviderView (generic .ObjectView ):
29
+ class ProviderView (GetRelatedModelsMixin , generic .ObjectView ):
30
30
queryset = Provider .objects .all ()
31
31
32
32
def get_extra_context (self , request , instance ):
33
- related_models = (
34
- (ProviderAccount .objects .restrict (request .user , 'view' ).filter (provider = instance ), 'provider_id' ),
35
- (Circuit .objects .restrict (request .user , 'view' ).filter (provider = instance ), 'provider_id' ),
36
- )
37
-
38
33
return {
39
- 'related_models' : related_models ,
34
+ 'related_models' : self . get_related_models ( request , instance ) ,
40
35
}
41
36
42
37
@@ -92,16 +87,12 @@ class ProviderAccountListView(generic.ObjectListView):
92
87
93
88
94
89
@register_model_view (ProviderAccount )
95
- class ProviderAccountView (generic .ObjectView ):
90
+ class ProviderAccountView (GetRelatedModelsMixin , generic .ObjectView ):
96
91
queryset = ProviderAccount .objects .all ()
97
92
98
93
def get_extra_context (self , request , instance ):
99
- related_models = (
100
- (Circuit .objects .restrict (request .user , 'view' ).filter (provider_account = instance ), 'provider_account_id' ),
101
- )
102
-
103
94
return {
104
- 'related_models' : related_models ,
95
+ 'related_models' : self . get_related_models ( request , instance ) ,
105
96
}
106
97
107
98
@@ -156,19 +147,20 @@ class ProviderNetworkListView(generic.ObjectListView):
156
147
157
148
158
149
@register_model_view (ProviderNetwork )
159
- class ProviderNetworkView (generic .ObjectView ):
150
+ class ProviderNetworkView (GetRelatedModelsMixin , generic .ObjectView ):
160
151
queryset = ProviderNetwork .objects .all ()
161
152
162
- def get_extra_context (self , request , instance ):
163
- related_models = (
153
+ def get_extra_related_models (self , request , instance ):
154
+ return (
164
155
(
165
156
Circuit .objects .restrict (request .user , 'view' ).filter (terminations__provider_network = instance ),
166
157
'provider_network_id' ,
167
158
),
168
159
)
169
160
161
+ def get_extra_context (self , request , instance ):
170
162
return {
171
- 'related_models' : related_models ,
163
+ 'related_models' : self . get_related_models ( request , instance , [ CircuitTermination ]) ,
172
164
}
173
165
174
166
@@ -215,16 +207,12 @@ class CircuitTypeListView(generic.ObjectListView):
215
207
216
208
217
209
@register_model_view (CircuitType )
218
- class CircuitTypeView (generic .ObjectView ):
210
+ class CircuitTypeView (GetRelatedModelsMixin , generic .ObjectView ):
219
211
queryset = CircuitType .objects .all ()
220
212
221
213
def get_extra_context (self , request , instance ):
222
- related_models = (
223
- (Circuit .objects .restrict (request .user , 'view' ).filter (type = instance ), 'type_id' ),
224
- )
225
-
226
214
return {
227
- 'related_models' : related_models ,
215
+ 'related_models' : self . get_related_models ( request , instance ) ,
228
216
}
229
217
230
218
0 commit comments