diff --git a/atdb/taskdatabase/models.py b/atdb/taskdatabase/models.py
index ddf73715b57352e0cbf76e7b3d56b1d6df1cc359..88e892afc80f2f05cb1376f8ef6484a2a2a1dc2a 100644
--- a/atdb/taskdatabase/models.py
+++ b/atdb/taskdatabase/models.py
@@ -43,7 +43,6 @@ def convert_quality_to_shortlist_for_template(task):
         list.append(str(task.quality_json['uv-coverage']))
         list.append(str(task.quality_json['sensitivity']))
         list.append(str(task.quality_json['observing-conditions']))
-
     except Exception as err:
         pass
 
diff --git a/atdb/taskdatabase/services/algorithms.py b/atdb/taskdatabase/services/algorithms.py
index 4e79ba3a1706b91035a26386b59e103caffe7996..958cb43db886d35571ff52b4efe8072a6907e662 100644
--- a/atdb/taskdatabase/services/algorithms.py
+++ b/atdb/taskdatabase/services/algorithms.py
@@ -137,8 +137,6 @@ def convert_quality_to_html(task):
         except:
             pass
 
-
-
         results += "<tr><td><b>QA diagnostic plots</b></td><td>" + "-" + "</td></tr>"
         results += "<tr><td><b>Workflow summary parset</b></td><td>" + "-" + "</td></tr>"
         results += "<tr><td><b>Summary logs</b></td><td>" + "-" + "</td></tr>"
diff --git a/atdb/taskdatabase/tables.py b/atdb/taskdatabase/tables.py
index b096adb17e5c57ed1940a617d3b8f4a153bad6eb..a3fed15a22f4b0d647d9ec73f555677a52952b51 100644
--- a/atdb/taskdatabase/tables.py
+++ b/atdb/taskdatabase/tables.py
@@ -25,7 +25,7 @@ class TaskTable(tables.Table):
     class Meta:
         model = Task
         template_name = "django_tables2/bootstrap4.html"
-        fields = ("id", "workflow","filter","priority","status","project","sas_id","resume","actions","buttons")
+        fields = ("id", "workflow","filter","priority","status","quality","project","sas_id","resume","actions","buttons")
 
     # columns that need specific rendering
     status = StatusColumn()
diff --git a/atdb/taskdatabase/templates/taskdatabase/failures/failures_page.html b/atdb/taskdatabase/templates/taskdatabase/failures/failures_page.html
index 6f67507a5f61f7580aa9088f0217dec20ea09d5b..fa53f4e8248850abeba9a28b0a2ae0f1c5e0ce49 100644
--- a/atdb/taskdatabase/templates/taskdatabase/failures/failures_page.html
+++ b/atdb/taskdatabase/templates/taskdatabase/failures/failures_page.html
@@ -10,8 +10,8 @@
             <div class="col-8">
                 <h3>Failures</h3>
                 These are all the tasks that failed.
-                Click 'Retry' to restart a specific step in the workflow.
-                <a class="nav-link" href="{% url 'diagram' %}">See workflow diagram</a>
+                Click 'Retry' to restart the this step in the workflow (see 'Diagram' in top menu).
+                <td>{% include 'taskdatabase/filter/search.html' %}</td>
                 <hr>
             </div>
         </div>
diff --git a/atdb/taskdatabase/templates/taskdatabase/failures/tasks_failures.html b/atdb/taskdatabase/templates/taskdatabase/failures/tasks_failures.html
index 796d6e526453ec0dacf15db6dbc9a6735d539c20..817f4405af2f60f30e83df0771cb2bc80a95fe1f 100644
--- a/atdb/taskdatabase/templates/taskdatabase/failures/tasks_failures.html
+++ b/atdb/taskdatabase/templates/taskdatabase/failures/tasks_failures.html
@@ -3,7 +3,7 @@
 
         {% if task.status != "removed_invisible" %}
         <div class="row">
-            <tr class="{{ task.status }}">
+            <tr>
 
                 <td>
                     <a href="{{ task.get_absolute_url }}" target="_blank">{{ task.id }} </a>
@@ -16,6 +16,13 @@
                            ><i class="fas fa-list"></i> Details
                         </a>&nbsp;
                     {% endif %}
