clean: remove pycache from tracking
This commit is contained in:
176
gestion_projet/forms.py
Normal file
176
gestion_projet/forms.py
Normal file
@@ -0,0 +1,176 @@
|
||||
from django import forms
|
||||
from gestion_projet.models import Projet
|
||||
from .models import (
|
||||
ActiviteProjet,
|
||||
Bailleur,
|
||||
DocumentProjet,
|
||||
FinancementProjet,
|
||||
LivrablesLivres,
|
||||
DomaineDeRecherche
|
||||
)
|
||||
|
||||
class ProjetForm(forms.ModelForm):
|
||||
"""Formulaire de création et de modification d'un projet, avec validation des dates et personnalisation des champs."""
|
||||
class Meta:
|
||||
model = Projet
|
||||
fields = (
|
||||
'id_projet',
|
||||
'nom_projet',
|
||||
'date_debut',
|
||||
'date_fin',
|
||||
'numero_convention',
|
||||
'domaine_recherche',
|
||||
'type_projet',
|
||||
'budget',
|
||||
'budget_RH',
|
||||
'description'
|
||||
)
|
||||
# domaine_recherche = forms.ModelMultipleChoiceField(
|
||||
# queryset=DomaineDeRecherche.objects.all(),
|
||||
# to_field_name="nom",
|
||||
# required=False
|
||||
# )
|
||||
widgets = {
|
||||
'id_projet': forms.TextInput(attrs={'class': "form-control"}),
|
||||
'nom_projet': forms.TextInput(attrs={'class': "form-control"}),
|
||||
'numero_convention': forms.TextInput(attrs={'class': "form-control"}),
|
||||
'domaine_recherche': forms.SelectMultiple(attrs={'class': "form-control"}),
|
||||
'type_projet': forms.Select(attrs={'class': "form-select"}),
|
||||
'budget': forms.NumberInput(attrs={'class': "form-control"}),
|
||||
'budget_RH': forms.NumberInput(attrs={'class': "form-control"}),
|
||||
'description': forms.Textarea(attrs={'class': "form-control"}),
|
||||
'date_debut': forms.DateInput(attrs={'type': 'date', 'class': "form-control"}),
|
||||
'date_fin': forms.DateInput(attrs={'type': 'date', 'class': "form-control"}),
|
||||
}
|
||||
|
||||
class BailleurForm(forms.ModelForm):
|
||||
"""
|
||||
Formulaire de création et de modification d'un bailleur,
|
||||
avec validation des champs et personnalisation des labels.
|
||||
"""
|
||||
class Meta:
|
||||
model = Bailleur
|
||||
fields = ('nom_organisme', 'contact', 'email', 'pays')
|
||||
widgets = {
|
||||
'nom_organisme':forms.TextInput(attrs={
|
||||
'class':'form-control',
|
||||
}),
|
||||
'contact':forms.TextInput(attrs={
|
||||
'class':'form-control',
|
||||
}),
|
||||
'email':forms.TextInput(attrs={
|
||||
'class':'form-control',
|
||||
}),
|
||||
'pays':forms.TextInput(attrs={
|
||||
'class':'form-control',
|
||||
}),
|
||||
}
|
||||
|
||||
class DocumentProjetForm(forms.ModelForm):
|
||||
"""
|
||||
Formulaire pour ajouter ou modifier un document associé à un projet,
|
||||
avec validation des champs et personnalisation des labels.
|
||||
"""
|
||||
class Meta:
|
||||
model = DocumentProjet
|
||||
fields = [
|
||||
'nom_document',
|
||||
'numero',
|
||||
'date_validite',
|
||||
'fichier',
|
||||
'description'
|
||||
]
|
||||
widgets = {
|
||||
'nom_document': forms.Select(attrs={'class': 'form-select'}),
|
||||
'description': forms.Textarea(attrs={'class': 'form-control', 'rows': 3}),
|
||||
'numero': forms.TextInput(attrs={'class': 'form-control'}),
|
||||
'date_validite': forms.DateInput(attrs={'class': 'form-control', 'type': 'date'}),
|
||||
'fichier': forms.ClearableFileInput(attrs={'class': 'form-control'}),
|
||||
}
|
||||
|
||||
class ActiviteProjetForm(forms.ModelForm):
|
||||
"""Formulaire pour créer ou modifier une activité de projet, avec validation des champs et personnalisation des widgets."""
|
||||
class Meta:
|
||||
model = ActiviteProjet
|
||||
fields = (
|
||||
'titre',
|
||||
'date_debut',
|
||||
'date_fin',
|
||||
'besoin_ressource_materielle',
|
||||
'budget_prevu',
|
||||
'description',
|
||||
)
|
||||
|
||||
widgets = {
|
||||
'titre':forms.TextInput(attrs={
|
||||
'class':'form-control',
|
||||
'placeholder':'Titre de l’activité'
|
||||
}),
|
||||
'description':forms.Textarea(attrs={
|
||||
'class':'form-control',
|
||||
'rows':3,
|
||||
'placeholder':'Description de l’activité'
|
||||
}),
|
||||
'date_debut':forms.DateInput(attrs={
|
||||
'class':'form-control',
|
||||
'type':'date'
|
||||
}),
|
||||
'date_fin':forms.DateInput(attrs={
|
||||
'class':'form-control',
|
||||
'type':'date'
|
||||
}),
|
||||
'besoin_ressource_materielle': forms.Textarea(attrs={
|
||||
'class':'form-control',
|
||||
'rows':3,
|
||||
'placeholder':'Besoin de ressources matérielles'
|
||||
}),
|
||||
'budget_prevu': forms.NumberInput(attrs={
|
||||
'class':'form-control',
|
||||
'placeholder':'Budget prévu'
|
||||
}),
|
||||
}
|
||||
|
||||
class FinancementProjetFrom(forms.ModelForm):
|
||||
"""Formulaire pour créer ou modifier le financement relatif à un projet."""
|
||||
class Meta:
|
||||
model = FinancementProjet
|
||||
fields = (
|
||||
'projet',
|
||||
'bailleur',
|
||||
'pourcentage',
|
||||
)
|
||||
|
||||
widgets = {
|
||||
'projet':forms.Select(attrs={
|
||||
'class':'form-select',
|
||||
}),
|
||||
'bailleur':forms.Select(attrs={
|
||||
'class':'form-select',
|
||||
}),
|
||||
'pourcentage':forms.NumberInput(attrs={
|
||||
'class':'form-control',
|
||||
}),
|
||||
}
|
||||
|
||||
class LivrablesLivresForm(forms.ModelForm):
|
||||
"""Formulaire pour créer ou modifier un livrable livré dans le cadre d'une activité de projet."""
|
||||
class Meta:
|
||||
model = LivrablesLivres
|
||||
fields = (
|
||||
'activite',
|
||||
'nom',
|
||||
'fichier',
|
||||
)
|
||||
|
||||
widgets = {
|
||||
'activite': forms.Select(attrs={
|
||||
'class':'form-select',
|
||||
}),
|
||||
'nom': forms.TextInput(attrs={
|
||||
'class':'form-control',
|
||||
'placeholder':'Nom du livrable'
|
||||
}),
|
||||
'fichier': forms.ClearableFileInput(attrs={
|
||||
'class':'form-control',
|
||||
}),
|
||||
}
|
||||
Reference in New Issue
Block a user