chercheurs.
Demande #589
# -*- encoding: utf-8 -*-
+import hashlib
from django import forms
from django.db.models import Q
from models import *
model = Utilisateur
fields = ('nom', 'prenom', 'courriel', 'password', 'genre')
-class GroupeForm(forms.ModelForm):
- class Meta:
- model = Chercheur
- fields = ('groupes',)
+ def clean_password(self):
+ """Encrypter le mot de passe avant de le mettre dans la BD."""
+ return hashlib.md5(self.cleaned_data['password']).hexdigest()
+class PersonneEditForm(PersonneForm):
+ class Meta(PersonneForm.Meta):
+ exclude = ('password',)
+
class ChercheurForm(forms.ModelForm):
+ """Formulaire d'édition d'un chercheur."""
+ OUI_NON_CHOICES = ((1, 'Oui'), (0, 'Non'))
+
+ membre_instance_auf = forms.ChoiceField(
+ choices=OUI_NON_CHOICES,
+ label="Êtes-vous (ou avez-vous déjà été) membre d'une instance de l'AUF?",
+ help_text="e.g. conseil scientifique, conseil associatif, commission régionale d'experts",
+ widget=forms.RadioSelect()
+ )
+ membre_instance_auf_dates = forms.CharField(label="Préciser les dates", required=False)
+ expert_oif = forms.ChoiceField(choices=OUI_NON_CHOICES,
+ label="Êtes-vous expert de l'OIF?",
+ widget=forms.RadioSelect())
+ membre_fipf = forms.ChoiceField(choices=OUI_NON_CHOICES,
+ label="Êtes-vous membre de la FIPF?",
+ widget=forms.RadioSelect())
+ membre_fipf_association = forms.CharField(label="Préciser le nom de votre association", required=False)
+
class Meta:
model = Chercheur
- fields = ('statut', 'diplome', )
+ fields = ('statut', 'diplome', 'etablissement',
+ 'etablissement_autre_nom', 'etablissement_autre_pays',
+ 'discipline', 'theme_recherche', 'mots_cles',
+ 'url_site_web', 'url_blog', 'url_reseau_social',
+ 'membre_instance_auf', 'membre_instance_auf_dates',
+ 'expert_oif', 'membre_fipf', 'membre_fipf_association')
+ def clean(self):
+ etablissement = self.cleaned_data['etablissement']
+ etablissement_autre_nom = self.cleaned_data['etablissement_autre_nom']
+ etablissement_autre_pays = self.cleaned_data['etablissement_autre_pays']
+ if not etablissement:
+ if not etablissement_autre_nom:
+ self._errors['etablissement'] = self.error_class([u"Vous devez renseigner l'établissement"])
+ elif not etablissement_autre_pays:
+ self._errors['etablissement_autre_pays'] = self.error_class([u"Vous devez renseigner le pays de l'établissement"])
+ return self.cleaned_data
+
+ def clean_membre_instance_auf(self):
+ """Transforme la valeur du champ en booléen"""
+ return bool(int(self.cleaned_data['membre_instance_auf']))
+
+ def clean_expert_oif(self):
+ """Transforme la valeur du champ en booléen"""
+ return bool(int(self.cleaned_data['expert_oif']))
+
+ def clean_membre_fipf(self):
+ """Transforme la valeur du champ en booléen"""
+ return bool(int(self.cleaned_data['membre_fipf']))
+
+class GroupesForm(forms.Form):
+ """Formulaire qui associe des groupes à un chercheur."""
+ groupes = forms.ModelMultipleChoiceField(queryset=Groupe.objects.all(), required=False)
+
+ def __init__(self, data=None, prefix=None, chercheur=None):
+ self.chercheur = chercheur
+ initial = {}
+ if chercheur:
+ initial['groupes'] = chercheur.groupes.values_list('id', flat=True)
+ super(GroupesForm, self).__init__(data=data, prefix=prefix, initial=initial)
+
+ def save(self):
+ if self.is_valid():
+ groupes = self.cleaned_data['groupes']
+ ChercheurGroupe.objects.filter(chercheur=self.chercheur).exclude(groupe__in=groupes).delete()
+ for g in groupes:
+ ChercheurGroupe.objects.get_or_create(chercheur=self.chercheur, groupe=g, actif=1)
+
class PublicationForm(forms.ModelForm):
class Meta:
model = Publication
model = Expertise
fields = ('nom', 'date', 'organisme_demandeur', 'organisme_demandeur_visible')
-class EtablissementForm(forms.ModelForm):
- class Meta:
- model = Chercheur
- fields = ('etablissement',)
- def clean(self):
- cleaned_data = self.cleaned_data
- etablissement = self.cleaned_data.get("etablissement")
- etablissement_autre_nom = self.data.get("etablissement_autre-etablissement_autre_nom")
- if not etablissement and not etablissement_autre_nom:
- raise forms.ValidationError("")
- return cleaned_data
+class ChercheurFormGroup(object):
+ """Groupe de formulaires nécessaires pour l'inscription et l'édition
+ d'un chercheur."""
-class EtablissementAutreForm(forms.ModelForm):
- class Meta:
- model = Chercheur
- fields = ('etablissement_autre_nom', 'etablissement_autre_pays' )
+ def __init__(self, data=None, chercheur=None):
+ personne_form_class = PersonneForm if chercheur is None else PersonneEditForm
+ self.chercheur = ChercheurForm(data=data, prefix='chercheur', instance=chercheur)
+ self.groupes = GroupesForm(data=data, prefix='chercheur', chercheur=chercheur)
+ self.personne = personne_form_class(data=data, prefix='personne', instance=chercheur and chercheur.personne)
+ self.publication1 = PublicationForm(data=data, prefix='publication1', instance=chercheur and chercheur.publication1)
+ self.publication2 = PublicationForm(data=data, prefix='publication2', instance=chercheur and chercheur.publication2)
+ self.publication3 = PublicationForm(data=data, prefix='publication3', instance=chercheur and chercheur.publication3)
+ self.publication4 = PublicationForm(data=data, prefix='publication4', instance=chercheur and chercheur.publication4)
+ self.these = TheseForm(data=data, prefix='these', instance=chercheur and chercheur.these)
+ self.expertise = ExpertiseForm(data=data, prefix='expertise', instance=chercheur and chercheur.expertise)
-class DisciplineForm(forms.ModelForm):
- class Meta:
- model = Chercheur
- fields = ('discipline', 'theme_recherche', 'mots_cles', 'url_site_web', 'url_blog', 'url_reseau_social')
-
-class PersonneEditForm(forms.ModelForm):
- class Meta:
- model = Personne
- fields = ('nom', 'prenom', 'genre')
+ @property
+ def has_errors(self):
+ return bool(self.chercheur.errors or self.personne.errors or self.groupes.errors or
+ self.publication1.errors or self.publication2.errors or self.publication3.errors or
+ self.publication4.errors or self.these.errors or self.expertise.errors)
+
+ def is_valid(self):
+ return self.chercheur.is_valid() and self.personne.is_valid() and self.groupes.is_valid() and \
+ self.publication1.is_valid() and self.publication2.is_valid() and \
+ self.publication3.is_valid() and self.publication4.is_valid() and \
+ self.these.is_valid() and self.expertise.is_valid()
+
+ def save(self):
+ if self.is_valid():
+
+ chercheur = self.chercheur.instance
+
+ # Enregistrer d'abord les clés étrangères car on doit les stocker dans
+ # l'objet chercheur.
+ chercheur.personne = self.personne.save()
+ if self.publication1.cleaned_data['titre']:
+ chercheur.publication1 = self.publication1.save()
+ if self.publication2.cleaned_data['titre']:
+ chercheur.publication2 = self.publication2.save()
+ if self.publication3.cleaned_data['titre']:
+ chercheur.publication3 = self.publication3.save()
+ if self.publication4.cleaned_data['titre']:
+ chercheur.publication4 = self.publication4.save()
+ chercheur.these = self.these.save()
+ if self.expertise.cleaned_data['nom']:
+ chercheur.expertise = self.expertise.save()
+
+ # Puis enregistrer le chercheur lui-même.
+ self.chercheur.save()
+
+ # Puis les many-to-many puisqu'on a besoin d'un id.
+ self.groupes.chercheur = chercheur
+ self.groupes.save()
class RepertoireSearchForm (forms.Form):
mots_cles = forms.CharField(required=False, label="Rechercher dans tous les champs")
these = models.ForeignKey('Publication', db_column='these', null=True, blank=True, related_name='These')
+ # Activités en francophonie
+ membre_instance_auf = models.BooleanField(default=False, verbose_name="est ou a déjà été membre d'une instance de l'AUF")
+ membre_instance_auf_dates = models.CharField(max_length=255, blank=True, verbose_name="dates")
+ expert_oif = models.BooleanField(default=False, verbose_name="est un expert de l'OIF")
+ membre_fipf = models.BooleanField(default=False, verbose_name="est membre de la FIPF")
+ membre_fipf_association = models.CharField(max_length=255, blank=True, verbose_name="nom de l'association")
+
#meta
actif = models.BooleanField(editable = False)
date_creation = models.DateField(auto_now_add=True, db_column='date_creation')
from django.core.urlresolvers import reverse as url
from django.core.mail import send_mail
from django.conf import settings
+from django.views.decorators.cache import never_cache
from forms import *
from django.forms.models import inlineformset_factory
def inscription(request):
if request.method == 'POST':
- personne_form = PersonneForm (request.POST, prefix="personne")
- chercheur_form = ChercheurForm (request.POST, prefix="chercheur")
- etablissement_form = EtablissementForm (request.POST, prefix="etablissement")
- etablissement_autre_form = EtablissementAutreForm(request.POST, prefix="etablissement_autre")
- discipline_form = DisciplineForm (request.POST, prefix="discipline")
- publication1_form = PublicationForm (request.POST, prefix="publication1")
- publication2_form = PublicationForm (request.POST, prefix="publication2")
- 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():
- if chercheur_form.is_valid() and groupe_form.is_valid():
- c = chercheur_form.save(commit=False)
-
- etablissement_form = EtablissementForm (request.POST, prefix="etablissement", instance=c)
- etablissement_autre_form = EtablissementAutreForm (request.POST, prefix="etablissement_autre", instance=c)
- discipline_form = DisciplineForm (request.POST, prefix="discipline", instance=c)
-
- if etablissement_form.is_valid() and discipline_form.is_valid() and these_form.is_valid():
- if publication1_form.is_valid() and publication1_form.cleaned_data['titre']:
- pub = publication1_form.save()
- c.publication1 = pub
- if publication2_form.is_valid() and publication2_form.cleaned_data['titre']:
- pub = publication2_form.save()
- c.publication2 = pub
- if publication3_form.is_valid() and publication3_form.cleaned_data['titre']:
- pub = publication3_form.save()
- c.publication3 = pub
- if publication4_form.is_valid() and publication4_form.cleaned_data['titre']:
- pub = publication4_form.save()
- c.publication4 = pub
- these = these_form.save()
- if expertise_form.is_valid() and expertise_form.cleaned_data['nom']:
- expertise = expertise_form.save()
- c.expertise = expertise
- c.these = these
- etablissement_form.save(commit=False)
- etablissement_autre_form.save(commit=False)
- discipline_form.save(commit=False)
- #encodage du mot de passe de l'utilisateur (refactorer car c'est pas clean
- #et c'est pas la bonne place pour faire ca - AJ
- personne_form.cleaned_data['password'] = hashlib.md5(personne_form.cleaned_data['password']).hexdigest()
- p = personne_form.save()
- c.personne = p
- c.save()
-
- #sauvegarde des groupes
- groupes = request.POST.getlist('groupe-groupes')
- for g in groupes:
- g = Groupe.objects.get(pk=g)
- ChercheurGroupe.objects.get_or_create(chercheur=c, groupe=g, actif=1)
-
- # login automatique
- login(request, authenticate(username=personne_form.cleaned_data['courriel'],
- password=personne_form.cleaned_data['password']))
- return HttpResponseRedirect(url('chercheurs.views.perso'))
+ forms = ChercheurFormGroup(request.POST)
+ if forms.is_valid():
+ forms.save()
+ # login automatique
+ login(request, authenticate(username=forms.personne.cleaned_data['courriel'],
+ password=forms.personne.cleaned_data['password']))
+ return HttpResponseRedirect(url('chercheurs.views.perso'))
else:
- personne_form = PersonneForm(prefix="personne")
- chercheur_form = ChercheurForm(prefix="chercheur")
- etablissement_form = EtablissementForm(prefix="etablissement")
- etablissement_autre_form = EtablissementAutreForm(prefix="etablissement_autre")
- discipline_form = DisciplineForm(prefix="discipline")
- publication1_form = PublicationForm(prefix="publication1")
- publication2_form = PublicationForm(prefix="publication2")
- 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,
- 'chercheur_form': chercheur_form,
- 'etablissement_form': etablissement_form,
- 'discipline_form': discipline_form,
- 'etablissement_autre_form': etablissement_autre_form,
- 'publication1_form': publication1_form,
- 'publication2_form': publication2_form,
- 'publication3_form': publication3_form,
- 'publication4_form': publication4_form,
- 'these_form': these_form,
- 'expertise_form': expertise_form,
- 'groupe_form': groupe_form,
- }
+ forms = ChercheurFormGroup()
- return render_to_response ("chercheurs/inscription.html", \
- Context (variables),
- context_instance = RequestContext(request))
+ return render_to_response("chercheurs/inscription.html",
+ dict(forms=forms),
+ context_instance=RequestContext(request))
@login_required()
+@never_cache
def edit(request):
"""Edition d'un chercheur"""
context_instance = RequestContext(request)
chercheur = context_instance['user_chercheur']
- #GroupeFormset = inlineformset_factory(Chercheur, ChercheurGroupe)
-
if request.method == 'POST':
- personne_form = PersonneEditForm(request.POST, prefix="personne", instance=chercheur.personne)
- chercheur_form = ChercheurForm (request.POST, prefix="chercheur", instance=chercheur)
- etablissement_form = EtablissementForm(request.POST, prefix="etablissement", instance=chercheur)
- etablissement_autre_form = EtablissementAutreForm(request.POST, prefix="etablissement_autre", instance=chercheur)
- discipline_form = DisciplineForm(request.POST, prefix="discipline", instance=chercheur)
- publication1_form = PublicationForm(request.POST, prefix="publication1", instance=chercheur.publication1)
- publication2_form = PublicationForm(request.POST, prefix="publication2", instance=chercheur.publication2)
- 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 expertise_form.is_valid() ):
- personne_form.save()
- discipline_form.save()
- chercheur_form.save()
- etablissement_form.save()
- etablissement_autre_form.save()
-
- if publication1_form.is_valid() and publication1_form.cleaned_data['titre']:
- chercheur.publication1 = publication1_form.save()
- if publication2_form.is_valid() and publication2_form.cleaned_data['titre']:
- chercheur.publication2 = publication2_form.save()
- if publication3_form.is_valid() and publication3_form.cleaned_data['titre']:
- 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()
- if expertise_form.cleaned_data['nom']:
- chercheur.expertise = expertise_form.save()
- chercheur.save()
- #Gestion des groupes
- groupes = request.POST.getlist('groupe-groupes')
- #On delete les chercheurs deselectionnés
- ChercheurGroupe.objects.filter(chercheur=chercheur).exclude(groupe__in=groupes).delete()
- #Sauvegarde des groupes...
- for g in groupes:
- g = Groupe.objects.get(pk=g)
- ChercheurGroupe.objects.get_or_create(chercheur=chercheur, groupe=g, actif=1)
+ forms = ChercheurFormGroup(request.POST, chercheur=chercheur)
+ if forms.is_valid():
+ forms.save()
return HttpResponseRedirect("/chercheurs/perso/?modification=1")
-
- #formset.save()
-
else:
- personne_form = PersonneEditForm(prefix="personne", instance=chercheur.personne)
- chercheur_form = ChercheurForm (prefix="chercheur", instance=chercheur)
- etablissement_form = EtablissementForm(prefix="etablissement", instance=chercheur)
- etablissement_autre_form = EtablissementAutreForm(prefix="etablissement_autre", instance=chercheur)
- discipline_form = DisciplineForm(prefix="discipline", instance=chercheur)
- publication1_form = PublicationForm(prefix="publication1", instance=chercheur.publication1)
- publication2_form = PublicationForm(prefix="publication2", instance=chercheur.publication2)
- 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)
+ forms = ChercheurFormGroup(chercheur=chercheur)
- variables = { 'chercheur': chercheur,
- 'personne_form':personne_form,
- 'chercheur_form': chercheur_form,
- 'etablissement_form': etablissement_form,
- 'discipline_form': discipline_form,
- 'etablissement_autre_form': etablissement_autre_form,
- 'publication1_form': publication1_form,
- 'publication2_form': publication2_form,
- 'publication3_form': publication3_form,
- 'publication4_form': publication4_form,
- 'these_form': these_form,
- 'expertise_form': expertise_form,
- 'groupe_form': groupe_form,
- #'formset' : formset
- }
- return render_to_response ("chercheurs/edit.html", \
- Context (variables),
- context_instance = RequestContext(request))
-
+ return render_to_response("chercheurs/edit.html",
+ dict(forms=forms, chercheur=chercheur),
+ context_instance = RequestContext(request))
@login_required()
def perso(request):
#repertoire th, td { padding:5px }
-.errorlist {color:red}
+.errorlist { color:red; margin: 0 }
.publications_autre {border:1px solid #CCC; background:#FAFAFA; margin:10px; padding:10px; display:none;}
.fiche {margin-top: 6px;}
.fiche a, .original a, .provenance a{text-decoration: none;}
.back {position: absolute; top: 20px; right: 20px;}
+
+.horizontal-radio-buttons ul { margin-left: 0 }
+.horizontal-radio-buttons li { display: inline }
--- /dev/null
+# -*- encoding: utf-8 -*-
+from django import template
+
+register = template.Library()
+
+@register.inclusion_tag('render_field.html')
+def form_field(field):
+ return dict(field=field)
--- /dev/null
+-- Activités en francophonie d'un chercheur
+
+BEGIN;
+ALTER TABLE `chercheurs_chercheur`
+ ADD COLUMN `membre_instance_auf` bool NOT NULL,
+ ADD COLUMN `membre_instance_auf_dates` varchar(255) NOT NULL,
+ ADD COLUMN `expert_oif` bool NOT NULL,
+ ADD COLUMN `membre_fipf` bool NOT NULL,
+ ADD COLUMN `membre_fipf_association` varchar(255) NOT NULL;
+COMMIT;
+{% load form_tags %}
+
<script>
$(function () {
$("#id_expertise").datetime({ userLang: 'fr' });
});
</script>
- {% if personne_form.errors or chercheur_form.errors or etablissement_form.errors or discipline_form.errors or these_form.errors %}
+{% if forms.has_errors %}
<span class="message">Votre fiche n'a pas été enregistrée. Veuillez remplir tous les champs obligatoires (*).</span>
{% endif %}
- <fieldset>
+ <fieldset class="horizontal-radio-buttons">
<legend>Informations personnelles</legend>
- {% with personne_form as form %}
+ {% with forms.personne 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 %}
+ <table>
+ {% form_field forms.chercheur.statut %}
+ {% form_field forms.chercheur.diplome %}
+ {% form_field forms.groupes.groupes %}
+ </table>
</fieldset>
-
+
<fieldset>
<legend>Etablissement de rattachement <span style="color:red">*</span></legend>
- {% if etablissement_form.errors %}
- <span class="message">Vous devez renseigner un établissement.</span>
- {% endif %}
- {% with etablissement_form as form %}
- {% include "table_form.html" %}
- {% endwith %}
+ <table>
+ {% form_field forms.chercheur.etablissement %}
+ </table>
<p>Si l'établissement n'existe pas ci-dessus</p>
- {% with etablissement_autre_form as form %}
- {% include "table_form.html" %}
- {% endwith %}
+ <table>
+ {% form_field forms.chercheur.etablissement_autre_nom %}
+ {% form_field forms.chercheur.etablissement_autre_pays %}
+ </table>
</fieldset>
<fieldset>
<legend>Champ disciplinaire, thèmes de recherche</legend>
- {% with discipline_form as form %}
- {% include "table_form.html" %}
- {% endwith %}
+ <table>
+ {% form_field forms.chercheur.discipline %}
+ {% form_field forms.chercheur.theme_recherche %}
+ {% form_field forms.chercheur.mots_cles %}
+ {% form_field forms.chercheur.url_site_web %}
+ {% form_field forms.chercheur.url_blog %}
+ {% form_field forms.chercheur.url_reseau_social %}
+ </table>
</fieldset>
<fieldset>
+ <legend>Activités en Francophonie</legend>
+ <table class="horizontal-radio-buttons">
+ {% form_field forms.chercheur.membre_instance_auf %}
+ {% form_field forms.chercheur.membre_instance_auf_dates %}
+ {% form_field forms.chercheur.expert_oif %}
+ {% form_field forms.chercheur.membre_fipf %}
+ {% form_field forms.chercheur.membre_fipf_association %}
+ </table>
+ </fieldset>
+
+ <fieldset>
<legend>Thèse ou mémoire</legend>
<div>
<div class="publication">
- {% with these_form as form %}
+ {% with forms.these as form %}
{% include "table_form.html" %}
{% endwith %}
</div>
<fieldset>
<legend>Expertise</legend>
<div>
- {% with expertise_form as form %}
+ {% with forms.expertise as form %}
{% include "table_form.html" %}
{% endwith %}
</div>
<div>
<div class="infotip">
<strong>Renseignements préalablements enregistrés</strong>
- <p>{{publication1_form.instance.publication_affichage|default:"-"}}</p>
+ <p>{{forms.publication1.instance.publication_affichage|default:"-"}}</p>
</div>
<div class="publication">
- {% with publication1_form as form %}
+ {% with forms.publication1 as form %}
{% include "table_form.html" %}
{% endwith %}
</div>
<h6>- Publication 2</h6>
<div class="infotip">
<strong>Renseignements préalablements enregistrés</strong>
- <p>{{publication2_form.instance.publication_affichage|default:"-"}}</p>
+ <p>{{forms.publication2.instance.publication_affichage|default:"-"}}</p>
</div>
<div class="publication">
- {% with publication2_form as form %}
+ {% with forms.publication2 as form %}
{% include "table_form.html" %}
{% endwith %}
</div>
<h6>- Publication 3</h6>
<div class="infotip">
<strong>Renseignements préalablements enregistrés</strong>
- <p>{{publication3_form.instance.publication_affichage|default:"-"}}</p>
+ <p>{{forms.publication3.instance.publication_affichage|default:"-"}}</p>
</div>
<div class="publication">
- {% with publication3_form as form %}
+ {% with forms.publication3 as form %}
{% include "table_form.html" %}
{% endwith %}
</div>
<h6>- Publication 4</h6>
<div class="infotip">
<strong>Renseignements préalablements enregistrés</strong>
- <p>{{publication4_form.instance.publication_affichage|default:"-"}}</p>
+ <p>{{forms.publication4.instance.publication_affichage|default:"-"}}</p>
</div>
<div class="publication">
- {% with publication4_form as form %}
+ {% with forms.publication4 as form %}
{% include "table_form.html" %}
{% endwith %}
</div>
<legend>Publications</legend>
<div>
<div class="publication">
- {% with publication1_form as form %}
+ {% with forms.publication1 as form %}
{% include "table_form.html" %}
{% endwith %}
</div>
<p id="show_publications">+ Autres publications</p>
<div class="publications_autre">
<h6>- Publication 2</h6>
- {% with publication2_form as form %}
+ {% with forms.publication2 as form %}
{% include "table_form.html" %}
{% endwith %}
<h6>- Publication 3</h6>
- {% with publication3_form as form %}
+ {% with forms.publication3 as form %}
{% include "table_form.html" %}
{% endwith %}
<h6>- Publication 4</h6>
- {% with publication4_form as form %}
+ {% with forms.publication4 as form %}
{% include "table_form.html" %}
{% endwith %}
</div>