diff --git a/atdb/taskdatabase/models.py b/atdb/taskdatabase/models.py index 54592ab57c3e2721d179a41946cceb6a484edd20..108cdb5df934d65d66c77bf7b89b657851bd603e 100644 --- a/atdb/taskdatabase/models.py +++ b/atdb/taskdatabase/models.py @@ -321,18 +321,21 @@ class Task(models.Model): @property def task_type_join(self): - # 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' + 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' - return 'regular' + 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): diff --git a/atdb/taskdatabase/templates/taskdatabase/tasks.html b/atdb/taskdatabase/templates/taskdatabase/tasks.html index e9d7a5aa2bc0a806422e3d686bbed087ba36a8e0..29ef8b5f4c3639fc71878d7b7a484cca28775e67 100644 --- a/atdb/taskdatabase/templates/taskdatabase/tasks.html +++ b/atdb/taskdatabase/templates/taskdatabase/tasks.html @@ -30,23 +30,22 @@ 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> + </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> + </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> + </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 %}