wip: add context to progress bar
This commit is contained in:
parent
e24349b9de
commit
22b7874593
3 changed files with 13 additions and 8 deletions
|
|
@ -28,7 +28,7 @@ class PlanStatus(models.TextChoices):
|
||||||
|
|
||||||
|
|
||||||
STATUS_CSS = {
|
STATUS_CSS = {
|
||||||
PlanStatus.NOT_STARTED: "secondary",
|
PlanStatus.NOT_STARTED: "light",
|
||||||
PlanStatus.STARTED: "primary",
|
PlanStatus.STARTED: "primary",
|
||||||
PlanStatus.PARTIALLY_IMPLEMENTED: "warning",
|
PlanStatus.PARTIALLY_IMPLEMENTED: "warning",
|
||||||
PlanStatus.IMPLEMENTED: "success",
|
PlanStatus.IMPLEMENTED: "success",
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,15 @@
|
||||||
|
|
||||||
{% get_plan_progress object_list as progress %}
|
{% get_plan_progress object_list as progress %}
|
||||||
|
|
||||||
<div>
|
<div class="d-flex align-items-center">
|
||||||
<div class="progress" style="height: 25px;">
|
<small class="text-gray-700">{{ progress.count }} Vorhaben</small>
|
||||||
|
<div class="flex-grow-1 ml-2">
|
||||||
|
<div class="progress">
|
||||||
{% for section in progress.sections %}
|
{% for section in progress.sections %}
|
||||||
<div class="progress-bar bg-{{ section.css_class }}" role="progressbar" style="width: {{ section.css_percentage }}%;" aria-valuenow="{{ section.css_percentage }}" aria-valuemin="0" aria-valuemax="100" title="{{ section.label }}: {{ section.percentage }}%" data-toggle="tooltip" data-placement="top">
|
<div class="progress-bar bg-{{ section.css_class }}" role="progressbar" style="width: {{ section.css_percentage }}%;" aria-valuenow="{{ section.css_percentage }}" aria-valuemin="0" aria-valuemax="100" title="{{ section.percentage }}% {{ section.label }}" data-toggle="tooltip" data-placement="top">
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,9 @@ def get_plan_progress(object_list):
|
||||||
sections = []
|
sections = []
|
||||||
for value, label in PlanStatus.choices:
|
for value, label in PlanStatus.choices:
|
||||||
status_count = len([x for x in object_list if x.status == value])
|
status_count = len([x for x in object_list if x.status == value])
|
||||||
percentage = status_count / len(object_list) * 100
|
percentage = (
|
||||||
|
0 if len(object_list) == 0 else status_count / len(object_list) * 100
|
||||||
|
)
|
||||||
sections.append(
|
sections.append(
|
||||||
{
|
{
|
||||||
"count": status_count,
|
"count": status_count,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue