Fancy training level list layout

This commit is contained in:
2021-09-12 18:08:13 +01:00
parent cddb76bf7e
commit 13b1cea28b
4 changed files with 45 additions and 9 deletions

View File

@@ -138,6 +138,8 @@ class TrainingLevel(models.Model, RevisionMixin):
elif self.department == 2: elif self.department == 2:
return "danger" return "danger"
elif self.department == 3: elif self.department == 3:
return "warning"
elif self.department == 4:
return "light" return "light"
else: else:
return "primary" return "primary"

View File

@@ -1,4 +1,21 @@
{% extends 'base_training.html' %} {% extends 'base_training.html' %}
{% load colour_from_level from tags %}
{% block css %}
<style>
.level-1::after {
content: "";
position: relative;
left: 50%;
transform: translateX(-50%);
width: 2px;
height: 50px;
margin-top: -15px;
margin-bottom: -15px;
background: black;
}
</style>
{% endblock %}
{% block content %} {% block content %}
<div class="alert alert-info" role="alert"> <div class="alert alert-info" role="alert">
@@ -10,15 +27,28 @@
</ul> </ul>
<sup>Correct as of 3rd September 2021, check the Training Policy.</sup> <sup>Correct as of 3rd September 2021, check the Training Policy.</sup>
</div> </div>
<div class="chart">
<div class="card-columns"> {% for level in levels %}
{% for level in levels %} {% if forloop.counter == 3 %}
<div class="card my-3"> <div class="row">
<h3 class="card-header"><a href="{% url 'level_detail' level.pk %}">{{ level }}</a></h3> <div class="col-6">
<div class="card-body"> {% endif %}
<p>{{ level.description }}</p> {% if level.level == 2 and level.department is None %}
</div>
<div class="col-6">
{% endif %}
<div class="{% if forloop.first %}level-1 row{% elif forloop.counter == 2 %}level-2 row{%endif%}">
<div class="card my-3">
<h3 class="card-header"><a href="{% url 'level_detail' level.pk %}">{{ level }}</a></h3>
<div class="card-body bg-{% colour_from_level level %}">
<p>{{ level.description }}</p>
</div>
</div> </div>
</div> </div>
{% endfor %} {% if forloop.last %}
</div>
</div>
{% endif %}
{% endfor %}
</div> </div>
{% endblock %} {% endblock %}

View File

@@ -26,3 +26,7 @@ def percentage_complete(level, user):
@register.simple_tag @register.simple_tag
def colour_from_depth(depth): def colour_from_depth(depth):
return models.TrainingItemQualification.get_colour_from_depth(depth) return models.TrainingItemQualification.get_colour_from_depth(depth)
@register.simple_tag
def colour_from_level(level):
return level.get_department_colour()

View File

@@ -61,7 +61,7 @@ class LevelList(generic.ListView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
context["page_title"] = "All Training Levels" context["page_title"] = "All Training Levels"
context["levels"] = models.TrainingLevel.objects.all() context["levels"] = models.TrainingLevel.objects.all().order_by('level','department')
return context return context