tables.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. from __future__ import unicode_literals
  2. import django_tables2 as tables
  3. from utilities.tables import BaseTable, ToggleColumn
  4. from .models import SecretRole, Secret
  5. SECRETROLE_ACTIONS = """
  6. <a href="{% url 'secrets:secretrole_changelog' slug=record.slug %}" class="btn btn-default btn-xs" title="Changelog">
  7. <i class="fa fa-history"></i>
  8. </a>
  9. {% if perms.secrets.change_secretrole %}
  10. <a href="{% url 'secrets:secretrole_edit' slug=record.slug %}" class="btn btn-xs btn-warning"><i class="glyphicon glyphicon-pencil" aria-hidden="true"></i></a>
  11. {% endif %}
  12. """
  13. #
  14. # Secret roles
  15. #
  16. class SecretRoleTable(BaseTable):
  17. pk = ToggleColumn()
  18. name = tables.LinkColumn(verbose_name='Name')
  19. secret_count = tables.Column(verbose_name='Secrets')
  20. slug = tables.Column(verbose_name='Slug')
  21. actions = tables.TemplateColumn(
  22. template_code=SECRETROLE_ACTIONS, attrs={'td': {'class': 'text-right'}}, verbose_name=''
  23. )
  24. class Meta(BaseTable.Meta):
  25. model = SecretRole
  26. fields = ('pk', 'name', 'secret_count', 'slug', 'actions')
  27. #
  28. # Secrets
  29. #
  30. class SecretTable(BaseTable):
  31. pk = ToggleColumn()
  32. device = tables.LinkColumn()
  33. class Meta(BaseTable.Meta):
  34. model = Secret
  35. fields = ('pk', 'device', 'role', 'name', 'last_updated')