Update skill details : verification and correction of fields
continuous-integration/drone/push Build is failing Details

This commit is contained in:
Gregory Trullemans 2021-12-14 18:14:14 +01:00
parent 16f0de6278
commit 98d64fbb49
1 changed files with 19 additions and 1 deletions

View File

@ -67,13 +67,31 @@ def skill_listing(request, field=None, expression=None, value=None, level=None):
def skill_details(request, skillid): def skill_details(request, skillid):
""" """
Récupère toutes les informations d'un skill. Récupère toutes les informations d'un skill.
La méthode en profite pour vérifier les champs level, rank, age_boy et age_girl par rapport aux pré-requis.
:param skillig: id d'un `skill` :param skillig: id d'un `skill`
:type skillid: int :type skillid: int
:return: skill :return: skill
""" """
context = {"skill": get_object_or_404(Skill, pk=skillid)} skill = get_object_or_404(Skill, pk=skillid)
for prerequisite in skill.prerequisites.all():
if prerequisite.level >= skill.level:
skill.level = prerequisite.level + 1
if prerequisite.rank >= skill.rank:
skill.rank = prerequisite.rank + 1
if prerequisite.age_boy > skill.age_boy:
skill.age_boy = prerequisite.age_boy
if prerequisite.age_girl > skill.age_girl:
skill.age_girl = prerequisite.age_girl
skill.save()
context = {"skill": skill}
return render(request, "objectives/skills/details.html", context) return render(request, "objectives/skills/details.html", context)