diff --git a/atdb/taskdatabase/tables.py b/atdb/taskdatabase/tables.py index 81abe46905c6a153af15b67fa3eaade8872be2d6..1fd018322254fe77a43333b85e19dfb82dc0064d 100644 --- a/atdb/taskdatabase/tables.py +++ b/atdb/taskdatabase/tables.py @@ -21,13 +21,13 @@ class TaskTable(tables.Table): class Meta: model = Task template_name = "django_tables2/bootstrap4.html" - fields = ("id", "priority", "status", "project", "sas_id", "workflow", "creationtime", "size_to_process","buttons") + fields = ("id", "workflow","filter","priority", "status","project","sas_id","creationtime", "size_to_process","buttons") # columns that need specific rendering status = StatusColumn() creationtime = tables.Column(verbose_name='CreationTime') buttons = tables.TemplateColumn(verbose_name='Actions', - template_name='query/buttons.html', + template_name='query/status_buttons_per_row.html', orderable=False) # orderable not sortable diff --git a/atdb/taskdatabase/templates/query/index.html b/atdb/taskdatabase/templates/query/index.html index ae7a7c8149741a77b6a6726c28cf3e4c507be53d..508b6eaf1c266f215e127a79d186ed3565965a70 100644 --- a/atdb/taskdatabase/templates/query/index.html +++ b/atdb/taskdatabase/templates/query/index.html @@ -9,14 +9,18 @@ {% block myBlock %} <div class="container-fluid details-container"> - <h4>Query</h4> {% if filter %} + <div class="card"> <form action="" method="get" class="form form-inline"> {% bootstrap_form filter.form layout='inline' %} {% bootstrap_button 'filter' %} </form> + </div> {% endif %} + + {% include "query/set_multi_status_panel.html" %} + {% render_table table 'django_tables2/bootstrap4.html' %} </div> diff --git a/atdb/taskdatabase/templates/query/set_multi_status_panel.html b/atdb/taskdatabase/templates/query/set_multi_status_panel.html new file mode 100644 index 0000000000000000000000000000000000000000..78c5cad9b0304607f52b777838eba92fd8a6b369 --- /dev/null +++ b/atdb/taskdatabase/templates/query/set_multi_status_panel.html @@ -0,0 +1,25 @@ + + <div class="row"> + <div class="col-sm"> + <div class="card"> + + <div class="card-body"> + {% if user.is_superuser %} + <p>Click to change Status for all these tasks</p> + <table> + <tr> + <a href="{% url 'task-setstatus' 1 'staged' '1' %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-sync-alt"></i> staged</a> + <a href="{% url 'task-setstatus' 1 'processed' '1' %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-sync-alt"></i> processed</a> + <a href="{% url 'task-setstatus' 1 'validated' '1' %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-sync-alt"></i> validated</a> + <a href="{% url 'task-setstatus' 1 'scrubbed' '1' %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-sync-alt"></i> scrubbed</a> + <a href="{% url 'task-setstatus' 1 'archived' '1' %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-sync-alt"></i> archived</a> + + <a href="{% url 'task-setstatus' 1 'finished' '1' %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-sync-alt"></i> finished</a> + </tr> + </table> + {% endif %} + </div> + </div> + </div> + </div> + diff --git a/atdb/taskdatabase/templates/query/buttons.html b/atdb/taskdatabase/templates/query/status_buttons_per_row.html similarity index 51% rename from atdb/taskdatabase/templates/query/buttons.html rename to atdb/taskdatabase/templates/query/status_buttons_per_row.html index acf3b3d8d6615005c7e16477444a7c96c25c71eb..211b1026f717e3fb4f4e8edf23d874b72bafeef1 100644 --- a/atdb/taskdatabase/templates/query/buttons.html +++ b/atdb/taskdatabase/templates/query/status_buttons_per_row.html @@ -1,19 +1,18 @@ {% if record.status == "defining" %} - <a href="{% url 'task-setstatus' record.pk 'defined' '1' %}" class="btn btn-success btn-sm" role="button">Stage</a> + <a href="{% url 'task-setstatus' record.pk 'defined' '1' %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> defined</a> {% endif %} {% if record.status != "defining" %} - <a href="{% url 'task-setstatus' record.pk 'defining' '1' %}" class="btn btn-warning btn-sm" role="button">Reset</a> + <a href="{% url 'task-setstatus' record.pk 'defining' '1' %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-undo"></i> defining</a> {% endif %} - <a href="{% url 'task-setstatus' record.pk 'staged' '1' %}" class="btn btn-primary btn-sm" role="button">staged</a> - <a href="{% url 'task-setstatus' record.pk 'processed' '1' %}" class="btn btn-primary btn-sm" role="button">processed</a> - <a href="{% url 'task-setstatus' record.pk 'validated' '1' %}" class="btn btn-primary btn-sm" role="button">validated</a> - <a href="{% url 'task-setstatus' record.pk 'scrub' '1' %}" class="btn btn-warning btn-sm" role="button">scrub</a> - <a href="{% url 'task-setstatus' record.pk 'scrubbed' '1' %}" class="btn btn-primary btn-sm" role="button">scrubbed</a> - <a href="{% url 'task-setstatus' record.pk 'archived' '1' %}" class="btn btn-primary btn-sm" role="button">archived</a> - <a href="{% url 'task-setstatus' record.pk 'finished' '1' %}" class="btn btn-primary btn-sm" role="button">finished</a> + <a href="{% url 'task-setstatus' record.pk 'staged' '1' %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> staged</a> + <a href="{% url 'task-setstatus' record.pk 'processed' '1' %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> processed</a> + <a href="{% url 'task-setstatus' record.pk 'validated' '1' %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> validated</a> + <a href="{% url 'task-setstatus' record.pk 'scrubbed' '1' %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> scrubbed</a> + <a href="{% url 'task-setstatus' record.pk 'archived' '1' %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> archived</a> + <a href="{% url 'task-setstatus' record.pk 'finished' '1' %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> finished</a> {% if record.status == "processed" %} <a href="{% url 'task-setstatus' record.pk 'validated' '1' %}" class="btn btn-success btn-sm" role="button">Validate</a> diff --git a/atdb/taskdatabase/templates/taskdatabase/config.html b/atdb/taskdatabase/templates/taskdatabase/config.html index bfc4d4213911535952e9f3c1711ac433654678a3..03afab8a797a04a20e1c7118320966fe516b2ad0 100644 --- a/atdb/taskdatabase/templates/taskdatabase/config.html +++ b/atdb/taskdatabase/templates/taskdatabase/config.html @@ -2,18 +2,20 @@ {% load static %} {% block myBlock %} -<div class="container"> -<div class="card"> - <div class="card-body"> - <h3>Configuration </h3> - <table class="table table-striped"> - <tbody> - {{ results | safe }} - </tbody> - </table> - </div> -</div> - <a href="/atdb/admin/taskdatabase/configuration/" class="btn btn-warning btn-sm" target="_blank" role="button"><i class="fas fa-cog"></i> Edit Configuration</a> +<div class="container-fluid details-container"> + <div class="card"> + <div class="card-body"> + <h3>Configuration </h3> + <table class="table table-striped"> + <tbody> + {{ results | safe }} + </tbody> + </table> + </div> + <tr><td> <a href="/atdb/admin/taskdatabase/configuration/" class="btn btn-light btn-sm" target="_blank" role="button"><i class="fas fa-cog"></i> Edit Configuration</a> </td></tr> + + </div> + </div> {% endblock %} diff --git a/atdb/taskdatabase/templates/taskdatabase/filter/filter_buttons.html b/atdb/taskdatabase/templates/taskdatabase/filter/filter_buttons.html index c5257985f5d3dffcc316da654a3b386e5d6e5edb..9410b51a312b5bd9282f90890d1384c7cd88891a 100644 --- a/atdb/taskdatabase/templates/taskdatabase/filter/filter_buttons.html +++ b/atdb/taskdatabase/templates/taskdatabase/filter/filter_buttons.html @@ -6,7 +6,9 @@ <tr><td>Click to Filter</td></tr> <tr> <td> - <a href="{% url 'task-set-filter' 'all' %}" class="btn btn-success btn-sm" role="button">ALL</a><a href="{% url 'task-set-filter' 'defining' %}" class="btn btn-secondary btn-sm" role="button">defining</a> + <a href="{% url 'task-set-filter' 'all' %}" class="btn btn-success btn-sm" role="button">ALL</a> + + <a href="{% url 'task-set-filter' 'defining' %}" class="btn btn-secondary btn-sm" role="button">defining</a> <a href="{% url 'task-set-filter' 'defined' %}" class="btn btn-primary btn-sm" role="button">defined</a> <a href="{% url 'task-set-filter' 'staging' %}" class="btn btn-secondary btn-sm" role="button">staging</a> <a href="{% url 'task-set-filter' 'staged' %}" class="btn btn-primary btn-sm" role="button">staged</a> diff --git a/atdb/taskdatabase/views.py b/atdb/taskdatabase/views.py index 6cf85728d3314ac364bdb94667fd2a7f089be777..6cf19246fbc0be2712483e5eee3f35e64907583a 100644 --- a/atdb/taskdatabase/views.py +++ b/atdb/taskdatabase/views.py @@ -53,16 +53,20 @@ class TaskFilter(filters.FilterSet): 'resume': ['exact'], } -class TaskFilterGUI(filters.FilterSet): +class TaskFilterQueryPage(filters.FilterSet): class Meta: model = Task fields = { - 'priority': ['exact'], + 'workflow__id': ['exact'], + 'filter': ['exact', 'icontains'], + 'priority': ['exact', 'lte', 'gte'], 'status': ['icontains', 'in'], - 'project': ['icontains'], - 'sas_id': ['icontains'], + 'project': ['exact', 'icontains'], + 'sas_id': ['exact', 'icontains'], + 'creationTime': ['icontains'], + 'size_to_process' : ['lte', 'gte'], } @@ -104,8 +108,7 @@ class QueryView(SingleTableMixin, FilterView): table_class = TaskTable model = Task template_name = "query/index.html" - #filterset_class = TaskFilterGUI - filterset_class = TaskFilter + filterset_class = TaskFilterQueryPage # ---------- GUI Views -----------