job.html 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. {% extends 'generic/object.html' %}
  2. {% load buttons %}
  3. {% load helpers %}
  4. {% load perms %}
  5. {% load i18n %}
  6. {% block controls %}
  7. <div class="controls">
  8. <div class="control-group">
  9. {% if request.user|can_delete:object %}
  10. {% delete_button object %}
  11. {% endif %}
  12. </div>
  13. </div>
  14. {% endblock controls %}
  15. {% block content %}
  16. <div class="row mb-3">
  17. <div class="col col-md-6">
  18. <div class="card">
  19. <h5 class="card-header">{% trans "Job" %}</h5>
  20. <div class="card-body">
  21. <table class="table table-hover attr-table">
  22. <tr>
  23. <th scope="row">{% trans "Object Type" %}</th>
  24. <td>
  25. <a href="{% url 'core:job_list' %}?object_type={{ object.object_type_id }}">{{ object.object_type }}</a>
  26. </td>
  27. </tr>
  28. <tr>
  29. <th scope="row">{% trans "Name" %}</th>
  30. <td>{{ object.name|placeholder }}</td>
  31. </tr>
  32. <tr>
  33. <th scope="row">{% trans "Status" %}</th>
  34. <td>{% badge object.get_status_display object.get_status_color %}</td>
  35. </tr>
  36. {% if object.error %}
  37. <tr>
  38. <th scope="row">{% trans "Error" %}</th>
  39. <td>{{ object.error }}</td>
  40. </tr>
  41. {% endif %}
  42. <tr>
  43. <th scope="row">{% trans "Created By" %}</th>
  44. <td>{{ object.user|placeholder }}</td>
  45. </tr>
  46. </table>
  47. </div>
  48. </div>
  49. </div>
  50. <div class="col col-md-6">
  51. <div class="card">
  52. <h5 class="card-header">{% trans "Scheduling" %}</h5>
  53. <div class="card-body">
  54. <table class="table table-hover attr-table">
  55. <tr>
  56. <th scope="row">{% trans "Created" %}</th>
  57. <td>{{ object.created|annotated_date }}</td>
  58. </tr>
  59. <tr>
  60. <th scope="row">{% trans "Scheduled" %}</th>
  61. <td>
  62. {{ object.scheduled|annotated_date|placeholder }}
  63. {% if object.interval %}
  64. ({% blocktrans with interval=object.interval %}every {{ interval }} minutes{% endblocktrans %})
  65. {% endif %}
  66. </td>
  67. </tr>
  68. <tr>
  69. <th scope="row">{% trans "Started" %}</th>
  70. <td>{{ object.started|annotated_date|placeholder }}</td>
  71. </tr>
  72. <tr>
  73. <th scope="row">{% trans "Completed" %}</th>
  74. <td>{{ object.completed|annotated_date|placeholder }}</td>
  75. </tr>
  76. </table>
  77. </div>
  78. </div>
  79. </div>
  80. </div>
  81. <div class="row">
  82. <div class="col col-12">
  83. <div class="card">
  84. <h5 class="card-header">{% trans "Data" %}</h5>
  85. <div class="card-body">
  86. <pre>{{ object.data|json }}</pre>
  87. </div>
  88. </div>
  89. </div>
  90. </div>
  91. {% endblock %}