From 7d3ada822debc433c0c8876906e9cc70174d9948 Mon Sep 17 00:00:00 2001 From: FreneticScribbler Date: Sat, 21 Aug 2021 00:24:48 +0100 Subject: [PATCH] Common competencies sample data --- .../commands/generateSampleTrainingData.py | 23 +++++++++++++++---- training/models.py | 7 ++++-- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/training/management/commands/generateSampleTrainingData.py b/training/management/commands/generateSampleTrainingData.py index d29666d8..25eeae9e 100644 --- a/training/management/commands/generateSampleTrainingData.py +++ b/training/management/commands/generateSampleTrainingData.py @@ -43,19 +43,34 @@ class Command(BaseCommand): self.categories.append(category) def setup_items(self): - names = ["Motorised Power Towers", "Catering", "Forgetting Cables", "Gazebo Construction", "Balanced Audio", "Unbalanced Audio", "BBQ/Bin Interactions", "Pushing Boxes", "How Not To Die", "Setting up projectors", "Basketing truss", "First Aid", "Digging Trenches", "Avoiding Bin Lorries", "Getting cherry pickers stuck in mud", "Crashing the Van", "Getting pigs to fly", "Basketing picnics", "Python programming", "Building Cables", "Unbuilding Cables", "Cat Herding", "Pancake making", "Tidying up", "Reading Manuals", "Bikeshedding"] + names = ["Motorised Power Towers", "Catering", "Forgetting Cables", "Gazebo Construction", "Balanced Audio", "Unbalanced Audio", "BBQ/Bin Interactions", "Pushing Boxes", "How Not To Die", "Setting up projectors", "Basketing truss", "First Aid", "Digging Trenches", "Avoiding Bin Lorries", "Getting cherry pickers stuck in mud", "Crashing the Van", "Getting pigs to fly", "Basketing picnics", "Python programming", "Building Cables", "Unbuilding Cables", "Cat Herding", "Pancake making", "Tidying up", "Reading Manuals", "Bikeshedding", "DJing", "Partying", "Teccie Gym", "Putting dust covers on", "Cleaning Lights", "Water Skiing", "Drinking", "Fundamentals of Audio", "Fundamentals of Photons", "Social Interaction"] for i,name in enumerate(names): item = models.TrainingItem.objects.create(category=random.choice(self.categories), reference_number=random.randint(0, 100), name=name) self.items.append(item) def setup_levels(self): - 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.")) + items = self.items.copy() + ta = 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.") + self.levels.append(ta) + tech_ccs = models.TrainingLevel.objects.create(level=models.TrainingLevel.TECHNICIAN, description="Technician Common Competencies. Spirit abstract endless insofar horror sexuality depths war decrepit against strong aversion revaluation free. Christianity reason joy sea law mountains transvaluation. Sea battle aversion dead ultimate morality self. Faithful morality.") + tech_ccs.prerequisite_levels.add(ta) + super_ccs = models.TrainingLevel.objects.create(level=models.TrainingLevel.SUPERVISOR, description="Depths disgust hope faith of against hatred will victorious. Law...") + for i in range(0, 5): + if len(items) == 0: + break + item = random.choice(items) + items.remove(item) + if i % 3 == 0: + models.TrainingLevelRequirement.objects.create(level=tech_ccs, item=item, depth=random.choice(models.TrainingItemQualification.CHOICES)[0]) + else: + models.TrainingLevelRequirement.objects.create(level=super_ccs, item=item, depth=random.choice(models.TrainingItemQualification.CHOICES)[0]) 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.") + technician.prerequisite_levels.add(tech_ccs) 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) - items = self.items.copy() + supervisor.prerequisite_levels.add(super_ccs, technician) + for i in range(0, 30): if len(items) == 0: break diff --git a/training/models.py b/training/models.py index 7787d665..d47debdd 100644 --- a/training/models.py +++ b/training/models.py @@ -143,8 +143,11 @@ class TrainingLevel(models.Model, RevisionMixin): return all(TrainingItem.user_has_qualification(req.item, user, req.depth) for req in self.requirements.select_related().all()) def __str__(self): - if self.department is None: # 2TA - return self.get_level_display() + if self.department is None: + if self.level == self.TA: + return self.get_level_display() + else: + return "{} Common Competencies".format(self.get_level_display()) else: return "{} {}".format(self.get_department_display(), self.get_level_display())