cleaning jobs and tasks
[qcg-portal.git] / qcg / templates / qcg / task.html
index e9255d4..1d83d66 100644 (file)
@@ -1,5 +1,21 @@
 {% extends 'qcg/base.html' %}
-{% load qcg_utils %}
+{% load qcg_utils staticfiles %}
+
+{% block extra_js %}
+    {% include 'filex/source.js.html' %}
+
+    <script>
+        var filex = filex || {};
+
+        $(function () {
+            'use strict';
+
+            $('.working-dir').on('click', function() {
+                filex.load($(this).data('url'));
+            });
+        });
+    </script>
+{% endblock extra_js %}
 
 {% block container %}
     <ol class="breadcrumb">
@@ -8,6 +24,20 @@
         <li class="active">{{ task.task_id }}</li>
     </ol>
 
+    <div class="pull-right">
+        {% if not task.terminated %}
+            <form action="{% url 'task_cancel' task.job.job_id task.task_id %}" method="post">
+                {% csrf_token %}
+                <button type="submit" class="btn btn-default">Anuluj zadanie</button>
+            </form>
+        {% elif not task.purged %}
+            <form action="{% url 'task_clean' task.job.job_id task.task_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 %}Task {{ task.task_id }}{% endblock %}</h1>
 
     <div role="tabpanel">
@@ -15,6 +45,7 @@
         <ul class="nav nav-tabs" style="margin-bottom: 20px">
             <li role="presentation" class="active"><a href="#details" data-toggle="tab">Właściwości</a></li>
             <li role="presentation"><a href="#desc" data-toggle="tab">Opis</a></li>
+            <li role="presentation"><a href="#results" data-toggle="tab">Wyniki</a></li>
         </ul>
 
         <!-- Tab panes -->
                                 {% display_attribute 'Lokalna data zakończenia' task.local_finish_time %}
                                 {% display_attribute 'Efektywność' alloc.efficiency %}
                                 {% display_attribute 'Użycie pamięci' alloc.memory_usage %}
+                                {% display_attribute 'Katalog roboczy' alloc.working_directory %}
                                 {% display_attribute 'Usunięty katalog roboczy?' task.purged %}
+
+                                {% if alloc.working_directory and not task.purged %}
+                                    <button class="btn btn-default working-dir"
+                                            data-toggle="modal" data-target="#gridftp" data-url="{{ alloc.working_directory|cut:'gsiftp://'  }}">
+                                        Przeglądaj katalog roboczy
+                                    </button>
+                                {% endif %}
                             </li>
                         {% 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>{{ task.description }}</pre>
+                <pre>{{ task.description|format_xml }}</pre>
+            </div>
+
+            <div role="tabpanel" class="tab-pane text-center" id="results">
+                <h3>Wizualizacja wyników</h3>
+                <img src="{% static 'qcg/results-mock-1.png' %}" alt="..." class="img-thumbnail" style="margin: 10px">
+                <img src="{% static 'qcg/results-mock-2.png' %}" alt="..." class="img-thumbnail" style="margin: 10px">
+                <img src="{% static 'qcg/results-mock-3.png' %}" alt="..." class="img-thumbnail" style="margin: 10px">
+            </div>
+        </div>
+    </div>
+
+    <div id="gridftp" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="modal-label" aria-hidden="true">
+        <div class="modal-dialog modal-lg">
+            <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="modal-label">Katalog roboczy</h4>
+                </div>
+                <div class="modal-body">
+                    {% include 'filex/source.html' %}
+                </div>
             </div>
         </div>
     </div>