diff --git a/training/models.py b/training/models.py
index 7de1ec1e..b03c7863 100644
--- a/training/models.py
+++ b/training/models.py
@@ -10,13 +10,15 @@ class Trainee(Profile):
class Meta:
proxy = True
+ def level_qualifications(self, only_confirmed=False):
+ levels = self.levels.all()
+ if only_confirmed:
+ levels = levels.filter(confirmed_on__isnull=False)
+ return levels.select_related('level')
+
@property
def is_supervisor(self):
- # FIXME Efficiency
- for level_qualification in self.levels.select_related('level').all():
- if level_qualification.confirmed_on is not None and level_qualification.level.level >= TrainingLevel.SUPERVISOR:
- return True
- return False
+ return self.level_qualifications(True).filter(level__gte=TrainingLevel.SUPERVISOR).exists()
def get_records_of_depth(self, depth):
return self.qualifications_obtained.filter(depth=depth).select_related('item', 'trainee', 'supervisor')
diff --git a/training/templates/trainee_detail.html b/training/templates/trainee_detail.html
index 9a3e2459..15bcf89c 100644
--- a/training/templates/trainee_detail.html
+++ b/training/templates/trainee_detail.html
@@ -48,10 +48,7 @@
Add New Training Record
-
- Log External Training
-
- View Detailed Record
+ View Detailed Record
No progress in any levels yet...did someone forget to fill out the paperwork?
{% endfor %}