+                    {% if task.has_quality %}
+                            <a class="open-modal btn btn-primary btn-sm"
+                               href="{% url 'task-quality' task.id my_tasks.number %}"
+                               data-popup-url="{% url 'task-quality' task.id my_tasks.number %}"
+                               ><i class="fas fa-balance-scale-right"></i> Quality
+                            </a>&nbsp;
+                    {% endif %}
                 </td>
 
                 {% if task.resume  %}
@@ -29,9 +36,35 @@
                 <td>{{ task.sas_id }}</td>
 
                 <td>{{ task.filter }} </td>
-                {% if task.status == "processed_failed" %}
+
+                {% if task.status == "staged_failed" or task.status == "staging_failed" %}
+                    <td>
+                        <a href="{% url 'task-retry-view' task.pk 'defined' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><b><i class="fas fa-sync-alt"></i> Retry</b></a>
+                    </td>
+                {% endif %}
+                {% if task.status == "fetched_failed" or task.status == "fetching_failed" %}
+                    <td>
+                        <a href="{% url 'task-retry-view' task.pk 'staged' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><b><i class="fas fa-sync-alt"></i> Retry</b></a>
+                    </td>
+                 {% endif %}
+                {% if task.status == "processed_failed" or task.status == "processing_failed" %}
+                    <td>
+                        <a href="{% url 'task-retry-view' task.pk 'fetched' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><b><i class="fas fa-sync-alt"></i> Retry</b></a>
+                    </td>
+                {% endif %}
+                {% if task.status == "stored_failed" or task.status == "storing_failed" %}
+                    <td>
+                        <a href="{% url 'task-retry-view' task.pk 'processed' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><b><i class="fas fa-sync-alt"></i> Retry</b></a>
+                    </td>
+                {% endif %}
+                {% if task.status == "scrubbed_failed" or task.status == "scrubbing_failed" %}
+                    <td>
+                        <a href="{% url 'task-retry-view' task.pk 'validated' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><b><i class="fas fa-sync-alt"></i> Retry</b></a>
+                    </td>
+                {% endif %}
+                {% if task.status == "archived_failed" or task.status == "archiving_failed" %}
                     <td>
-                        <a href="{% url 'task-setstatus-view' task.pk 'fetched' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><b><i class="fas fa-sync-alt"></i> Retry</b></a>
+                        <a href="{% url 'task-retry-view' task.pk 'scrubbed' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><b><i class="fas fa-sync-alt"></i> Retry</b></a>
                     </td>
                 {% endif %}
                 <td>
diff --git a/atdb/taskdatabase/templates/taskdatabase/index.html b/atdb/taskdatabase/templates/taskdatabase/index.html
index acc10b2221c9fbe22c4239d1cfa89715d7213dd5..fdbdeee83358306f4093137a8a09e74e7305d096 100644
--- a/atdb/taskdatabase/templates/taskdatabase/index.html
+++ b/atdb/taskdatabase/templates/taskdatabase/index.html
@@ -34,7 +34,7 @@
         {% include 'taskdatabase/pagination.html' %}
        </div>
     </div>
-    <p class="footer"> Version 1.0.0 (1 apr 2021 - 15:00)
+    <p class="footer"> Version 1.0.0 (2 apr 2021 - 6:00)
 
 </div>
 
diff --git a/atdb/taskdatabase/templates/taskdatabase/quality/tasks_quality.html b/atdb/taskdatabase/templates/taskdatabase/quality/tasks_quality.html
index e665307f1ab36c2332ebfdcfc6acc0e83e6a5ef7..77cf0330ef08c95c1fad10b231f5fade70674f5b 100644
--- a/atdb/taskdatabase/templates/taskdatabase/quality/tasks_quality.html
+++ b/atdb/taskdatabase/templates/taskdatabase/quality/tasks_quality.html
@@ -16,13 +16,13 @@
                            ><i class="fas fa-list"></i> Details
                         </a>&nbsp;
                     {% endif %}
-                                            {% if task.has_quality %}
+                    {% if task.has_quality %}
                             <a class="open-modal btn btn-primary btn-sm"
                                href="{% url 'task-quality' task.id my_tasks.number %}"
                                data-popup-url="{% url 'task-quality' task.id my_tasks.number %}"
                                ><i class="fas fa-balance-scale-right"></i> Quality
                             </a>&nbsp;
