fixed exception for groups without site

This commit is contained in:
Vas Sadvariy 2018-05-18 13:08:09 +10:00
parent d6385e03a1
commit a4f8a16c73
4 changed files with 6 additions and 10 deletions

View File

@ -114,7 +114,7 @@ VLAN_LINK = """
{% if record.pk %} {% if record.pk %}
<a href="{{ record.get_absolute_url }}">{{ record.vid }}</a> <a href="{{ record.get_absolute_url }}">{{ record.vid }}</a>
{% elif perms.ipam.add_vlan %} {% elif perms.ipam.add_vlan %}
<a href="{% url 'ipam:vlan_add' %}?vid={{ record.vid }}&site={{ vlan_group.site.pk }}&group={{ vlan_group.pk }}" class="btn btn-xs btn-success">{{ record.available }} VLAN{{ record.available|pluralize }} available</a> <a href="{% url 'ipam:vlan_add' %}?vid={{ record.vid }}&group={{ vlan_group.pk }}{% if vlan_group.site %}&site={{ vlan_group.site.pk }}{% endif %}" class="btn btn-xs btn-success">{{ record.available }} VLAN{{ record.available|pluralize }} available</a>
{% else %} {% else %}
{{ record.available }} VLAN{{ record.available|pluralize }} available {{ record.available }} VLAN{{ record.available|pluralize }} available
{% endif %} {% endif %}

View File

@ -858,12 +858,6 @@ class VLANGroupVLANsView(View):
vlans = VLAN.objects.filter(group_id=pk) vlans = VLAN.objects.filter(group_id=pk)
vlans = add_available_vlans(vlan_group, vlans) vlans = add_available_vlans(vlan_group, vlans)
first_available_vlan = 0
for v in vlans:
if not type(v) == VLAN:
first_available_vlan = v['vid']
break
vlan_table = tables.VLANDetailTable(vlans) vlan_table = tables.VLANDetailTable(vlans)
if request.user.has_perm('ipam.change_vlan') or request.user.has_perm('ipam.delete_vlan'): if request.user.has_perm('ipam.change_vlan') or request.user.has_perm('ipam.delete_vlan'):
vlan_table.columns.show('pk') vlan_table.columns.show('pk')
@ -885,7 +879,7 @@ class VLANGroupVLANsView(View):
return render(request, 'ipam/vlangroup_vlans.html', { return render(request, 'ipam/vlangroup_vlans.html', {
'vlan_group': vlan_group, 'vlan_group': vlan_group,
'first_available_vlan': first_available_vlan, 'first_available_vlan': vlan_group.get_next_available_vid(),
'vlan_table': vlan_table, 'vlan_table': vlan_table,
'permissions': permissions, 'permissions': permissions,
}) })

View File

@ -1,6 +1,6 @@
<div class="pull-right"> <div class="pull-right">
{% if perms.ipam.add_vlan and first_available_vlan %} {% if perms.ipam.add_vlan and first_available_vlan %}
<a href="{% url 'ipam:vlan_add' %}?vid={{ first_available_vlan }}&group={{ vlan_group.pk }}&site={{ vlan_group.site.pk }}" class="btn btn-success"> <a href="{% url 'ipam:vlan_add' %}?vid={{ first_available_vlan }}&group={{ vlan_group.pk }}{% if vlan_group.site %}&site={{ vlan_group.site.pk }}{% endif %}" class="btn btn-success">
<i class="fa fa-plus" aria-hidden="true"></i> Add a VLAN <i class="fa fa-plus" aria-hidden="true"></i> Add a VLAN
</a> </a>
{% endif %} {% endif %}

View File

@ -7,7 +7,9 @@
<div class="col-sm-12 col-md-12"> <div class="col-sm-12 col-md-12">
<ol class="breadcrumb"> <ol class="breadcrumb">
<li><a href="{% url 'ipam:vlangroup_list' %}">VLAN Groups</a></li> <li><a href="{% url 'ipam:vlangroup_list' %}">VLAN Groups</a></li>
{% if vlan_group.site %}
<li><a href="{% url 'dcim:site' slug=vlan_group.site.slug %}">{{ vlan_group.site }}</a></li> <li><a href="{% url 'dcim:site' slug=vlan_group.site.slug %}">{{ vlan_group.site }}</a></li>
{% endif %}
<li>{{ vlan_group }}</li> <li>{{ vlan_group }}</li>
</ol> </ol>
</div> </div>