Add form to update skill informations
This commit is contained in:
parent
05650b210f
commit
a3123d469f
|
@ -88,15 +88,15 @@
|
||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 alert {% if request.session.template == 0 %}skill-info{% else %}alert-secondary{% endif %} mr-0">
|
<div class="col-md-6 alert {% if request.session.template == 0 %}skill-info{% else %}alert-secondary{% endif %} mr-0">
|
||||||
<p>From <a href="#">{{ skill.departure }}</a>,
|
<p>From <a href="#">{{ skill.departure }}</a>,
|
||||||
{% if skill.rotation %}
|
{% if skill.rotation %}
|
||||||
<a href="#">{{ skill.rotation }}</a> quart of <a href="#">{{ skill.get_rotation_type_display }}</a> rotation
|
<a href="#">{{ skill.rotation }}</a> quart of <a href="#">{{ skill.get_rotation_type_display }}</a> rotation
|
||||||
{% else %}
|
{% else %}
|
||||||
straight jump
|
straight jump
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if skill.twist %}
|
{% if skill.twist %}
|
||||||
with <a href="#">{{ skill.twist }} half-twist</a>
|
with <a href="#">{{ skill.twist }} half-twist</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
in a <a href="#">{{ skill.get_position_display }}</a> position, landing on <a href="#">{{ skill.landing }}</a>.
|
in a <a href="#">{{ skill.get_position_display }}</a> position, landing on <a href="#">{{ skill.landing }}</a>.
|
||||||
</p>
|
</p>
|
||||||
<br />
|
<br />
|
||||||
|
@ -105,6 +105,9 @@
|
||||||
{% else %}
|
{% else %}
|
||||||
<p class="text-muted">No more informations provided for this skill.</p>
|
<p class="text-muted">No more informations provided for this skill.</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
<a href="{% url 'skill_update' skill.id %}">
|
||||||
|
<span class="tim-icons icon-pencil text-warning"></span>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,11 +1,28 @@
|
||||||
from django import forms
|
from django import forms
|
||||||
|
|
||||||
from .models import (
|
from .models import (
|
||||||
|
Skill,
|
||||||
Routine,
|
Routine,
|
||||||
RoutineSkill
|
RoutineSkill
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class SkillForm(forms.ModelForm):
|
||||||
|
class Meta:
|
||||||
|
model = Skill
|
||||||
|
fields = (
|
||||||
|
"informations",
|
||||||
|
)
|
||||||
|
widgets = {
|
||||||
|
"informations": forms.Textarea(
|
||||||
|
attrs={
|
||||||
|
"class": "form-control",
|
||||||
|
"placeholder": "Informations about the skill : attention point, methodology, biomecanics, …", # pylint: disable=line-too-long
|
||||||
|
}
|
||||||
|
),
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class RoutineForm(forms.ModelForm):
|
class RoutineForm(forms.ModelForm):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Routine
|
model = Routine
|
||||||
|
|
|
@ -11,6 +11,11 @@ urlpatterns = [
|
||||||
path(r"skill/lookup/", views.skill_lookup, name="skill_lookup"),
|
path(r"skill/lookup/", views.skill_lookup, name="skill_lookup"),
|
||||||
path(r"skill/search/", views.skill_listing, name="skill_search"),
|
path(r"skill/search/", views.skill_listing, name="skill_search"),
|
||||||
path(r"skill/<int:skill_id>/", views.skill_details, name="skill_details"),
|
path(r"skill/<int:skill_id>/", views.skill_details, name="skill_details"),
|
||||||
|
path(
|
||||||
|
r"skill/<int:skill_id>/edit/",
|
||||||
|
views.skill_create_or_update,
|
||||||
|
name="skill_update"
|
||||||
|
),
|
||||||
path(r"skill/<int:skill_id>/tree/", views.skill_tree, name="skill_tree"),
|
path(r"skill/<int:skill_id>/tree/", views.skill_tree, name="skill_tree"),
|
||||||
path(
|
path(
|
||||||
r"skill/prerequisiteless/",
|
r"skill/prerequisiteless/",
|
||||||
|
|
|
@ -8,6 +8,7 @@ from django.urls import reverse
|
||||||
from ultron.people.models import Gymnast
|
from ultron.people.models import Gymnast
|
||||||
|
|
||||||
from .forms import (
|
from .forms import (
|
||||||
|
SkillForm,
|
||||||
RoutineForm,
|
RoutineForm,
|
||||||
RoutineSkillForm,
|
RoutineSkillForm,
|
||||||
)
|
)
|
||||||
|
@ -138,6 +139,34 @@ def skill_details(request, skill_id):
|
||||||
return render(request, "objectives/skills/details.html", context)
|
return render(request, "objectives/skills/details.html", context)
|
||||||
|
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
@require_http_methods(["GET", "POST"])
|
||||||
|
def skill_create_or_update(request, skill_id=None):
|
||||||
|
"""Création ou modification d'un saut.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
skill_id (int): identifiant d'un object de classe <Skill>.
|
||||||
|
"""
|
||||||
|
|
||||||
|
if skill_id:
|
||||||
|
skill = get_object_or_404(Skill, pk=skill_id)
|
||||||
|
else:
|
||||||
|
skill = None
|
||||||
|
|
||||||
|
if request.method == "POST":
|
||||||
|
form = SkillForm(request.POST, instance=skill)
|
||||||
|
|
||||||
|
if form.is_valid():
|
||||||
|
skill = form.save()
|
||||||
|
return HttpResponseRedirect(reverse("skill_details", args=(skill.pk,)))
|
||||||
|
else:
|
||||||
|
return render(request, "objectives/skill/create.html", {"form": form})
|
||||||
|
|
||||||
|
form = SkillForm(instance=skill)
|
||||||
|
context = {"form": form, "skill_id": skill_id}
|
||||||
|
return render(request, "objectives/skills/create.html", context)
|
||||||
|
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
@require_http_methods(["GET"])
|
@require_http_methods(["GET"])
|
||||||
def routine_listing(request, gymnast_id=None):
|
def routine_listing(request, gymnast_id=None):
|
||||||
|
|
Loading…
Reference in New Issue