8
8
from ipaddress import IPv6Address , IPv4Address , ip_interface
9
9
from itertools import islice , chain
10
10
11
+ from django .conf import settings as django_settings
11
12
from django .contrib import messages
12
13
from django .contrib .auth .decorators import login_required
13
14
from django .core .exceptions import (
31
32
from django .views .defaults import bad_request
32
33
33
34
from adminapi .datatype import DatatypeError
34
- from adminapi .filters import Any , ContainedOnlyBy , filter_classes , Not
35
+ from adminapi .filters import Any , ContainedOnlyBy , filter_classes
35
36
from adminapi .parse import parse_query
36
37
from adminapi .request import json_encode_extra
37
38
@@ -109,6 +110,7 @@ def index(request):
109
110
'filters' : sorted ([(f .__name__ , f .__doc__ ) for f in filter_classes ]),
110
111
'search_settings' : search_settings ,
111
112
'servershell_plugins' : servershell_plugins (),
113
+ 'choose_ip_address' : django_settings .CHOOSE_IP_ADDRESS ,
112
114
})
113
115
114
116
@@ -392,6 +394,8 @@ def _edit(request: HttpRequest, server, edit_mode=False, template='edit'): # NO
392
394
'fields' : fields ,
393
395
'base_template' : 'base.html' ,
394
396
'link' : request .get_full_path (),
397
+ 'choose_ip_address' : django_settings .CHOOSE_IP_ADDRESS ,
398
+ 'servertype' : server ['servertype' ],
395
399
})
396
400
397
401
@@ -467,13 +471,13 @@ def clone_object(request):
467
471
468
472
469
473
@login_required
470
- def choose_ip_addr (request ):
474
+ def choose_ip_address (request ):
471
475
if 'network' not in request .GET :
472
476
servers = list (
473
477
Query ({'servertype' : 'route_network' }, ['hostname' , 'intern_ip' ],
474
478
['hostname' ]))
475
479
476
- return TemplateResponse (request , 'servershell/choose_ip_addr .html' ,
480
+ return TemplateResponse (request , 'servershell/choose_ip_address .html' ,
477
481
{'servers' : servers })
478
482
479
483
network = request .GET ['network' ]
@@ -490,15 +494,12 @@ def choose_ip_addr(request):
490
494
))
491
495
492
496
if servers :
493
- return TemplateResponse (request , 'servershell/choose_ip_addr .html' ,
497
+ return TemplateResponse (request , 'servershell/choose_ip_address .html' ,
494
498
{'servers' : servers })
495
499
496
- # TODO: This is specific to our data model, we should get it independent
497
- network_query = Query (
498
- {'intern_ip' : network , 'servertype' : Not ('provider_network' )},
499
- ['intern_ip' , 'servertype' ])
500
+ network_query = Query ({'intern_ip' : network }, ['intern_ip' ])
500
501
501
- return TemplateResponse (request , 'servershell/choose_ip_addr .html' , {
502
+ return TemplateResponse (request , 'servershell/choose_ip_address .html' , {
502
503
'ip_addrs' : islice (network_query .get_free_ip_addrs (), 50 )})
503
504
504
505
0 commit comments