diff --git a/training/models.py b/training/models.py index 8328ab9e..50eb8449 100644 --- a/training/models.py +++ b/training/models.py @@ -184,6 +184,16 @@ class TrainingLevel(models.Model, RevisionMixin): def passed_out_requirements(self): return self.get_requirements_of_depth(TrainingItemQualification.PASSED_OUT) + def get_related_level(self, dif): + if (level == 0 and dif < 0) or (level == 2 and dif > 0): + return None + return TrainingLevel.objects.get(department=self.department, level=self.level+dif) + + def get_common_competencies(self): + if is_common_competencies: + return self + return TrainingLevel.objects.get(level=self.level, department=None) + def percentage_complete(self, user): # FIXME needed_qualifications = self.requirements.all().select_related() relavant_qualifications = 0.0 diff --git a/training/templates/level_list.html b/training/templates/level_list.html index faab46df..9bbb48a3 100644 --- a/training/templates/level_list.html +++ b/training/templates/level_list.html @@ -1,19 +1,76 @@ {% extends 'base_training.html' %} {% load markdown_tags %} +{% load get_supervisor from tags %} {% block css %} {% endblock %} @@ -28,28 +85,17 @@ Correct as of 3rd September 2021, check the Training Policy. -
- {% for level in levels %} - {% if forloop.counter == 3 %} -
-
- {% endif %} - {% if level.level == 2 and level.department is None %} -
-
- {% endif %} -
-
-

{{ level }}

-
-

{{ level.description|markdown }}

-
-
-
- {% if forloop.last %} -
-
- {% endif %} - {% endfor %} -
+ {% endblock %} diff --git a/training/templatetags/tags.py b/training/templatetags/tags.py index aaf570a4..e6204063 100644 --- a/training/templatetags/tags.py +++ b/training/templatetags/tags.py @@ -26,3 +26,8 @@ def percentage_complete(level, user): @register.simple_tag def colour_from_depth(depth): return models.TrainingItemQualification.get_colour_from_depth(depth) + + +@register.filter +def get_supervisor(tech): + return models.TrainingLevel.objects.get(department=tech.department, level=models.TrainingLevel.SUPERVISOR) diff --git a/training/views.py b/training/views.py index 95f089a6..b257e23c 100644 --- a/training/views.py +++ b/training/views.py @@ -76,7 +76,9 @@ class LevelList(generic.ListView): def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context["page_title"] = "All Training Levels" - context["levels"] = models.TrainingLevel.objects.all().order_by('level', 'department') + context["ta"] = models.TrainingLevel.objects.get(level=models.TrainingLevel.TA) + context["tech"] = models.TrainingLevel.objects.filter(level=models.TrainingLevel.TECHNICIAN).order_by('department') + context["sup"] = models.TrainingLevel.objects.filter(level=models.TrainingLevel.SUPERVISOR).order_by('department') return context