From 68a424d62b4a2d0ff8ac551f213da696f50a3ea4 Mon Sep 17 00:00:00 2001 From: Arona Jones Date: Tue, 6 Jul 2021 12:16:43 +0100 Subject: [PATCH] Some sample data and UX work --- RIGS/management/commands/deleteSampleData.py | 5 +- .../commands/generateSampleRIGSData.py | 2 + .../commands/generateSampleTrainingData.py | 10 ++- training/models.py | 14 ++-- training/templates/trainee_detail.html | 64 ++++++++++--------- 5 files changed, 59 insertions(+), 36 deletions(-) diff --git a/RIGS/management/commands/deleteSampleData.py b/RIGS/management/commands/deleteSampleData.py index 4abc2f76..7eae9ef0 100644 --- a/RIGS/management/commands/deleteSampleData.py +++ b/RIGS/management/commands/deleteSampleData.py @@ -3,7 +3,7 @@ from django.core.management.base import BaseCommand, CommandError from django.contrib.auth.models import Group from assets import models from RIGS import models as rigsmodels - +from training import models as tmodels class Command(BaseCommand): help = 'Deletes testing sample data' @@ -31,6 +31,9 @@ class Command(BaseCommand): self.delete_objects(rigsmodels.Payment) self.delete_objects(rigsmodels.RiskAssessment) self.delete_objects(rigsmodels.EventChecklist) + self.delete_objects(tmodels.TrainingCategory) + self.delete_objects(tmodels.TrainingItem) + self.delete_objects(tmodels.TrainingLevel) def delete_objects(self, model): for obj in model.objects.all(): diff --git a/RIGS/management/commands/generateSampleRIGSData.py b/RIGS/management/commands/generateSampleRIGSData.py index 01486262..df0258c6 100644 --- a/RIGS/management/commands/generateSampleRIGSData.py +++ b/RIGS/management/commands/generateSampleRIGSData.py @@ -21,6 +21,7 @@ class Command(BaseCommand): profiles = models.Profile.objects.all() def handle(self, *args, **options): + print("Generating rigboard data") from django.conf import settings if not (settings.DEBUG or settings.STAGING): @@ -35,6 +36,7 @@ class Command(BaseCommand): self.setup_organisations() self.setup_venues() self.setup_events() + print("Done generating rigboard data") def setup_people(self): names = ["Regulus Black", "Sirius Black", "Lavender Brown", "Cho Chang", "Vincent Crabbe", "Vincent Crabbe", diff --git a/training/management/commands/generateSampleTrainingData.py b/training/management/commands/generateSampleTrainingData.py index dd4f1bd5..5dc4d51d 100644 --- a/training/management/commands/generateSampleTrainingData.py +++ b/training/management/commands/generateSampleTrainingData.py @@ -16,8 +16,10 @@ class Command(BaseCommand): categories = [] items = [] + levels = [] def handle(self, *args, **options): + print("Generating Training Data") from django.conf import settings if not (settings.DEBUG or settings.STAGING): @@ -46,4 +48,10 @@ class Command(BaseCommand): self.items.append(item) def setup_levels(self): - pass + self.levels.append(models.TrainingLevel.objects.create(level=models.TrainingLevel.TA, description="Passion will hatred faithful evil suicide noble battle. Truth aversion gains grandeur noble. Dead play gains prejudice god ascetic grandeur zarathustra dead good. Faithful ultimate justice overcome love will mountains inexpedient.")) + for i,name in models.TrainingLevel.DEPARTMENTS: + technician = models.TrainingLevel.objects.create(level=models.TrainingLevel.TECHNICIAN, department=i, description="Moral pinnacle derive ultimate war dead. Strong fearful joy contradict battle christian faithful enlightenment prejudice zarathustra moral.") + supervisor = models.TrainingLevel.objects.create(level=models.TrainingLevel.SUPERVISOR, department=i, description="Spirit holiest merciful mountains inexpedient reason value. Suicide ultimate hope.") + supervisor.prerequisite_levels.add(technician) + self.levels.append(technician) + self.levels.append(supervisor) diff --git a/training/models.py b/training/models.py index 30b6a788..5a1e2bc9 100644 --- a/training/models.py +++ b/training/models.py @@ -52,10 +52,13 @@ class TrainingItemQualification(models.Model): # Levels class TrainingLevel(models.Model, RevisionMixin): description = models.CharField(max_length=120, blank=True) + TA = 0 + TECHNICIAN = 1 + SUPERVISOR = 2 CHOICES = ( - (0, 'Technical Assistant'), - (1, 'Technician'), - (2, 'Supervisor'), + (TA, 'Technical Assistant'), + (TECHNICIAN, 'Technician'), + (SUPERVISOR, 'Supervisor'), ) DEPARTMENTS = ( (0, 'Sound'), @@ -69,7 +72,10 @@ class TrainingLevel(models.Model, RevisionMixin): prerequisite_levels = models.ManyToManyField('self', related_name='prerequisites', symmetrical=False, blank=True) def __str__(self): - return "{} {}".format(self.get_department_display(), self.get_level_display()) + if self.department is None: # TA + return self.get_level_display() + else: + return "{} {}".format(self.get_department_display(), self.get_level_display()) class TrainingLevelRequirement(models.Model): level = models.ForeignKey('TrainingLevel', related_name='requirements', on_delete=models.RESTRICT) diff --git a/training/templates/trainee_detail.html b/training/templates/trainee_detail.html index 39931d26..79891b44 100644 --- a/training/templates/trainee_detail.html +++ b/training/templates/trainee_detail.html @@ -1,40 +1,44 @@ {% extends 'base_rigs.html' %} {% block content %} +
Add New Training Record -
-

Training Levels

-{% for level in levels %} -
-

{{ level }}

-
-
-
25% complete
-
-

{{ level.description }}

-

Requirements: - -

- {% for req in level.requirements.all %} -
  • {{req}}
  • - {% endfor %} -

    -
    -
    -
    -{% endfor %} +
    +

    Training Levels

    +
    + {% for level in levels %} +
    +

    {{ level }}

    +
    +
    +
    25% complete
    +
    +

    {{ level.description }}

    +

    Requirements: + +

    + {% for req in level.requirements.all %} +
  • {{req}}
  • + {% endfor %} +

    +
    +
    + +
    + {% endfor %} +
    -

    Training Items


    -{% for category in categories %} -
    +

    Training Items


    +
    + {% for category in categories %}

    {{ category.name }}

    @@ -48,7 +52,7 @@ {% endfor %}
    -
    -{% endfor %} + {% endfor %} +
    {% endblock %}