2
0

tables.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import django_tables2 as tables
  2. from utilities.tables import BaseTable, ToggleColumn
  3. from .models import Tenant, TenantGroup
  4. TENANTGROUP_ACTIONS = """
  5. <a href="{% url 'tenancy:tenantgroup_changelog' slug=record.slug %}" class="btn btn-default btn-xs" title="Change log">
  6. <i class="fa fa-history"></i>
  7. </a>
  8. {% if perms.tenancy.change_tenantgroup %}
  9. <a href="{% url 'tenancy:tenantgroup_edit' slug=record.slug %}?return_url={{ request.path }}" class="btn btn-xs btn-warning"><i class="glyphicon glyphicon-pencil" aria-hidden="true"></i></a>
  10. {% endif %}
  11. """
  12. COL_TENANT = """
  13. {% if record.tenant %}
  14. <a href="{% url 'tenancy:tenant' slug=record.tenant.slug %}" title="{{ record.tenant.description }}">{{ record.tenant }}</a>
  15. {% else %}
  16. &mdash;
  17. {% endif %}
  18. """
  19. #
  20. # Tenant groups
  21. #
  22. class TenantGroupTable(BaseTable):
  23. pk = ToggleColumn()
  24. name = tables.LinkColumn(verbose_name='Name')
  25. tenant_count = tables.Column(verbose_name='Tenants')
  26. slug = tables.Column(verbose_name='Slug')
  27. actions = tables.TemplateColumn(
  28. template_code=TENANTGROUP_ACTIONS, attrs={'td': {'class': 'text-right noprint'}}, verbose_name=''
  29. )
  30. class Meta(BaseTable.Meta):
  31. model = TenantGroup
  32. fields = ('pk', 'name', 'tenant_count', 'slug', 'actions')
  33. #
  34. # Tenants
  35. #
  36. class TenantTable(BaseTable):
  37. pk = ToggleColumn()
  38. name = tables.LinkColumn()
  39. class Meta(BaseTable.Meta):
  40. model = Tenant
  41. fields = ('pk', 'name', 'group', 'description')