e4fcf11df33318ab0aae1b940be280fb7acf0fbd
[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         </ul>
49
50         <!-- Tab panes -->
51         <div class="tab-content">
52             <div role="tabpanel" class="tab-pane active" id="details">
53                 <h3>Atrybuty</h3>
54
55                 <p>
56                     {% display_attribute 'Status' task.get_status_display %}
57                     {% display_attribute 'Opis statusu' task.status_description %}
58                     {% display_attribute 'Typ' task.get_type_display %}
59                     {% display_attribute 'Notatka' task.note %}
60                     {% display_attribute 'Projekt' task.project %}
61                     {% display_attribute 'Czas życia proxy' task.proxy_lifetime|timeuntil %}
62                     {% display_attribute 'Data zlecenia' task.submission_time %}
63                     {% display_attribute 'Data rozpoczęcia' task.start_time %}
64                     {% display_attribute 'Data zakończenia' task.finish_time %}
65                     {% display_attribute 'Usunięty katalog roboczy?' task.purged %}
66                 </p>
67
68                 <h3>Alokacje</h3>
69
70                 {% if task.allocations.exists %}
71                     <ul class="list-group">
72                         {% for alloc in task.allocations.all %}
73                             <li class="list-group-item">
74                                 {% display_attribute 'Status' alloc.get_status_display %}
75                                 {% display_attribute 'Komentarz' alloc.comment %}
76                                 {% display_attribute 'Host' alloc.host_name %}
77                                 {% display_attribute 'Opis statusu' alloc.status_description %}
78                                 {% display_attribute 'Liczba procesów' alloc.processes_count %}
79                                 {% display_attribute 'Liczba rdzeni' alloc.slots_count %}
80                                 {% display_attribute 'Identyfikator grupy procesów' alloc.processes_group_id %}
81                                 {% display_attribute 'Data zlecenia' task.submission_time %}
82                                 {% display_attribute 'Przewidywana data rozpoczęcia' alloc.estimated_start_time %}
83                                 {% display_attribute 'Data zakończenia' task.finish_time %}
84                                 {% display_attribute 'Lokalna data zlecenia' task.local_submission_time %}
85                                 {% display_attribute 'Lokalna data rozpoczęcia' task.local_start_time %}
86                                 {% display_attribute 'Lokalna data zakończenia' task.local_finish_time %}
87                                 {% display_attribute 'Efektywność' alloc.efficiency %}
88                                 {% display_attribute 'Użycie pamięci' alloc.memory_usage %}
89                                 {% display_attribute 'Katalog roboczy' alloc.working_directory %}
90                                 {% display_attribute 'Usunięty katalog roboczy?' task.purged %}
91
92                                 {% if alloc.working_directory and not task.purged %}
93                                     <button class="btn btn-default working-dir"
94                                             data-toggle="modal" data-target="#gridftp" data-url="{{ alloc.working_directory|cut:'gsiftp://'  }}">
95                                         Przeglądaj katalog roboczy
96                                     </button>
97                                 {% endif %}
98                             </li>
99                         {% endfor %}
100                     </ul>
101                 {% else %}
102                     <div class="alert alert-info">Brak elementów</div>
103                 {% endif %}
104
105             </div>
106
107             <div role="tabpanel" class="tab-pane" id="desc">
108                 <pre>{{ task.description|format_xml }}</pre>
109             </div>
110         </div>
111     </div>
112
113     <div id="gridftp" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="modal-label" aria-hidden="true">
114         <div class="modal-dialog modal-lg">
115             <div class="modal-content">
116                 <div class="modal-header">
117                     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
118                     <h4 class="modal-title" id="modal-label">Katalog roboczy</h4>
119                 </div>
120                 <div class="modal-body">
121                     {% include 'filex/source.html' %}
122                 </div>
123             </div>
124         </div>
125     </div>
126
127 {% endblock %}