From 51a2692297456ac5e98645b6bac350b631b1d553 Mon Sep 17 00:00:00 2001 From: Vermaas <vermaas@astron.nl> Date: Fri, 5 Jan 2024 16:09:57 +0100 Subject: [PATCH] add priority buttons to Ingest --- .../taskdatabase/ingest/headers.html | 5 +++++ .../templates/taskdatabase/ingest/tasks.html | 9 +++++++++ atdb/taskdatabase/urls.py | 2 ++ atdb/taskdatabase/views.py | 19 ++++++++++++++++++- 4 files changed, 34 insertions(+), 1 deletion(-) diff --git a/atdb/taskdatabase/templates/taskdatabase/ingest/headers.html b/atdb/taskdatabase/templates/taskdatabase/ingest/headers.html index 806d6f73..4c22cc0b 100644 --- a/atdb/taskdatabase/templates/taskdatabase/ingest/headers.html +++ b/atdb/taskdatabase/templates/taskdatabase/ingest/headers.html @@ -5,6 +5,11 @@ Workflow <a href="{% url 'sort-tasks' 'workflow' 'ingest' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a> </th> + <th> + <a href="{% url 'sort-tasks' '-priority' 'ingest' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a> + Priority + <a href="{% url 'sort-tasks' 'priority' 'ingest' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a> + </th> <th>Status</th> <th> <a href="{% url 'sort-tasks' '-project' 'ingest' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a> diff --git a/atdb/taskdatabase/templates/taskdatabase/ingest/tasks.html b/atdb/taskdatabase/templates/taskdatabase/ingest/tasks.html index 814bb21c..9c073cb5 100644 --- a/atdb/taskdatabase/templates/taskdatabase/ingest/tasks.html +++ b/atdb/taskdatabase/templates/taskdatabase/ingest/tasks.html @@ -12,6 +12,15 @@ target="_blank"><i class="fas fa-project-diagram"></i> {{ task.workflow.id }} </a></td> </td> + <td> + {% if user.is_authenticated %} + <a href="{% url 'task-change-priority-sasid' task.pk '-10' my_tasks.number %}" class="btn btn-warning btn-sm" role="button">-10</a> + {% endif %} + {{ task.priority }} + {% if user.is_authenticated %} + <a href="{% url 'task-change-priority-sasid' task.pk '10' my_tasks.number %}" class="btn btn-warning btn-sm" role="button">+10</a> + {% endif %} + </td> <td>{{ task.sasid_ingested_fraction.status }}</td> <td>{{ task.project }}</td> diff --git a/atdb/taskdatabase/urls.py b/atdb/taskdatabase/urls.py index 17c565be..b2212002 100644 --- a/atdb/taskdatabase/urls.py +++ b/atdb/taskdatabase/urls.py @@ -106,6 +106,8 @@ urlpatterns = [ 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/<int:pk>/change_priority_sasid/<priority_change>/<page>', views.ChangePrioritySasID, name='task-change-priority-sasid'), + path('tasks/sort-tasks/<sort>/<redirect_to_page>', views.SortTasks, name='sort-tasks'), path('tasks/set_filter/<filter>/<redirect_to_page>', views.TaskSetFilter, name='task-set-filter'), path('tasks/set_active_filter/<redirect_to_page>', views.TaskSetActiveFilter, name='task-set-active-filter'), diff --git a/atdb/taskdatabase/views.py b/atdb/taskdatabase/views.py index 92de9352..cc31eefc 100644 --- a/atdb/taskdatabase/views.py +++ b/atdb/taskdatabase/views.py @@ -1366,7 +1366,6 @@ def TaskClearFilter(request, redirect_to_page): @login_required def ChangePriority(request, pk, priority_change, page=0): - model = Task task = Task.objects.get(pk=pk) priority = task.priority + int(priority_change) @@ -1383,6 +1382,24 @@ def ChangePriority(request, pk, priority_change, page=0): # redirect to tasks list return redirect_with_params('index', '?page=' + page) +@login_required +def ChangePrioritySasID(request, pk, priority_change, page=0): + + task = Task.objects.get(pk=pk) + tasks = Task.objects.filter(sas_id=task.sas_id) + + for task in tasks: + priority = task.priority + int(priority_change) + + if priority < 0: + priority = 0 + + task.priority = priority + task.save() + + return redirect('ingest') + + def SortTasks(request, sort, redirect_to_page): # store the sort field on the session -- GitLab