mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-24 00:42:17 +00:00
Common competencies also do not count for being a supervisor
This commit is contained in:
@@ -5,6 +5,7 @@ from datetime import date
|
|||||||
from training import models
|
from training import models
|
||||||
from RIGS.models import Profile
|
from RIGS.models import Profile
|
||||||
|
|
||||||
|
|
||||||
class SessionLogForm(forms.Form):
|
class SessionLogForm(forms.Form):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -34,6 +35,7 @@ class QualificationForm(forms.ModelForm):
|
|||||||
raise forms.ValidationError('Selected supervisor must actually *be* a supervisor...')
|
raise forms.ValidationError('Selected supervisor must actually *be* a supervisor...')
|
||||||
return supervisor
|
return supervisor
|
||||||
|
|
||||||
|
|
||||||
class RequirementForm(forms.ModelForm):
|
class RequirementForm(forms.ModelForm):
|
||||||
depth = forms.ChoiceField(choices=models.TrainingItemQualification.CHOICES)
|
depth = forms.ChoiceField(choices=models.TrainingItemQualification.CHOICES)
|
||||||
|
|
||||||
|
|||||||
@@ -90,4 +90,4 @@ class Command(BaseCommand):
|
|||||||
is_staff=True)
|
is_staff=True)
|
||||||
supervisor.set_password('supervisor')
|
supervisor.set_password('supervisor')
|
||||||
supervisor.save()
|
supervisor.save()
|
||||||
models.TrainingLevelQualification.objects.create(trainee=supervisor, level=models.TrainingLevel.objects.filter(level__gte=models.TrainingLevel.SUPERVISOR).exclude(department=models.TrainingLevel.HAULAGE).first(), confirmed_on=timezone.now())
|
models.TrainingLevelQualification.objects.create(trainee=supervisor, level=models.TrainingLevel.objects.filter(level__gte=models.TrainingLevel.SUPERVISOR).exclude(department=models.TrainingLevel.HAULAGE).exclude(department__isnull=True).first(), confirmed_on=timezone.now())
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ from reversion import revisions as reversion
|
|||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
|
|
||||||
# 'shim' overtop the profile model to neatly contain all training related fields etc
|
# 'shim' overtop the profile model to neatly contain all training related fields etc
|
||||||
|
|
||||||
|
|
||||||
@reversion.register # profile is already registered, but this triggers my custom versioning logic
|
@reversion.register # profile is already registered, but this triggers my custom versioning logic
|
||||||
class Trainee(Profile):
|
class Trainee(Profile):
|
||||||
class Meta:
|
class Meta:
|
||||||
@@ -21,7 +23,10 @@ class Trainee(Profile):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def is_supervisor(self):
|
def is_supervisor(self):
|
||||||
return self.level_qualifications(True).filter(level__gte=TrainingLevel.SUPERVISOR).exclude(level__department=TrainingLevel.HAULAGE).exists()
|
return self.level_qualifications(True) \
|
||||||
|
.filter(level__gte=TrainingLevel.SUPERVISOR) \
|
||||||
|
.exclude(level__department=TrainingLevel.HAULAGE) \
|
||||||
|
.exclude(level__department__isnull=True).exists()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def is_driver(self):
|
def is_driver(self):
|
||||||
@@ -38,6 +43,8 @@ class Trainee(Profile):
|
|||||||
return reverse('trainee_detail', kwargs={'pk': self.pk})
|
return reverse('trainee_detail', kwargs={'pk': self.pk})
|
||||||
|
|
||||||
# Items
|
# Items
|
||||||
|
|
||||||
|
|
||||||
class TrainingCategory(models.Model):
|
class TrainingCategory(models.Model):
|
||||||
reference_number = models.CharField(max_length=3)
|
reference_number = models.CharField(max_length=3)
|
||||||
name = models.CharField(max_length=50)
|
name = models.CharField(max_length=50)
|
||||||
@@ -157,6 +164,10 @@ class TrainingLevel(models.Model, RevisionMixin):
|
|||||||
def get_requirements_of_depth(self, depth):
|
def get_requirements_of_depth(self, depth):
|
||||||
return self.requirements.filter(depth=depth)
|
return self.requirements.filter(depth=depth)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def is_common_competencies(self):
|
||||||
|
return self.department is None and self.level > 0
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def started_requirements(self):
|
def started_requirements(self):
|
||||||
return self.get_requirements_of_depth(TrainingItemQualification.STARTED)
|
return self.get_requirements_of_depth(TrainingItemQualification.STARTED)
|
||||||
@@ -227,6 +238,8 @@ class TrainingLevelQualification(models.Model):
|
|||||||
reversion_hide = True
|
reversion_hide = True
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
|
if self.level.is_common_competencies:
|
||||||
|
return "{} is qualified in the {}".format(self.trainee, self.level)
|
||||||
return "{} is qualified as a {}".format(self.trainee, self.level)
|
return "{} is qualified as a {}".format(self.trainee, self.level)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ from django.db import transaction
|
|||||||
|
|
||||||
from users import views
|
from users import views
|
||||||
|
|
||||||
|
|
||||||
class ItemList(generic.ListView):
|
class ItemList(generic.ListView):
|
||||||
template_name = "item_list.html"
|
template_name = "item_list.html"
|
||||||
model = models.TrainingItem
|
model = models.TrainingItem
|
||||||
|
|||||||
Reference in New Issue
Block a user