This commit is contained in:
Gregory Trullemans 2023-05-16 12:58:11 +02:00
parent e94cee695b
commit b02bf29f79
3 changed files with 13 additions and 18 deletions

View File

@ -17,7 +17,7 @@ class SkillForm(forms.ModelForm):
}
class RoutineForm(forms.ModelForm):
class CombinationForm(forms.ModelForm):
class Meta:
model = Routine
fields = (
@ -47,7 +47,7 @@ class RoutineForm(forms.ModelForm):
}
class RoutineSkillForm(forms.ModelForm):
class CombinationSkillForm(forms.ModelForm):
class Meta:
model = RoutineSkill
fields = (

View File

@ -1,18 +1,14 @@
{% extends "base.html" %}
<!-- {% block page_title %}.: New Routine :.{% endblock %} -->
<!-- {% block title %}Routine{% endblock %} -->
{% block content %}
<div class="row justify-content-center">
<div class="col-12 col-sm-12 col-md-8 col-lg-7 col-xl-6">
<div class="card">
<div class="card-header">
<h4 class="">{% if routine_id %}Edit{% else %}Add{% endif %} Routine</h4>
<h4 class="">{% if combination_id %}Edit{% else %}Add{% endif %} Combination</h4>
</div>
<div class="card-body">
<form action="{% if routine_id %}{% url 'combination_update' routine_id %}{% else %}{% url 'combination_create' %}{% endif %}" method="post" class="form-horizontal" id="formulaire" name="formulaire">
<form action="{% if combination_id %}{% url 'combination_update' combination_id %}{% else %}{% url 'combination_create' %}{% endif %}" method="post" class="form-horizontal" id="formulaire" name="formulaire">
{% csrf_token %}
{% for hidden in form.hidden_fields %}
{{ hidden }}

View File

@ -9,8 +9,8 @@ from jarvis.people.models import Gymnast
from .forms import (
SkillForm,
RoutineForm,
RoutineSkillForm,
CombinationForm,
CombinationSkillForm,
)
from .models import (
Skill,
@ -367,28 +367,27 @@ def combination_create_or_update(request, combination_id=None):
Args:
combination_id (int) identifiant d'un object de classe <routine>.
"""
if combination_id:
routine = get_object_or_404(Routine, pk=combination_id)
combination = get_object_or_404(Routine, pk=combination_id)
else:
routine = None
combination = None
if request.method == "POST":
form = RoutineForm(request.POST, instance=routine)
form = CombinationForm(request.POST, instance=combination)
if form.is_valid():
routine = form.save()
combination = form.save()
# ici faire un FOR skill in form_skills_list:
# record.save() # ca sauve le record dans la table RoutineSkill
# something like this : http://stackoverflow.com/questions/3074938/django-m2m-form-save-through-table
# QTF : can you help me ?
return HttpResponseRedirect(
reverse("combination_details", args=(routine.pk,))
reverse("combination_details", args=(combination.pk,))
)
else:
return render(request, "combinations/create.html", {"form": form})
form = RoutineForm(instance=routine)
form = CombinationForm(instance=combination)
context = {"form": form, "combination_id": combination_id}
return render(request, "combinations/create.html", context)
@ -428,7 +427,7 @@ def link_skill_to_combination(request):
"skill": get_object_or_404(Skill, pk=request.POST.get("skill_id", 0)),
"rank": request.POST.get("rank", 0),
}
form = RoutineSkillForm(data)
form = CombinationSkillForm(data)
if form.is_valid():
link, created = RoutineSkill.objects.get_or_create(