diff --git a/atdb/taskdatabase/models.py b/atdb/taskdatabase/models.py index 87bef70cdc0c4f975e450ba88a322415c22c6b3e..108cdb5df934d65d66c77bf7b89b657851bd603e 100644 --- a/atdb/taskdatabase/models.py +++ b/atdb/taskdatabase/models.py @@ -318,6 +318,25 @@ class Task(models.Model): return finished + + @property + def task_type_join(self): + try: + # find out if this is a join/joined type of task, or just a regular task + if self.joined_output_task: + # this tasks has a designated output task, so it is an input task (join) + return 'join' + + joined_input_tasks = self.joined_input_tasks.all() + if joined_input_tasks.count()>0: + # this task has input tasks, so it is an output task (joined) + return 'joined' + + return 'regular' + except: + # 'the show must go on', don't crash if anything goes wrong, just show it as 'regular' + return 'regular' + @property def joined_status(self): # if a task has joined_input_tasks, then check their status diff --git a/atdb/taskdatabase/templates/taskdatabase/base.html b/atdb/taskdatabase/templates/taskdatabase/base.html index 92f5949b590c7ed3f554f986f9e6fab8a3e274e5..3d99581197f09ae61e7d7e87d09bb8e211fb240a 100644 --- a/atdb/taskdatabase/templates/taskdatabase/base.html +++ b/atdb/taskdatabase/templates/taskdatabase/base.html @@ -20,6 +20,8 @@ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"> <link href='https://fonts.googleapis.com/css?family=Raleway' rel='stylesheet' type='text/css'> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.4.2/css/all.css" integrity="sha384-/rXc/GQVaYpyDdyxK+ecHPVYJSN9bmVFBvjA/9eOB+pb3F2w2N6fc5qB9Ew5yIns" crossorigin="anonymous"> + <link rel="stylesheet" href="https://use.fontawesome.com/releases/v6.4.0/css/all.css" crossorigin="anonymous"> + <link href="{% static 'fontawesome_free/css/all.min.css' %}" rel="stylesheet" type="text/css"> <link href="https://cdn.jsdelivr.net/gh/gitbrent/bootstrap4-toggle@3.6.1/css/bootstrap4-toggle.min.css" rel="stylesheet"> diff --git a/atdb/taskdatabase/templates/taskdatabase/index.html b/atdb/taskdatabase/templates/taskdatabase/index.html index 4a37aaba7c20dd55cc575929e9efa673b23db17d..fe8c94fcde30ed95bf7215473a43ca912ae5832b 100644 --- a/atdb/taskdatabase/templates/taskdatabase/index.html +++ b/atdb/taskdatabase/templates/taskdatabase/index.html @@ -31,7 +31,7 @@ {% include 'taskdatabase/pagination.html' %} </div> </div> - <p class="footer"> Version 18 July 2023 + <p class="footer"> Version 27 July 2023 </div> {% include 'taskdatabase/refresh.html' %} diff --git a/atdb/taskdatabase/templates/taskdatabase/tasks.html b/atdb/taskdatabase/templates/taskdatabase/tasks.html index 8b5ebad6a5def466c78dd6aeee0f1c9cf63ca275..29ef8b5f4c3639fc71878d7b7a484cca28775e67 100644 --- a/atdb/taskdatabase/templates/taskdatabase/tasks.html +++ b/atdb/taskdatabase/templates/taskdatabase/tasks.html @@ -25,11 +25,27 @@ {% endif %} </td> <td> - <a class="open-modal btn btn-primary btn-sm" - href="{% url 'workflow-details' task.workflow.id %}" - data-popup-url="{% url 'workflow-details' task.workflow.id %}" - target="_blank"><i class="fas fa-project-diagram"></i> {{ task.workflow.id }} + {% if task.task_type_join == 'regular' %} + <a class="open-modal btn btn-primary btn-sm" + href="{% url 'workflow-details' task.workflow.id %}" + data-popup-url="{% url 'workflow-details' task.workflow.id %}" + target="_blank"><i class="fas fa-project-diagram"></i> {{ task.workflow.id }} </a></td> + {% endif %} + {% if task.task_type_join == 'joined' %} + <a class="open-modal btn btn-primary btn-sm" + href="{% url 'workflow-details' task.workflow.id %}" + data-popup-url="{% url 'workflow-details' task.workflow.id %}" + target="_blank"><i class="fas fa-diagram-successor"></i> {{ task.workflow.id }} + </a></td> + {% endif %} + {% if task.task_type_join == 'join' %} + <a class="open-modal btn btn-secondary btn-sm" + href="{% url 'workflow-details' task.workflow.id %}" + data-popup-url="{% url 'workflow-details' task.workflow.id %}" + target="_blank"><i class="fas fa-diagram-predecessor"></i> {{ task.workflow.id }} + </a></td> + {% endif %} </td> <td> {% if user.is_authenticated %} diff --git a/atdb/taskdatabase/templates/taskdatabase/tasks/details_card.html b/atdb/taskdatabase/templates/taskdatabase/tasks/details_card.html index 280a5e0aece4e67e5d762f9464fa87cdaa1d10da..65f8cc4a39af3f24679db64aeacedb1d6fc941cc 100644 --- a/atdb/taskdatabase/templates/taskdatabase/tasks/details_card.html +++ b/atdb/taskdatabase/templates/taskdatabase/tasks/details_card.html @@ -18,11 +18,29 @@ </td></tr> <tr class="{{ task.status }}"><td><b>status</b></td><td>{{ task.status }}</td></tr> <tr><td><b>workflow</b></td><td> + + {% if task.task_type_join == 'regular' %} <a class="open-modal btn btn-primary btn-sm" - href="{% url 'workflow-details' task.workflow.id %}" - data-popup-url="{% url 'workflow-details' task.workflow.id %}" - target="_blank"><i class="fas fa-project-diagram"></i> {{ task.workflow }} - </a> + href="{% url 'workflow-details' task.workflow.id %}" + data-popup-url="{% url 'workflow-details' task.workflow.id %}" + target="_blank"><i class="fas fa-project-diagram"></i> {{ task.workflow }} + </a></td> + {% endif %} + {% if task.task_type_join == 'joined' %} + <a class="open-modal btn btn-primary btn-sm" + href="{% url 'workflow-details' task.workflow.id %}" + data-popup-url="{% url 'workflow-details' task.workflow.id %}" + target="_blank"><i class="fas fa-diagram-successor"></i> {{ task.workflow }} + </a></td> + {% endif %} + {% if task.task_type_join == 'join' %} + <a class="open-modal btn btn-secondary btn-sm" + href="{% url 'workflow-details' task.workflow.id %}" + data-popup-url="{% url 'workflow-details' task.workflow.id %}" + target="_blank"><i class="fas fa-diagram-predecessor"></i> {{ task.workflow }} + </a></td> + {% endif %} + {% if user.is_staff %} <a href="/atdb/admin/taskdatabase/workflow/{{ task.workflow }}/change/" class="btn btn-secondary btn-sm" target="_blank" role="button"><i class="fas fa-cog"></i> Edit</a> </td></tr> {% endif %}