creating template from submitted jobs
[qcg-portal.git] / qcg / templates / qcg / job.html
1 {% extends 'qcg/base.html' %}
2 {% load qcg_utils bootstrap3 %}
3
4 {% block container %}
5     <ol class="breadcrumb">
6         <li><a href="{% url 'jobs' %}">Zadania</a></li>
7         <li class="active">{{ job.job_id }}</li>
8     </ol>
9
10     <div class="pull-right">
11         {% if not job.terminated %}
12             <form action="{% url 'job_cancel' job.job_id %}" method="post">
13                 {% csrf_token %}
14                 <button type="submit" class="btn btn-default">Anuluj zadanie</button>
15             </form>
16         {% elif not job.purged %}
17             <form action="{% url 'job_clean' job.job_id %}" method="post">
18                 {% csrf_token %}
19                 <button type="submit" class="btn btn-default">Usuń katalog roboczy</button>
20             </form>
21         {% endif %}
22     </div>
23
24     <h1 class="page-header">{% block title %}Job {{ job.job_id }}{% endblock %}</h1>
25
26     <div role="tabpanel">
27         <!-- Nav tabs -->
28         <ul class="nav nav-tabs" style="margin-bottom: 20px">
29             <li role="presentation" class="active"><a href="#details" data-toggle="tab">Właściwości</a></li>
30             <li role="presentation"><a href="#desc" data-toggle="tab">Opis</a></li>
31         </ul>
32
33         <!-- Tab panes -->
34         <div class="tab-content">
35             <div role="tabpanel" class="tab-pane active" id="details">
36                 <h3>Atrybuty</h3>
37
38                 <p>
39                     {% display_attribute 'Status' job.get_status_display %}
40                     {% display_attribute 'Notatka' job.note %}
41                     {% display_attribute 'Projekt' job.project %}
42                     {% display_attribute 'Czas życia proxy' job.proxy_lifetime|timeuntil %}
43                     {% display_attribute 'Data zlecenia' job.submission_time %}
44                     {% display_attribute 'Data zakończenia' job.finish_time %}
45                     {% display_attribute 'Usunięty katalog roboczy?' job.purged %}
46                 </p>
47
48                 <h3>Taski</h3>
49
50                 {% if job.tasks.exists %}
51                     <ul class="list-group">
52                         {% for task in job.tasks.all %}
53                             <li class="list-group-item">
54                                 {% display_attribute 'Identyfikator' task.task_id %}
55                                 {% display_attribute 'Status' task.get_status_display %}
56                                 {% display_attribute 'Opis statusu' task.status_description %}
57                                 {% display_attribute 'Data rozpoczęcia' task.start_time %}
58                                 {% display_attribute 'Data zakończenia' task.finish_time %}
59
60                                 <div style="padding: 10px 0 0 50px">
61                                     <a href="{{ task.get_absolute_url }}">więcej&nbsp;&raquo;</a>
62                                 </div>
63                             </li>
64                         {% endfor %}
65                     </ul>
66                 {% else %}
67                     <div class="alert alert-info">Brak elementów</div>
68                 {% endif %}
69
70             </div>
71             <div role="tabpanel" class="tab-pane" id="desc">
72                 <button class="btn btn-default btn-sm pull-right" data-toggle="modal" data-target="#template">Zapisz jako szablon</button>
73
74                 {% if job.get_description_type_display != 'QCG' %}
75                     <h3>Opis użytkownika</h3>
76                     <pre>{{ job.description }}</pre>
77                 {% endif %}
78
79                 <h3>Opis QCG</h3>
80                 <pre>{{ job.qcg_description|format_xml }}</pre>
81             </div>
82         </div>
83     </div>
84
85     <form id="template" action="{% url 'job_save_template' job.job_id %}" method="post" class="modal fade form-horizontal" tabindex="-1"
86           role="dialog" aria-labelledby="template-modal-label" aria-hidden="true">
87         <div class="modal-dialog">
88             <div class="modal-content">
89                 <div class="modal-header">
90                     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
91                     <h4 class="modal-title" id="template-modal-label">Podaj nazwę szablonu</h4>
92                 </div>
93                 <div class="modal-body">
94                     {% csrf_token %}
95                     {% bootstrap_field template_form.name layout="horizontal" %}
96                 </div>
97                 <div class="modal-footer">
98                     <button type="button" class="btn btn-default" data-dismiss="modal">Anuluj</button>
99                     <button type="submit" class="btn btn-primary" data-loading-text="Zapisywanie...">Zapisz</button>
100                 </div>
101             </div>
102         </div>
103     </form>
104
105 {% endblock container %}