1d83d66bb40b6a2541565830586c0ef68e0017e0
[qcg-portal.git] / qcg / templates / qcg / task.html
1 {% extends 'qcg/base.html' %}
2 {% load qcg_utils staticfiles %}
3
4 {% block extra_js %}
5     {% include 'filex/source.js.html' %}
6
7     <script>
8         var filex = filex || {};
9
10         $(function () {
11             'use strict';
12
13             $('.working-dir').on('click', function() {
14                 filex.load($(this).data('url'));
15             });
16         });
17     </script>
18 {% endblock extra_js %}
19
20 {% block container %}
21     <ol class="breadcrumb">
22         <li><a href="{% url 'jobs' %}">Zadania</a></li>
23         <li><a href="{{ task.job.get_absolute_url }}">{{ task.job.job_id }}</a></li>
24         <li class="active">{{ task.task_id }}</li>
25     </ol>
26
27     <div class="pull-right">
28         {% if not task.terminated %}
29             <form action="{% url 'task_cancel' task.job.job_id task.task_id %}" method="post">
30                 {% csrf_token %}
31                 <button type="submit" class="btn btn-default">Anuluj zadanie</button>
32             </form>
33         {% elif not task.purged %}
34             <form action="{% url 'task_clean' task.job.job_id task.task_id %}" method="post">
35                 {% csrf_token %}
36                 <button type="submit" class="btn btn-default">Usuń katalog roboczy</button>
37             </form>
38         {% endif %}
39     </div>
40
41     <h1 class="page-header">{% block title %}Task {{ task.task_id }}{% endblock %}</h1>
42
43     <div role="tabpanel">
44         <!-- Nav tabs -->
45         <ul class="nav nav-tabs" style="margin-bottom: 20px">
46             <li role="presentation" class="active"><a href="#details" data-toggle="tab">Właściwości</a></li>
47             <li role="presentation"><a href="#desc" data-toggle="tab">Opis</a></li>
48             <li role="presentation"><a href="#results" data-toggle="tab">Wyniki</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                 <pre>{{ task.description|format_xml }}</pre>
110             </div>
111
112             <div role="tabpanel" class="tab-pane text-center" id="results">
113                 <h3>Wizualizacja wyników</h3>
114                 <img src="{% static 'qcg/results-mock-1.png' %}" alt="..." class="img-thumbnail" style="margin: 10px">
115                 <img src="{% static 'qcg/results-mock-2.png' %}" alt="..." class="img-thumbnail" style="margin: 10px">
116                 <img src="{% static 'qcg/results-mock-3.png' %}" alt="..." class="img-thumbnail" style="margin: 10px">
117             </div>
118         </div>
119     </div>
120
121     <div id="gridftp" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="modal-label" aria-hidden="true">
122         <div class="modal-dialog modal-lg">
123             <div class="modal-content">
124                 <div class="modal-header">
125                     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
126                     <h4 class="modal-title" id="modal-label">Katalog roboczy</h4>
127                 </div>
128                 <div class="modal-body">
129                     {% include 'filex/source.html' %}
130                 </div>
131             </div>
132         </div>
133     </div>
134
135 {% endblock %}