From d80aeca01fd41e2fcf970ddfcc8e7d05566f1287 Mon Sep 17 00:00:00 2001 From: FreneticScribbler Date: Fri, 3 Sep 2021 22:34:08 +0100 Subject: [PATCH] Add training level list Plus various other fettling --- .../migrations/0006_auto_20210903_2158.py | 23 ++++++++++++++++++ training/models.py | 13 ++++++++++ training/templates/base_training.html | 2 ++ training/templates/item_list.html | 2 +- training/templates/level_detail.html | 16 ++++++++----- training/templates/level_list.html | 24 +++++++++++++++++++ training/templates/trainee_detail.html | 24 +++---------------- training/urls.py | 2 +- training/views.py | 14 ++++++++++- 9 files changed, 90 insertions(+), 30 deletions(-) create mode 100644 training/migrations/0006_auto_20210903_2158.py create mode 100644 training/templates/level_list.html diff --git a/training/migrations/0006_auto_20210903_2158.py b/training/migrations/0006_auto_20210903_2158.py new file mode 100644 index 00000000..e7e5617f --- /dev/null +++ b/training/migrations/0006_auto_20210903_2158.py @@ -0,0 +1,23 @@ +# Generated by Django 3.1.7 on 2021-09-03 20:58 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('training', '0005_auto_20210819_1833'), + ] + + operations = [ + migrations.AddField( + model_name='traininglevel', + name='icon', + field=models.CharField(blank=True, max_length=20, null=True), + ), + migrations.AlterField( + model_name='traininglevelrequirement', + name='depth', + field=models.IntegerField(choices=[(0, 'Training Started'), (1, 'Training Complete'), (2, 'Passed Out')]), + ), + ] diff --git a/training/models.py b/training/models.py index 8903b98b..edda8359 100644 --- a/training/models.py +++ b/training/models.py @@ -119,6 +119,19 @@ class TrainingLevel(models.Model, RevisionMixin): department = models.IntegerField(choices=DEPARTMENTS, null=True) # N.B. Technical Assistant does not have a department level = models.IntegerField(choices=CHOICES) prerequisite_levels = models.ManyToManyField('self', related_name='prerequisites', symmetrical=False, blank=True) + icon = models.CharField(null=True, blank=True, max_length=20) + + def get_department_colour(self): + if self.department == 0: + return "info" + elif self.department == 1: + return "dark" + elif self.department == 2: + return "danger" + elif self.department == 3: + return "light" + else: + return "primary" def get_requirements_of_depth(self, depth): return self.requirements.filter(depth=depth) diff --git a/training/templates/base_training.html b/training/templates/base_training.html index 3a696d53..9e2ec8c5 100644 --- a/training/templates/base_training.html +++ b/training/templates/base_training.html @@ -20,6 +20,8 @@ Item Detail + + {% endif %} {% endblock %} diff --git a/training/templates/item_list.html b/training/templates/item_list.html index 35c2919c..5886fdb4 100644 --- a/training/templates/item_list.html +++ b/training/templates/item_list.html @@ -1,4 +1,4 @@ -{% extends 'base_rigs.html' %} +{% extends 'base_training.html' %} {% block content %}
diff --git a/training/templates/level_detail.html b/training/templates/level_detail.html index e1f557f9..bad353af 100644 --- a/training/templates/level_detail.html +++ b/training/templates/level_detail.html @@ -17,13 +17,13 @@

{{ object.description }}

-
+

Users with this level

-
+
{% for user in users_with %} {% user_level_if_present user object as level_qualification %} -
+
{{user}}
@@ -32,7 +32,7 @@
{% empty %} - Nobody here but us chickens... + Nobody here but us chickens... {% endfor %}
@@ -62,7 +62,7 @@ {% user_level_if_present request.user level as level_qualification %}
  • {{ level }}
  • {% for nested_level in level.prerequisite_levels.all %} - {% user_level_if_present request.user level as nested_level_qualification %} + {% user_level_if_present request.user nested_level as nested_level_qualification %} @@ -73,5 +73,9 @@
    -{% include 'partials/last_edited.html' with target="traininglevel_history" %} +
    +
    + {% include 'partials/last_edited.html' with target="traininglevel_history" %} +
    +
    {% endblock %} diff --git a/training/templates/level_list.html b/training/templates/level_list.html new file mode 100644 index 00000000..7f1e2c49 --- /dev/null +++ b/training/templates/level_list.html @@ -0,0 +1,24 @@ +{% extends 'base_training.html' %} + +{% block content %} + + +
    + {% for level in levels %} +
    +

    {{ level }}

    +
    +

    {{ level.description }}

    +
    +
    + {% endfor %} +
    +{% endblock %} diff --git a/training/templates/trainee_detail.html b/training/templates/trainee_detail.html index d34e2a55..7c051928 100644 --- a/training/templates/trainee_detail.html +++ b/training/templates/trainee_detail.html @@ -6,19 +6,7 @@ {% load user_level_if_present from tags %} {% load colour_from_depth from tags %} -{% block css %} - {{ block.super }} - -{% endblock %} - -{% block preload_js %} - {{ block.super }} - -{% endblock %} - {% block js %} - -