-                        {% endif %}
+                    {% endif %}
                 </td>
 
                 {% if task.resume  %}
diff --git a/atdb/taskdatabase/templates/taskdatabase/tasks_headers.html b/atdb/taskdatabase/templates/taskdatabase/tasks_headers.html
index 156832363547b92123d5e85d64c4486b499d6147..d2250230ad212678dc17515a20188904fb4a11ae 100644
--- a/atdb/taskdatabase/templates/taskdatabase/tasks_headers.html
+++ b/atdb/taskdatabase/templates/taskdatabase/tasks_headers.html
@@ -1,46 +1,46 @@
 <tr>
     <th>
-        <a href="{% url 'sort-tasks' '-pk' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        <a href="{% url 'sort-tasks' '-pk' 'atdb' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
         ID
-        <a href="{% url 'sort-tasks' 'id' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+        <a href="{% url 'sort-tasks' 'id' 'atdb' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
     </th>
     <th>Details</th>
     <th>
-        <a href="{% url 'sort-tasks' '-workflow' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        <a href="{% url 'sort-tasks' '-workflow' 'atdb' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
         Workflow
-        <a href="{% url 'sort-tasks' 'workflow' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+        <a href="{% url 'sort-tasks' 'workflow' 'atdb' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
     </th>
     <th>
-        <a href="{% url 'sort-tasks' '-priority' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        <a href="{% url 'sort-tasks' '-priority' 'atdb' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
         Priority
-        <a href="{% url 'sort-tasks' 'priority' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+        <a href="{% url 'sort-tasks' 'priority' 'atdb' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
     </th>
 
     <th>
-        <a href="{% url 'sort-tasks' '-status' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        <a href="{% url 'sort-tasks' '-status' 'atdb' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
         Status
-        <a href="{% url 'sort-tasks' 'status' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+        <a href="{% url 'sort-tasks' 'status' 'atdb' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
     </th>
     <th>
-        <a href="{% url 'sort-tasks' '-project' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        <a href="{% url 'sort-tasks' '-project' 'atdb' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
         Project
-        <a href="{% url 'sort-tasks' 'project' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+        <a href="{% url 'sort-tasks' 'project' 'atdb' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
     </th>
     <th>
-        <a href="{% url 'sort-tasks' '-sas_id' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        <a href="{% url 'sort-tasks' '-sas_id' 'atdb' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
         SAS_ID
-        <a href="{% url 'sort-tasks' 'sas_id' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+        <a href="{% url 'sort-tasks' 'sas_id' 'atdb' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
     </th>
     <th>
-        <a href="{% url 'sort-tasks' '-creationTime' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        <a href="{% url 'sort-tasks' '-creationTime' 'atdb' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
         CreationTime
-        <a href="{% url 'sort-tasks' 'creationTime' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+        <a href="{% url 'sort-tasks' 'creationTime' 'atdb' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
     </th>
 
     <th>
-        <a href="{% url 'sort-tasks' '-size_to_process' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        <a href="{% url 'sort-tasks' '-size_to_process' 'atdb' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
         Size
-        <a href="{% url 'sort-tasks' 'size_to_process' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+        <a href="{% url 'sort-tasks' 'size_to_process' 'atdb' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
     </th>
 
     <th>Actions</th>
diff --git a/atdb/taskdatabase/templates/taskdatabase/validation/tasks_validation.html b/atdb/taskdatabase/templates/taskdatabase/validation/tasks_validation.html
index 8de0b96ffcaac0c319837e4deda0434330b46c29..01be4de30dbfeb43a0ce38af3bbf06dba9e11ed7 100644
--- a/atdb/taskdatabase/templates/taskdatabase/validation/tasks_validation.html
+++ b/atdb/taskdatabase/templates/taskdatabase/validation/tasks_validation.html
@@ -34,15 +34,20 @@
                     {% for value in task.quality_as_shortlist %}
                         <td>{{value}}</td>
                      {% endfor %}
+                    <td>
+                      <a href="https://ganglia.grid.surfsara.nl/dcache.php?vo=Lofar&r=day"
+                       class="btn btn-info btn-sm" role="button" target="_blank"><img src="{% static 'taskdatabase/surfsara.jpg' %}"  height="20" alt=""></a>&nbsp;
+                    </td>
                 {% else %}
-                        <td>-</td><td>-</td><td>-</td>
+                        <td>-</td><td>-</td><td>-</td><td>-</td>
                 {% endif %}
 
+
                 <td>{{ task.quality|default_if_none:"-" }}</td>
                 <td>
-                    <a href="{% url 'task-validate-view' task.pk 'poor' 'validated' my_tasks.number %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-check"></i> Poor</a>
-                    <a href="{% url 'task-validate-view' task.pk 'moderate' 'validated' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-check"></i> Moderate</a>
-                    <a href="{% url 'task-validate-view' task.pk 'good' 'validated' my_tasks.number %}" class="btn btn-success btn-sm" role="button"><i class="fas fa-check"></i> Good</a>
+                    <a href="{% url 'task-validate-view' task.pk 'poor' 'validated' my_tasks.number %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-check"></i> P</a>
+                    <a href="{% url 'task-validate-view' task.pk 'moderate' 'validated' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-check"></i> M</a>
+                    <a href="{% url 'task-validate-view' task.pk 'good' 'validated' my_tasks.number %}" class="btn btn-success btn-sm" role="button"><i class="fas fa-check"></i> G</a>
 
                 </td>
 
diff --git a/atdb/taskdatabase/templates/taskdatabase/validation/tasks_validation_headers.html b/atdb/taskdatabase/templates/taskdatabase/validation/tasks_validation_headers.html
index 50e8cb882c9222775dd2f7a566523bec741a8cbe..e6911c18081cebeddeff56897b42b10d9c8fe8e5 100644
--- a/atdb/taskdatabase/templates/taskdatabase/validation/tasks_validation_headers.html
+++ b/atdb/taskdatabase/templates/taskdatabase/validation/tasks_validation_headers.html
@@ -1,13 +1,30 @@
 <tr>
-    <th>ID</th>
+    <th>
+        <a href="{% url 'sort-tasks' '-pk' 'validation' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        ID
+        <a href="{% url 'sort-tasks' 'id' 'validation' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+    </th>
     <th>Details</th>
 
-    <th>Project</th>
-    <th>SAS_ID</th>
-    <th>filter</th>
+    <th>
+        <a href="{% url 'sort-tasks' '-project' 'validation' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        Project
+        <a href="{% url 'sort-tasks' 'project' 'validation' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+    </th>
+    <th>
+        <a href="{% url 'sort-tasks' '-sas_id' 'validation' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        SAS_ID
+        <a href="{% url 'sort-tasks' 'sas_id' 'validation' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+    </th>
+    <th>
+        <a href="{% url 'sort-tasks' '-filter' 'validation' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        Filter
+        <a href="{% url 'sort-tasks' 'filter' 'validation' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+    </th>
     <th>uv-coverage</th>
     <th>Sensitivity</th>
     <th>Conditions</th>
-    <th>Current Quality</th>
-    <th>Choose a Quality</th>
+    <th>Plots</th>
+    <th>Current Q</th>
+    <th>Choose</th>
 </tr>
\ No newline at end of file
diff --git a/atdb/taskdatabase/templates/taskdatabase/validation/validation_page.html b/atdb/taskdatabase/templates/taskdatabase/validation/validation_page.html
index ad60380d51bacdc879330f0e43bf1f68582ee9ea..88a9b12ab2b51ec097c0bbecc311f33e1c9dda52 100644
--- a/atdb/taskdatabase/templates/taskdatabase/validation/validation_page.html
+++ b/atdb/taskdatabase/templates/taskdatabase/validation/validation_page.html
@@ -10,9 +10,7 @@
             <div class="col-8">
                 <h3>Validation</h3>
                 These are the tasks in status 'stored' that can be validated. Click one of the quality buttons to validate.
-                <td>
-                     {% include 'taskdatabase/filter/search.html' %}
-                 </td>
+                <td>{% include 'taskdatabase/filter/search.html' %}</td>
                 <hr>
             </div>
         </div>
diff --git a/atdb/taskdatabase/urls.py b/atdb/taskdatabase/urls.py
index ad825a43387d0a773a0659b8a3691ee5c5a266ac..fa5b2c7d4bb9a5e9e210c7e600b455cbde793a21 100644
--- a/atdb/taskdatabase/urls.py
+++ b/atdb/taskdatabase/urls.py
@@ -82,10 +82,11 @@ urlpatterns = [
     path('tasks/<int:pk>/setstatus/<new_status>', views.TaskSetStatus, name='task-details-setstatus'),
 
     path('tasks/<int:pk>/validate/<quality>/<new_status>/<page>', views.TaskValidate, name='task-validate-view'),
+    path('tasks/<int:pk>/retry//<new_status>/<page>', views.TaskRetry, name='task-retry-view'),
 
     path('tasks/<int:pk>/change_priority/<priority_change>/<page>', views.ChangePriority, name='task-change-priority'),
     path('tasks/<int:pk>/change_priority/<priority_change>', views.ChangePriority, name='task-change-priority'),
-    path('tasks/sort-tasks/<sort>', views.SortTasks, name='sort-tasks'),
+    path('tasks/sort-tasks/<sort>/<redirect_to_page>', views.SortTasks, name='sort-tasks'),
 
 
     path('tasks/set_filter/<filter>', views.TaskSetFilter, name='task-set-filter'),
diff --git a/atdb/taskdatabase/views.py b/atdb/taskdatabase/views.py
index 7e7ac65ae422ff7f939a0fa64292cdb0ffba04cd..30cd37630cc91c5b53b826e9f3dab116ec14cd42 100644
--- a/atdb/taskdatabase/views.py
+++ b/atdb/taskdatabase/views.py
@@ -59,6 +59,7 @@ class TaskFilter(filters.FilterSet):
             'project': ['exact', 'icontains'],
             'sas_id': ['exact', 'icontains', 'in'],
             'status': ['exact', 'icontains', 'in', 'startswith'],
+            'quality': ['exact', 'icontains', 'in', 'startswith'],
             'purge_policy': ['exact'],
             'priority': ['exact', 'lte', 'gte'],
             'resume': ['exact'],
@@ -81,6 +82,7 @@ class TaskFilterQueryPage(filters.FilterSet):
             'filter': ['exact', 'icontains'],
             'priority': ['exact', 'gte', 'lte'],
             'status': ['icontains', 'in'],
+            'quality': ['icontains', 'in'],
             'project': ['exact', 'icontains', 'in'],
             'sas_id': ['exact', 'icontains', 'in'],
             # 'resume': ['exact'],
@@ -215,7 +217,7 @@ class IndexView(ListView):
         try:
             filter = self.request.session['task_filter']
             if filter != 'all':
-                tasks = get_searched_tasks(filter, sort)
+                tasks = get_filtered_tasks(filter, sort)
         except:
             pass
 
@@ -229,7 +231,7 @@ class IndexView(ListView):
             pass
 
         if (search_box is not None):
-            tasks = get_searched_tasks(search_box, sort)
+            tasks = get_filtered_tasks(search_box, sort)
 
         # only return the 'regular' tasks, and not the 'postprocessing' tasks in the GUI
         # tasks = tasks.filter(task_type='regular')
@@ -283,7 +285,7 @@ class PostProcessingTasksView(ListView):
         try:
             filter = self.request.session['task_filter']
             if filter != 'all':
-                tasks = get_searched_tasks(filter, sort)
+                tasks = get_filtered_tasks(filter, sort)
         except:
             pass
 
@@ -297,7 +299,7 @@ class PostProcessingTasksView(ListView):
             pass
 
         if (search_box is not None):
-            tasks = get_searched_tasks(search_box, sort)
+            tasks = get_filtered_tasks(search_box, sort)
 
         # only return the 'regular' tasks, and not the 'postprocessing' tasks in the GUI
         tasks = tasks.filter(task_type='postprocessing')
@@ -351,12 +353,12 @@ class ShowQualityPage(ListView):
         try:
             filter = self.request.session['task_filter']
             if filter != 'all':
-                tasks = get_searched_tasks(filter, sort)
+                tasks = get_filtered_tasks(filter, sort)
         except:
             pass
 
         if (search_box is not None):
-            tasks = get_searched_tasks(search_box, sort)
+            tasks = get_filtered_tasks(search_box, sort)
 
         # exclude the tasks without quality information
         #tasks = tasks.exclude(outputs__isnull=True)
@@ -406,18 +408,18 @@ class ShowValidationPage(ListView):
         except:
             sort = '-creationTime'
 
-        tasks = Task.objects.filter(status__icontains='stored').order_by(sort)
-
+        stored_tasks = Task.objects.filter(status__icontains='stored').order_by(sort)
+        tasks = stored_tasks
         # check if there is a 'task_filter' put on the session
         try:
             filter = self.request.session['task_filter']
             if filter != 'all':
-                tasks = get_searched_tasks(filter, sort)
+                tasks = get_filtered_tasks(filter, sort, stored_tasks)
         except:
             pass
 
         if (search_box is not None):
-            tasks = get_searched_tasks(search_box, sort)
+            tasks = get_filtered_tasks(search_box, sort, stored_tasks)
 
         # exclude the tasks without quality information
         tasks = tasks.exclude(status__icontains="failed")
@@ -457,7 +459,6 @@ class ShowFailuresPage(ListView):
     context_object_name = 'my_tasks'
 
     def get_queryset(self):
-        status = self.request.GET.get('status')
         search_box = self.request.GET.get('search_box', None)
 
         # get the sort variable from the session or use default
@@ -466,18 +467,19 @@ class ShowFailuresPage(ListView):
         except:
             sort = '-creationTime'
 
-        tasks = Task.objects.filter(status__icontains='failed').order_by(sort)
+        failed_tasks = Task.objects.filter(status__icontains='failed').order_by(sort)
+        tasks = failed_tasks
 
         # check if there is a 'task_filter' put on the session
         try:
             filter = self.request.session['task_filter']
             if filter != 'all':
-                tasks = get_searched_tasks(filter, sort)
+                tasks = get_filtered_tasks(filter, sort, failed_tasks)
         except:
             pass
 
         if (search_box is not None):
-            tasks = get_searched_tasks(search_box, sort)
+            tasks = get_filtered_tasks(search_box, sort, failed_tasks)
 
         paginator = Paginator(tasks, config.TASKS_PER_PAGE)  # Show 50 tasks per page
         page = self.request.GET.get('page')
@@ -502,9 +504,14 @@ class ShowFailuresPage(ListView):
         return tasks
 
 
+# this provides a broad range of filters for the search_box in the GUI
+def get_filtered_tasks(search, sort, tasks=None):
+    if tasks:
+        tasks_to_filter = tasks
+    else:
+        tasks_to_filter = Task.objects.all()
 
-def get_searched_tasks(search, sort):
-    tasks = Task.objects.filter(
+    filtered_tasks = tasks_to_filter.filter(
         Q(id__contains=search) |
         Q(sas_id__contains=search) |
         Q(creationTime__icontains=search) |
@@ -512,7 +519,7 @@ def get_searched_tasks(search, sort):
         Q(status__icontains=search) |
         Q(status__in=search) |
         Q(project__icontains=search)).order_by(sort)
-    return tasks
+    return filtered_tasks
 
 
 class TaskTables2View(SingleTableView):
@@ -924,6 +931,21 @@ def TaskValidate(request, pk, quality, new_status, page=0):
         return redirect('/atdb/validation?page=' + page)
 
 
+@login_required
+def TaskRetry(request, pk, new_status, page=0):
+    model = Task
+    task = Task.objects.get(pk=pk)
+    task.new_status = new_status
+    task.save()
+
+    if page == 0:
+        # redirect to details screen
+        return redirect('/atdb/task_details')
+    else:
+        # redirect to tasks list
+        return redirect('/atdb/failures?page=' + page)
+
+
 # set a filter value in the session, used later by the 'get_searched_tasks' mechanism
 def TaskSetFilter(request, filter):
     request.session['task_filter'] = filter
@@ -973,10 +995,14 @@ def ChangePriority(request, pk, priority_change, page=0):
         return redirect('/atdb/?page=' + page)
 
 
-def SortTasks(request, sort):
+def SortTasks(request, sort, redirect_to_page):
     # store the sort field on the session
     request.session['sort'] = sort
-    return redirect('/atdb')
+    if redirect_to_page=='atdb':
+        return redirect('/atdb')
+    else:
+        return redirect(redirect_to_page)
+
 
 
 def convert_query_params_to_url(query_params):