api_tokens.html 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. {% extends 'users/base.html' %}
  2. {% load helpers %}
  3. {% block title %}API Tokens{% endblock %}
  4. {% block usercontent %}
  5. <div class="row">
  6. <div class="col col-md-12">
  7. {% for token in tokens %}
  8. <div class="card{% if token.is_expired %} bg-danger{% endif %}">
  9. <div class="card-header">
  10. <div class="float-end noprint">
  11. <a class="m-1 btn btn-sm btn-success copy-token" data-clipboard-target="#token_{{ token.pk }}">Copy</a>
  12. <a href="{% url 'user:token_edit' pk=token.pk %}" class="m-1 btn btn-sm btn-warning">Edit</a>
  13. <a href="{% url 'user:token_delete' pk=token.pk %}" class="m-1 btn btn-sm btn-danger">Delete</a>
  14. </div>
  15. <i class="mdi mdi-key"></i>
  16. <samp><span id="token_{{ token.pk }}">{{ token.key }}</span></samp>
  17. {% if token.is_expired %}
  18. <span class="badge bg-danger">Expired</span>
  19. {% endif %}
  20. </div>
  21. <div class="card-body">
  22. <div class="row">
  23. <div class="col col-md-4">
  24. <small class="text-muted">Created</small><br />
  25. {{ token.created|annotated_date }}
  26. </div>
  27. <div class="col col-md-4">
  28. <small class="text-muted">Expires</small><br />
  29. {% if token.expires %}
  30. {{ token.expires|annotated_date }}
  31. {% else %}
  32. <span>Never</span>
  33. {% endif %}
  34. </div>
  35. <div class="col col-md-4">
  36. <small class="text-muted">Create/Edit/Delete Operations</small><br />
  37. {% if token.write_enabled %}
  38. <span class="badge bg-success">Enabled</span>
  39. {% else %}
  40. <span class="badge bg-danger">Disabled</span>
  41. {% endif %}
  42. </div>
  43. </div>
  44. {% if token.description %}
  45. <br /><span>{{ token.description }}</span>
  46. {% endif %}
  47. </div>
  48. </div>
  49. {% empty %}
  50. <p>You do not have any API tokens.</p>
  51. {% endfor %}
  52. <a href="{% url 'user:token_add' %}" class="btn btn-sm btn-primary my-3">
  53. <span class="mdi mdi-plus-thick" aria-hidden="true"></span>
  54. Add a Token
  55. </a>
  56. </div>
  57. </div>
  58. {% endblock %}