tables.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import django_tables2 as tables
  2. from utilities.tables import BaseTable, ToggleColumn
  3. from .models import SecretRole, Secret
  4. SECRETROLE_ACTIONS = """
  5. <a href="{% url 'secrets:secretrole_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.secrets.change_secretrole %}
  9. <a href="{% url 'secrets:secretrole_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. #
  13. # Secret roles
  14. #
  15. class SecretRoleTable(BaseTable):
  16. pk = ToggleColumn()
  17. name = tables.LinkColumn()
  18. secret_count = tables.Column(verbose_name='Secrets')
  19. actions = tables.TemplateColumn(
  20. template_code=SECRETROLE_ACTIONS, attrs={'td': {'class': 'text-right noprint'}}, verbose_name=''
  21. )
  22. class Meta(BaseTable.Meta):
  23. model = SecretRole
  24. fields = ('pk', 'name', 'secret_count', 'description', 'slug', 'actions')
  25. #
  26. # Secrets
  27. #
  28. class SecretTable(BaseTable):
  29. pk = ToggleColumn()
  30. device = tables.LinkColumn()
  31. class Meta(BaseTable.Meta):
  32. model = Secret
  33. fields = ('pk', 'device', 'role', 'name', 'last_updated')