job templates: saving and deleting
[qcg-portal.git] / qcg / templates / qcg / task.html
index d490fd6..1d83d66 100644 (file)
@@ -1,6 +1,22 @@
 {% extends 'qcg/base.html' %}
 {% 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">
         <li><a href="{% url 'jobs' %}">Zadania</a></li>
@@ -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">
                                 {% 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>
             </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">
         </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>
+
 {% endblock %}