class ChercheurForm(forms.ModelForm):
class Meta:
model = Chercheur
- fields = ('fonction', 'diplome',)
+ fields = ('diplome',)
class PublicationForm(forms.ModelForm):
class Meta:
class TheseForm(PublicationForm):
titre = forms.CharField(required=True, label="Titre de la thèse ou du mémoire")
- annee = forms.IntegerField(required=False, label="Année de soutenance")
+ annee = forms.IntegerField(required=False, label="Année de soutenance (réalisée ou prévue)")
editeur = forms.CharField(required=False, label="Directeur de thèse")
lieu_edition = forms.CharField(required=False, label="Établissement de soutenance")
class Meta:
model = Publication
fields = ('titre', 'annee', 'editeur', 'lieu_edition', 'nb_pages', 'url')
-
+class ExpertiseForm(forms.ModelForm):
+ class Meta:
+ model = Expertise
+ fields = ('nom', 'date', 'organisme_demandeur', 'organisme_demandeur_visible')
class EtablissementForm(forms.ModelForm):
class Meta:
class EtablissementAutreForm(forms.ModelForm):
class Meta:
model = Chercheur
- fields = ('etablissement_autre_nom', 'etablissement_autre_pays', )
+ fields = ('etablissement_autre_nom', 'etablissement_autre_pays', 'enseignant' )
class DisciplineForm(forms.ModelForm):
class Meta:
model = Chercheur
- fields = ('discipline', 'expertise', 'mots_cles', 'url_site_web', 'url_blog', 'url_facebook', 'url_linkedin')
+ fields = ('discipline', 'theme_recherche', 'mots_cles', 'url_site_web', 'url_blog', 'url_facebook', 'url_linkedin')
class PersonneEditForm(forms.ModelForm):
class Meta:
model = Personne
fields = ('nom', 'prenom', 'genre')
-
-
+
class RepertoireSearchForm (forms.Form):
mots_cles = forms.CharField (required = False, label="Mots-clés")
discipline = forms.ModelChoiceField(queryset=Discipline.objects.all(), required=False, label="Discipline", empty_label="Tous")
domaine = forms.ModelChoiceField(queryset=Groupe.objects.all(), required=False, label="Domaine de recherche", empty_label="Tous")
- fonction = forms.ChoiceField(choices=(('','Tous'),)+FONCTION_CHOICES, required=False, label="Fonction")
+ #fonction = forms.ChoiceField(choices=(('','Tous'),)+FONCTION_CHOICES, required=False, label="Fonction")
pays = forms.ModelChoiceField(queryset=Pays.objects.all().order_by("nom"), required=False, label="Localisation", empty_label="Tous")
class SendPasswordForm(forms.Form):
for word in text.split():
qs = qs.filter(Q(personne__nom__icontains=word) |
Q(personne__prenom__icontains=word) |
- Q(expertise__icontains=word) |
+ Q(theme_recherche__icontains=word) |
Q(etablissement_autre_nom__icontains=word) |
Q(etablissement__nom__icontains=word))
return qs
personne = models.ForeignKey('Personne', db_column='personne')
nationalite = models.ForeignKey(Pays, null = True, db_column='nationalite', to_field='code',
verbose_name = 'Nationalité', related_name='nationalite')
- fonction = models.CharField(max_length=36, choices=FONCTION_CHOICES)
+ #fonction = models.CharField(max_length=36, choices=FONCTION_CHOICES)
diplome = models.CharField(max_length=255, null=True,
verbose_name = 'Diplôme le plus élevé')
etablissement = models.ForeignKey(Etablissement, db_column='etablissement', null=True, blank=True)
etablissement_autre_pays = models.ForeignKey(Pays, null = True, blank=True, db_column='etablissement_autre_pays',
to_field='code', related_name='etablissement_autre_pays',
verbose_name = 'Pays de l\'établissement')
+ enseignant = models.BooleanField(verbose_name="Êtes-vous aussi enseignant dans cet établissement?")
#Domaine
thematique = models.ForeignKey(Thematique, db_column='thematique', null=True, verbose_name='Thematique')
nom = models.CharField(max_length=255, null=True, blank=True, verbose_name = 'Titre de l\'expertise')
date = models.DateField(db_column='date_expertise', null=True, blank=True)
organisme_demandeur = models.CharField(max_length=255, null=True, blank=True, verbose_name = 'Organisme demandeur')
- organisme_demandeur_visible = models.BooleanField()
+ organisme_demandeur_visible = models.BooleanField(verbose_name="Afficher l'organisme demandeur")
actif = models.BooleanField(editable = False, db_column='actif')
+
+ def __unicode__(self):
+ return u"%s" % (self.nom)
class Groupe(models.Model):
id = models.AutoField(primary_key=True, db_column='id')
pays = simpleForm.cleaned_data["pays"]
if pays:
list = list.filter(Q(etablissement__pays = pays.pk) | Q(etablissement_autre_pays = pays.pk))
- fonction = simpleForm.cleaned_data["fonction"]
- if fonction:
- list = list.filter(fonction = fonction)
discipline = simpleForm.cleaned_data["discipline"]
if discipline:
list = list.filter(discipline=discipline)
publication3_form = PublicationForm (request.POST, prefix="publication3")
publication4_form = PublicationForm (request.POST, prefix="publication4")
these_form = TheseForm(request.POST, prefix="these")
+ expertise_form = ExpertiseForm(request.POST, prefix="expertise")
groupe_form = GroupeForm(request.POST, prefix="groupe")
if personne_form.is_valid():
pub = publication4_form.save()
c.publication4 = pub
these = these_form.save()
+ expertise = expertise_form.save()
c.these = these
+ c.expertise = expertise
etablissement_form.save(commit=False)
etablissement_autre_form.save(commit=False)
discipline_form.save(commit=False)
publication3_form = PublicationForm(prefix="publication3")
publication4_form = PublicationForm(prefix="publication4")
these_form = TheseForm(prefix="these")
+ expertise_form = ExpertiseForm(prefix="expertise")
groupe_form = GroupeForm(prefix="groupe")
variables = { 'personne_form': personne_form,
'publication3_form': publication3_form,
'publication4_form': publication4_form,
'these_form': these_form,
+ 'expertise_form': expertise_form,
'groupe_form': groupe_form,
}
publication3_form = PublicationForm(request.POST, prefix="publication3", instance=chercheur.publication3)
publication4_form = PublicationForm(request.POST, prefix="publication4", instance=chercheur.publication4)
these_form = TheseForm(request.POST, prefix="these", instance=chercheur.these)
+ expertise_form = ExpertiseForm(request.POST, prefix="expertise", instance=chercheur.expertise)
groupe_form = GroupeForm(request.POST, prefix="groupe", instance=chercheur)
#formset = GroupeFormset(request.POST, prefix="groupes", instance = chercheur)
if( personne_form.is_valid() and discipline_form.is_valid() and chercheur_form.is_valid() and these_form.is_valid()
- and etablissement_form.is_valid() and etablissement_autre_form.save() and groupe_form.is_valid() ):
+ and etablissement_form.is_valid() and etablissement_autre_form.save() and groupe_form.is_valid() and expertise_form.is_valid() ):
personne_form.save()
discipline_form.save()
chercheur_form.save()
chercheur.publication3 = publication3_form.save()
if publication4_form.is_valid() and publication4_form.cleaned_data['titre']:
chercheur.publication4 = publication4_form.save()
- chercheur.these = these_form.save()
+ chercheur.these = these_form.save()
+ chercheur.expertise = expertise_form.save()
chercheur.save()
#Gestion des groupes
groupes = request.POST.getlist('groupe-groupes')
publication3_form = PublicationForm(prefix="publication3", instance=chercheur.publication3)
publication4_form = PublicationForm(prefix="publication4", instance=chercheur.publication4)
these_form = TheseForm(prefix="these", instance=chercheur.these)
+ expertise_form = ExpertiseForm(prefix="expertise", instance=chercheur.expertise)
groupe_form = GroupeForm(prefix="groupe", instance=chercheur)
#formset = GroupeFormset(prefix="groupes", instance = chercheur)
'publication3_form': publication3_form,
'publication4_form': publication4_form,
'these_form': these_form,
+ 'expertise_form': expertise_form,
'groupe_form': groupe_form,
#'formset' : formset
}
{% extends "container_base.html" %}
{% block contenu %}
-
<h4>{{chercheur.personne.prenom}} {{chercheur.personne.nom}}</h4>
-
<div class="contenu-wrapper">
-
-{% if personne_form.errors or chercheur_form.errors or etablissement_form.errors or discipline_form.errors or these_form.errors %}
-<span class="message">Votre fiche n'a pas été enregistrée. Veuillez remplir tous les champs obligatoires (*).</span>
-{% endif %}
-
<form method="post">
- <fieldset>
- <legend>Informations personnelles</legend>
- {% with personne_form as form %}
- {% include "table_form.html" %}
- {% endwith %}
- </fieldset>
- <fieldset>
- <legend>Informations académiques</legend>
- {% with chercheur_form as form %}
- {% include "table_form.html" %}
- {% endwith %}
- {% with groupe_form as form %}
- {% include "table_form.html" %}
- {% endwith %}
- </fieldset>
-
- <fieldset>
- <legend>Etablissement de rattachement</legend>
- {% with etablissement_form as form %}
- {% include "table_form.html" %}
- {% endwith %}
- <p>Si l'établissement n'existe pas ci-dessus</p>
- {% with etablissement_autre_form as form %}
- {% include "table_form.html" %}
- {% endwith %}
- </fieldset>
-
- <fieldset>
- <legend>Champ disciplinaire, thèmes de recherche</legend>
- {% with discipline_form as form %}
- {% include "table_form.html" %}
- {% endwith %}
- </fieldset>
-
- <fieldset>
- <legend>Thèse ou mémoire</legend>
- <div>
- <div class="publication">
- {% with these_form as form %}
- {% include "table_form.html" %}
- {% endwith %}
- </div>
- <div style="clear:both"></div>
- </div>
- </fieldset>
-
+ {% include "chercheurs/chercheur_form.html" %}
<fieldset>
<legend>Publications</legend>
<div>
<h4>Inscription au répertoire de chercheurs</h4>
<div class="contenu-wrapper">
-
-{% if personne_form.errors or chercheur_form.errors or etablissement_form.errors or discipline_form.errors or these_form.errors %}
-<span class="message">Votre fiche n'a pas été enregistrée. Veuillez remplir tous les champs obligatoires (*).</span>
-{% endif %}
-
<form method="post">
- <fieldset>
- <legend>Informations personnelles</legend>
- {% with personne_form as form %}
- {% include "table_form.html" %}
- {% endwith %}
- </fieldset>
-
- <fieldset>
- <legend>Informations académiques</legend>
- {% with chercheur_form as form %}
- {% include "table_form.html" %}
- {% endwith %}
- {% with groupe_form as form %}
- {% include "table_form.html" %}
- {% endwith %}
- </fieldset>
-
- <fieldset>
- <legend>Etablissement de rattachement</legend>
- {% with etablissement_form as form %}
- {% include "table_form.html" %}
- {% endwith %}
- <p>Si l'établissement n'existe pas ci-dessus</p>
- {% with etablissement_autre_form as form %}
- {% include "table_form.html" %}
- {% endwith %}
- </fieldset>
-
- <fieldset>
- <legend>Champ disciplinaire, thèmes de recherche</legend>
- {% with discipline_form as form %}
- {% include "table_form.html" %}
- {% endwith %}
- </fieldset>
-
- <fieldset>
- <legend>Thèse ou mémoire</legend>
- <div>
- <div class="publication">
- {% with these_form as form %}
- {% include "table_form.html" %}
- {% endwith %}
- </div>
- <div style="clear:both"></div>
- </div>
- </fieldset>
-
+ {% include "chercheurs/chercheur_form.html" %}
<fieldset>
<legend>Publications</legend>
<div>
<td>{{chercheur.discipline}}</td>
</tr>
</table>
- {% endif %}
-
-
-
-
+ {% endif %}
</div>
</div>