From 4cc83c486145e1eccd062545bbd9a4acbd55d226 Mon Sep 17 00:00:00 2001 From: Dominik Turecek Date: Aug 04 2020 08:01:17 +0000 Subject: frontend: add new tab showing starting builds Fixes: #1429 --- diff --git a/frontend/coprs_frontend/coprs/logic/complex_logic.py b/frontend/coprs_frontend/coprs/logic/complex_logic.py index 19b8164..b5a4113 100644 --- a/frontend/coprs_frontend/coprs/logic/complex_logic.py +++ b/frontend/coprs_frontend/coprs/logic/complex_logic.py @@ -255,11 +255,13 @@ class ComplexLogic(object): importing = BuildsLogic.get_build_importing_queue(background=False).count() pending = BuildsLogic.get_pending_build_tasks(background=False).count() running = BuildsLogic.get_build_tasks(StatusEnum("running")).count() + starting = BuildsLogic.get_build_tasks(StatusEnum("starting")).count() return dict( importing=importing, pending=pending, running=running, + starting=starting, ) @classmethod diff --git a/frontend/coprs_frontend/coprs/templates/_helpers.html b/frontend/coprs_frontend/coprs/templates/_helpers.html index e4a6e72..813aaab 100644 --- a/frontend/coprs_frontend/coprs/templates/_helpers.html +++ b/frontend/coprs_frontend/coprs/templates/_helpers.html @@ -321,6 +321,10 @@ {{ tasks_info.pending }} Pending + + {{ tasks_info.starting }} + Starting + {{ tasks_info.running }} Running @@ -669,6 +673,8 @@ https://admin.fedoraproject.org/accounts/group/view/{{name}} Waiting {% elif type == 'pending' %} Pending + {% elif type == 'starting' %} + Starting {% else %} Running {% endif %} diff --git a/frontend/coprs_frontend/coprs/templates/status.html b/frontend/coprs_frontend/coprs/templates/status.html index 8c76ad3..8e8a78c 100644 --- a/frontend/coprs_frontend/coprs/templates/status.html +++ b/frontend/coprs_frontend/coprs/templates/status.html @@ -28,7 +28,13 @@ {{ queue_sizes['pending'] }} -
  • +
  • + + Starting + {{ queue_sizes['starting'] }} + +
  • +
  • Running {{ queue_sizes['running'] }} diff --git a/frontend/coprs_frontend/coprs/templates/status/starting.html b/frontend/coprs_frontend/coprs/templates/status/starting.html new file mode 100644 index 0000000..7a5bdbb --- /dev/null +++ b/frontend/coprs_frontend/coprs/templates/status/starting.html @@ -0,0 +1,23 @@ +{% extends "status.html" %} +{% from "_helpers.html" import build_href, copr_name, copr_details_href, initialize_datatables, status_info %} +{% block starting_selected %}active{% endblock %} +{%block status_breadcrumb %} +
  • + Starting +
  • +{%endblock%} +{% block status_body %} +

    {%if number == 0:%} + No tasks + {%elif number == 1:%} + {{number}} task + {%else%} + {{number}} tasks + {%endif%} + are are starting to be built +

    + +{{ status_info(type="starting", tasks=tasks) }} + +{{ initialize_datatables(order="desc") }} +{% endblock %} diff --git a/frontend/coprs_frontend/coprs/views/status_ns/status_general.py b/frontend/coprs_frontend/coprs/views/status_ns/status_general.py index acdc65c..f4a9d0f 100644 --- a/frontend/coprs_frontend/coprs/views/status_ns/status_general.py +++ b/frontend/coprs_frontend/coprs/views/status_ns/status_general.py @@ -33,6 +33,12 @@ def importing(): return render_status("importing", tasks=tasks, bg_tasks_cnt=bg_tasks_cnt) +@status_ns.route("/starting/") +def starting(): + tasks = builds_logic.BuildsLogic.get_build_tasks(StatusEnum("starting")).all() + return render_status("starting", tasks=tasks) + + def render_status(build_status, tasks, bg_tasks_cnt=None): return flask.render_template("status/{}.html".format(build_status), number=len(tasks), tasks=tasks, bg_tasks_cnt=bg_tasks_cnt)