fancy error pages
[qcg-portal.git] / qcg / templates / qcg / job.html
index cb8b687..d3c3922 100644 (file)
@@ -1,5 +1,5 @@
 {% extends 'qcg/base.html' %}
-{% load qcg_utils %}
+{% load qcg_utils bootstrap3 %}
 
 {% block container %}
     <ol class="breadcrumb">
@@ -7,6 +7,20 @@
         <li class="active">{{ job.job_id }}</li>
     </ol>
 
+    <div class="pull-right">
+        {% if not job.terminated %}
+            <form action="{% url 'job_cancel' job.job_id %}" method="post">
+                {% csrf_token %}
+                <button type="submit" class="btn btn-default">Anuluj zadanie</button>
+            </form>
+        {% elif not job.purged %}
+            <form action="{% url 'job_clean' job.job_id %}" method="post">
+                {% csrf_token %}
+                <button type="submit" class="btn btn-default">Usuń katalog roboczy</button>
+            </form>
+        {% endif %}
+    </div>
+
     <h1 class="page-header">{% block title %}Job {{ job.job_id }}{% endblock %}</h1>
 
     <div role="tabpanel">
@@ -25,7 +39,7 @@
                     {% display_attribute 'Status' job.get_status_display %}
                     {% display_attribute 'Notatka' job.note %}
                     {% display_attribute 'Projekt' job.project %}
-                    {% display_attribute 'Czas życia proxy' job.proxy_lifetime %}
+                    {% display_attribute 'Czas życia proxy' job.proxy_lifetime|timeuntil %}
                     {% display_attribute 'Data zlecenia' job.submission_time %}
                     {% display_attribute 'Data zakończenia' job.finish_time %}
                     {% display_attribute 'Usunięty katalog roboczy?' job.purged %}
@@ -37,6 +51,7 @@
                     <ul class="list-group">
                         {% for task in job.tasks.all %}
                             <li class="list-group-item">
+                                {% display_attribute 'Identyfikator' task.task_id %}
                                 {% display_attribute 'Status' task.get_status_display %}
                                 {% display_attribute 'Opis statusu' task.status_description %}
                                 {% display_attribute 'Data rozpoczęcia' task.start_time %}
                         {% endfor %}
                     </ul>
                 {% else %}
-                    <div class="panel-body">
-                        <div class="alert alert-info">Brak elementów</div>
-                    </div>
+                    <div class="alert alert-info">Brak elementów</div>
                 {% endif %}
 
             </div>
             <div role="tabpanel" class="tab-pane" id="desc">
-                <pre>{{ job.description }}</pre>
+                <button class="btn btn-default btn-sm pull-right" data-toggle="modal" data-target="#template">Zapisz jako szablon</button>
+
+                {% if job.get_description_type_display != 'QCG' %}
+                    <h3>Opis użytkownika</h3>
+                    <pre>{{ job.description }}</pre>
+                {% endif %}
+
+                <h3>Opis QCG</h3>
+                <pre>{{ job.qcg_description|format_xml }}</pre>
             </div>
         </div>
     </div>
 
+    <form id="template" action="{% url 'job_save_template' job.job_id %}" method="post" class="modal fade form-horizontal" tabindex="-1"
+          role="dialog" aria-labelledby="template-modal-label" aria-hidden="true">
+        <div class="modal-dialog">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
+                    <h4 class="modal-title" id="template-modal-label">Podaj nazwę szablonu</h4>
+                </div>
+                <div class="modal-body">
+                    {% csrf_token %}
+                    {% bootstrap_field template_form.name layout="horizontal" %}
+                </div>
+                <div class="modal-footer">
+                    <button type="button" class="btn btn-default" data-dismiss="modal">Anuluj</button>
+                    <button type="submit" class="btn btn-primary" data-loading-text="Zapisywanie...">Zapisz</button>
+                </div>
+            </div>
+        </div>
+    </form>
+
 {% endblock container %}