tables.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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="Changelog">
  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 %}" 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(verbose_name='Name')
  18. secret_count = tables.Column(verbose_name='Secrets')
  19. slug = tables.Column(verbose_name='Slug')
  20. actions = tables.TemplateColumn(
  21. template_code=SECRETROLE_ACTIONS, attrs={'td': {'class': 'text-right'}}, verbose_name=''
  22. )
  23. class Meta(BaseTable.Meta):
  24. model = SecretRole
  25. fields = ('pk', 'name', 'secret_count', 'slug', 'actions')
  26. #
  27. # Secrets
  28. #
  29. class SecretTable(BaseTable):
  30. pk = ToggleColumn()
  31. device = tables.LinkColumn()
  32. class Meta(BaseTable.Meta):
  33. model = Secret
  34. fields = ('pk', 'device', 'role', 'name', 'last_updated')