Skip to content

Commit

Permalink
Merge pull request #122 from globocom/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
Laura authored Jan 18, 2021
2 parents f4549e4 + 082014a commit cb9dfbc
Show file tree
Hide file tree
Showing 5 changed files with 334 additions and 184 deletions.
23 changes: 21 additions & 2 deletions CadVlan/Environment/templates/v3/cidr.html
Original file line number Diff line number Diff line change
Expand Up @@ -126,9 +126,18 @@
</option>
</select>

<label for="maskv4"
style="margin-left: 10px;">
Máscara da rede:
</label>
<input name="maskv4"
data-form-field="maskv4"
style="width: 26px;"
id="maskv4">

<label for="prefixv4"
style="margin-left: 10px;">
Máscara da subnet:
Máscara da subrede:
</label>
<input name="prefixv4"
data-form-field="prefixv4"
Expand All @@ -150,14 +159,24 @@
</option>
</select>

<label for="maskv6"
style="margin-left: 10px;">
Máscara da rede:
</label>
<input name="maskv6"
data-form-field="maskv6"
style="width: 26px;"
id="maskv6">

<label for="prefixv6"
style="margin-left: 10px;">
Máscara da subnet:
Máscara da subrede:
</label>
<input name="prefixv6"
data-form-field="prefixv6"
style="width: 26px;"
id="prefixv6">

</div>

<div id="prefix"
Expand Down
13 changes: 10 additions & 3 deletions CadVlan/Environment/views_v3.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ def ajax_autocomplete_environment_vlan(request):
}

envs = client.create_api_environment().search(
fields=["id", "name", "min_num_vlan_1", "max_num_vlan_1"],
fields=["id", "name", "min_num_vlan_1", "max_num_vlan_1", "min_num_vlan_2", "max_num_vlan_2"],
search=data)
env_list = cache_environment_list(envs.get('environments'))

Expand Down Expand Up @@ -365,6 +365,11 @@ def allocate_cidr(request, id_environment):
v4 = request.POST.get('v4_auto')
v6 = request.POST.get('v6_auto')
network_type = request.POST.get('net_type')
network_mask4 = request.POST.get('maskv4') \
if request.POST.get('maskv4') else None
network_mask6 = request.POST.get('maskv6') \
if request.POST.get('maskv6') else None

cidr = list()

if int(v4):
Expand All @@ -375,7 +380,8 @@ def allocate_cidr(request, id_environment):
cidrv4 = dict(ip_version='v4',
network_type=network_type,
subnet_mask=prefix_v4,
environment=int(id_environment))
environment=int(id_environment),
network_mask=network_mask4)
cidr.append(cidrv4)
if int(v6):
prefix_v6 = request.POST.get('prefixv6')
Expand All @@ -384,7 +390,8 @@ def allocate_cidr(request, id_environment):
cidrv6 = dict(ip_version='v6',
network_type=network_type,
subnet_mask=str(prefix_v6),
environment=int(id_environment))
environment=int(id_environment),
network_mask=network_mask6)
cidr.append(cidrv6)

if not cidr:
Expand Down
25 changes: 16 additions & 9 deletions CadVlan/EquipInterface/views_v3.py
Original file line number Diff line number Diff line change
Expand Up @@ -802,16 +802,16 @@ def add_channel_(request):
envs = client.create_api_environment().search(
fields=["name", "id"], search=data)

env_id = None
envs_vlans = list()

for e, v in zip(request.POST.getlist('environment'), request.POST.getlist('rangevlan')):
for obj in envs.get('environments'):
if obj.get('name') == e:
env_id = obj.get('id')
if env_id:
try:
env_id = int(e.split(" ")[0])
group = dict(env=env_id, vlans=v)
envs_vlans.append(group)

except:
messages.add_message(request, messages.WARNING,
"Os ambientes não foram associados ao channel.")
channel = {
'name': request.POST.get('channelnumber'),
'lacp': True if int(request.POST.get('lacp_yes')) else False,
Expand Down Expand Up @@ -1080,9 +1080,7 @@ def dissociate_channel_interface(request, channel_id, interface_id):
sw_ids = list()
interfaces = client.create_api_interface_request().search(
search=data, fields=fields_get).get('interfaces')
interface_obj = interfaces[0]
for i in interfaces:
sw_ids.append(int(i.get('id')))

except NetworkAPIClientError as e:
logger.error(e)
messages.add_message(request, messages.WARNING,
Expand All @@ -1091,6 +1089,15 @@ def dissociate_channel_interface(request, channel_id, interface_id):
'HTTP_REFERER') else reverse('interface.list')
return HttpResponseRedirect(url)

# Channel must be deleted if has only one interface
if len(interfaces) <= 1:
client.create_api_interface_request().remove_channel([channel_id])
return HttpResponseRedirect(reverse("interface.edit", args=[interface_id]))

interface_obj = interfaces[0]
for i in interfaces:
sw_ids.append(int(i.get('id')))

sw_ids.remove(int(interface_id))

data["asorting_cols"] = ["id"]
Expand Down
Loading

0 comments on commit cb9dfbc

Please sign in to comment.