Jarvis/jarvis/objective/forms.py

122 lines
3.6 KiB
Python

from django import forms
from .models import Skill, Routine, RoutineSkill, Passe
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 CombinationForm(forms.ModelForm):
class Meta:
model = Routine
fields = (
"long_label",
"short_label",
"difficulty",
"level",
"is_active",
"is_routine",
"is_competitive",
"informations",
)
widgets = {
"long_label": forms.TextInput(
attrs={"class": "form-control", "placeholder": "Routine's long name"}
),
"short_label": forms.TextInput(
attrs={"class": "form-control", "placeholder": "Routine's short name"}
),
# "is_routine": form.,
# "is_competitive": form.,
"informations": forms.Textarea(
attrs={
"class": "form-control",
"placeholder": "Informations about the psychological state of mind : context (why, where, …), possible consequencies, …", # pylint: disable=line-too-long
}
),
"difficulty": forms.HiddenInput(),
"level": forms.HiddenInput(),
"is_active": forms.HiddenInput(),
}
class CombinationSkillForm(forms.ModelForm):
class Meta:
model = RoutineSkill
fields = (
"routine",
"skill",
"rank",
)
widgets = {
"routine": forms.HiddenInput(),
"skill": forms.HiddenInput(),
"rank": forms.NumberInput(),
}
class PasseForm(forms.ModelForm):
class Meta:
model = Passe
fields = ("label", "educatives", "regexp", "informations")
widgets = {
"label": forms.TextInput(
attrs={
"class": "form-control",
"placeholder": "Label (not mandatory)",
"maxlength": 30,
}
),
"regexp": forms.TextInput(
attrs={"class": "form-control", "placeholder": "[2-8]"}
),
"informations": forms.Textarea(
attrs={
"class": "form-control",
"placeholder": "Informations about the passe…", # pylint: disable=line-too-long
}
),
"educatives": forms.HiddenInput(),
}
educative_related = forms.CharField(
required=False,
widget=forms.TextInput(
attrs={
"class": "form-control",
"placeholder": "Searching educative",
"data-ref": "#id_educative",
}
),
)
# "repetition": forms.NumberInput(
# attrs={
# "class": "form-control",
# "placeholder": "x",
# "min": "0",
# "max": "1000",
# "step": "1",
# }
# ),
def clean_regexp(self):
""" """
cleaned_data = self.clean()
regexp = cleaned_data.get("regexp")
if not Passe.is_valid_regexp(regexp, None, None):
self.add_error("regexp", "Entered regexp not valid.")
return regexp