presenting job description as form
[qcg-portal.git] / qcg / templates / qcg / task.html
1 {% extends 'qcg/details_base.html' %}
2 {% load qcg_utils staticfiles %}
3
4 {% block extra_js %}
5     {% include 'filex/source.js.html' %}
6     {{ block.super }}
7
8     <script>
9         var filex = filex || {};
10
11         $(function () {
12             'use strict';
13
14             $('.working-dir').on('click', function() {
15                 filex.load($(this).data('url'));
16             });
17         });
18     </script>
19 {% endblock extra_js %}
20
21 {% block container %}
22     <ol class="breadcrumb">
23         <li><a href="{% url 'jobs' %}">Zadania</a></li>
24         <li><a href="{{ job.get_absolute_url }}">{{ job.job_id }}</a></li>
25         <li class="active">{{ task.task_id }}</li>
26     </ol>
27
28     <div class="pull-right">
29         {% if not task.terminated %}
30             <form action="{% url 'task_cancel' job.job_id task.task_id %}" method="post">
31                 {% csrf_token %}
32                 <button type="submit" class="btn btn-default">Anuluj zadanie</button>
33             </form>
34         {% elif not task.purged %}
35             <form action="{% url 'task_clean' job.job_id task.task_id %}" method="post">
36                 {% csrf_token %}
37                 <button type="submit" class="btn btn-default">Usuń katalog roboczy</button>
38             </form>
39         {% endif %}
40     </div>
41
42     <h1 class="page-header">{% block title %}Task {{ task.task_id }}{% endblock %}</h1>
43
44     <div role="tabpanel">
45         <!-- Nav tabs -->
46         <ul class="nav nav-tabs" style="margin-bottom: 20px">
47             <li role="presentation" class="active"><a href="#details" data-toggle="tab">Właściwości</a></li>
48             <li role="presentation"><a href="#desc" data-toggle="tab">Opis</a></li>
49         </ul>
50
51         <!-- Tab panes -->
52         <div class="tab-content">
53             <div role="tabpanel" class="tab-pane active" id="details">
54                 <h3>Atrybuty</h3>
55
56                 <p>
57                     {% display_attribute 'Status' task.get_status_display %}
58                     {% display_attribute 'Opis statusu' task.status_description %}
59                     {% display_attribute 'Typ' task.get_type_display %}
60                     {% display_attribute 'Notatka' task.note %}
61                     {% display_attribute 'Projekt' task.project %}
62                     {% display_attribute 'Czas życia proxy' task.proxy_lifetime|timeuntil %}
63                     {% display_attribute 'Data zlecenia' task.submission_time %}
64                     {% display_attribute 'Data rozpoczęcia' task.start_time %}
65                     {% display_attribute 'Data zakończenia' task.finish_time %}
66                     {% display_attribute 'Usunięty katalog roboczy?' task.purged %}
67                 </p>
68
69                 <h3>Alokacje</h3>
70
71                 {% if task.allocations.exists %}
72                     <ul class="list-group">
73                         {% for alloc in task.allocations.all %}
74                             <li class="list-group-item">
75                                 {% display_attribute 'Status' alloc.get_status_display %}
76                                 {% display_attribute 'Komentarz' alloc.comment %}
77                                 {% display_attribute 'Host' alloc.host_name %}
78                                 {% display_attribute 'Opis statusu' alloc.status_description %}
79                                 {% display_attribute 'Liczba procesów' alloc.processes_count %}
80                                 {% display_attribute 'Liczba rdzeni' alloc.slots_count %}
81                                 {% display_attribute 'Identyfikator grupy procesów' alloc.processes_group_id %}
82                                 {% display_attribute 'Data zlecenia' task.submission_time %}
83                                 {% display_attribute 'Przewidywana data rozpoczęcia' alloc.estimated_start_time %}
84                                 {% display_attribute 'Data zakończenia' task.finish_time %}
85                                 {% display_attribute 'Lokalna data zlecenia' task.local_submission_time %}
86                                 {% display_attribute 'Lokalna data rozpoczęcia' task.local_start_time %}
87                                 {% display_attribute 'Lokalna data zakończenia' task.local_finish_time %}
88                                 {% display_attribute 'Efektywność' alloc.efficiency %}
89                                 {% display_attribute 'Użycie pamięci' alloc.memory_usage %}
90                                 {% display_attribute 'Katalog roboczy' alloc.working_directory %}
91                                 {% display_attribute 'Usunięty katalog roboczy?' task.purged %}
92
93                                 {% if alloc.working_directory and not task.purged %}
94                                     <button class="btn btn-default working-dir"
95                                             data-toggle="modal" data-target="#gridftp" data-url="{{ alloc.working_directory|cut:'gsiftp://'  }}">
96                                         Przeglądaj katalog roboczy
97                                     </button>
98                                 {% endif %}
99                             </li>
100                         {% endfor %}
101                     </ul>
102                 {% else %}
103                     <div class="alert alert-info">Brak elementów</div>
104                 {% endif %}
105
106             </div>
107
108             <div role="tabpanel" class="tab-pane" id="desc">
109                 {% include 'qcg/job_description.html' %}
110             </div>
111         </div>
112     </div>
113
114     <div id="gridftp" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="modal-label" aria-hidden="true">
115         <div class="modal-dialog modal-lg">
116             <div class="modal-content">
117                 <div class="modal-header">
118                     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
119                     <h4 class="modal-title" id="modal-label">Katalog roboczy</h4>
120                 </div>
121                 <div class="modal-body">
122                     {% include 'filex/source.html' %}
123                 </div>
124             </div>
125         </div>
126     </div>
127
128 {% endblock %}