job.html 3.1 KB

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