class OperatorRunAdmin(admin.ModelAdmin): list_display = ( "id", link_relation("operator"), "first_run", "status", "run_count", progress_bar("percent_runs_succeeded"), progress_bar("percent_runs_finished"), "created_date", ) ordering = ("-created_date", ) readonly_fields = ("id", "operator", "job_group", "job_group_notifier", "parent") def run_count(self, obj): return obj.runs.count() def first_run(self, obj): run = obj.runs.first() if run: url = reverse("admin:{}_{}_change".format(obj._meta.app_label, "run"), args=(run.pk, )) return format_html("<a href='{url}'>{name}</a>", url=url, name=run.name)
class PipelineAdmin(admin.ModelAdmin): list_display = ('id', 'name', 'version', 'default', 'output_directory', link_relation("operator")) def get_readonly_fields(self, request, obj=None): if obj: return ('github', 'version') else: return []
class PipelineAdmin(admin.ModelAdmin): list_display = ("id", "name", "version", "default", "output_directory", link_relation("operator")) actions = [ action_add_pipeline_to_cache, ] def get_readonly_fields(self, request, obj=None): if obj: return ("github", "version") else: return []
class RunAdmin(admin.ModelAdmin): list_display = ( "id", "name", link_relation("app"), link_relation("operator_run"), "tags", "status", "link_to_ridgeback", "created_date", "finished_date", ) ordering = ("-created_date", ) list_filter = ( ("created_date", DateTimeRangeFilter), StatusFilter, AppFilter, ) search_fields = ("tags__sampleId", "tags__requestId", "tags__cmoSampleIds__contains", "operator_run__id") readonly_fields = ( "samples", "job_group", "job_group_notifier", link_relation("operator_run"), link_relation("app"), ) actions = [abort_run] def link_to_ridgeback(self, obj): if not obj.execution_id: return "-" return format_html( "<a target='_blank' href='{ridgeback_url}/admin/orchestrator/job/{execution_id}'>{execution_id}</a>", execution_id=obj.execution_id, ridgeback_url=RIDGEBACK_URL, ) link_to_ridgeback.short_description = "Execution ID (Ridgeback)"
class OperatorTriggerAdmin(admin.ModelAdmin): list_display = ('id', link_relation("from_operator"), link_relation("to_operator"), 'aggregate_condition')
class RunAdmin(admin.ModelAdmin): list_display = ('id', 'name', link_relation("app"), link_relation("operator_run"), 'tags', 'status', 'execution_id', 'created_date', 'notify_for_outputs') ordering = ('-created_date',) list_filter = (('created_date', DateTimeRangeFilter), StatusFilter, AppFilter,) search_fields = ('tags__sampleId', 'tags__requestId', 'tags__cmoSampleIds__contains') readonly_fields = ('samples', 'job_group', 'job_group_notifier', 'operator_run', 'app')
class RunAdmin(admin.ModelAdmin): list_display = ('id', 'name', link_relation("app"), link_relation("operator_run"), 'tags', 'status', 'execution_id', 'created_date', 'notify_for_outputs') ordering = ('-created_date', )