Add form to update skill informations
This commit is contained in:
parent
05650b210f
commit
a3123d469f
|
@ -88,15 +88,15 @@
|
|||
<br />
|
||||
</div>
|
||||
<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 %}
|
||||
<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 %}
|
||||
straight jump
|
||||
{% endif %}
|
||||
{% if skill.twist %}
|
||||
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>.
|
||||
</p>
|
||||
<br />
|
||||
|
@ -105,6 +105,9 @@
|
|||
{% else %}
|
||||
<p class="text-muted">No more informations provided for this skill.</p>
|
||||
{% endif %}
|
||||
<a href="{% url 'skill_update' skill.id %}">
|
||||
<span class="tim-icons icon-pencil text-warning"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,11 +1,28 @@
|
|||
from django import forms
|
||||
|
||||
from .models import (
|
||||
Skill,
|
||||
Routine,
|
||||
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 Meta:
|
||||
model = Routine
|
||||
|
|
|
@ -11,6 +11,11 @@ urlpatterns = [
|
|||
path(r"skill/lookup/", views.skill_lookup, name="skill_lookup"),
|
||||
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>/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/prerequisiteless/",
|
||||
|
|
|
@ -8,6 +8,7 @@ from django.urls import reverse
|
|||
from ultron.people.models import Gymnast
|
||||
|
||||
from .forms import (
|
||||
SkillForm,
|
||||
RoutineForm,
|
||||
RoutineSkillForm,
|
||||
)
|
||||
|
@ -138,6 +139,34 @@ def skill_details(request, skill_id):
|
|||
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
|
||||
@require_http_methods(["GET"])
|
||||
def routine_listing(request, gymnast_id=None):
|
||||
|
|
Loading…
Reference in New Issue