Introduced CBVs for IPAM Roles

This commit is contained in:
Jeremy Stretch
2016-05-17 15:04:16 -04:00
parent a527e0e527
commit ff46970ba9
9 changed files with 167 additions and 58 deletions

View File

@@ -1,7 +1,7 @@
import django_tables2 as tables
from django_tables2.utils import Accessor
from .models import VRF, RIR, Aggregate, Prefix, IPAddress, VLAN
from .models import VRF, RIR, Aggregate, Role, Prefix, IPAddress, VLAN
RIR_EDIT_LINK = """
@@ -19,6 +19,10 @@ UTILIZATION_GRAPH = """
{% endwith %}
"""
ROLE_EDIT_LINK = """
{% if perms.ipam.change_role %}<a href="{% url 'ipam:role_edit' slug=record.slug %}">Edit</a>{% endif %}
"""
PREFIX_LINK = """
{% if record.has_children %}
<span style="padding-left: {{ record.depth }}0px "><i class="fa fa-caret-right"></i></a>
@@ -105,6 +109,27 @@ class AggregateTable(tables.Table):
}
#
# Roles
#
class RoleTable(tables.Table):
pk = tables.CheckBoxColumn(visible=False, default='')
name = tables.Column(verbose_name='Name')
prefix_count = tables.Column(accessor=Accessor('count_prefixes'), orderable=False, verbose_name='Prefixes')
vlan_count = tables.Column(accessor=Accessor('count_vlans'), orderable=False, verbose_name='VLANs')
slug = tables.Column(verbose_name='Slug')
edit = tables.TemplateColumn(template_code=ROLE_EDIT_LINK, verbose_name='')
class Meta:
model = Role
fields = ('pk', 'name', 'prefix_count', 'vlan_count', 'slug', 'edit')
empty_text = "No roles were found."
attrs = {
'class': 'table table-hover',
}
#
# Prefixes
#