help_text="Après avoir sélectionné un pays, une liste d'établissement apparaît dès la saisie partielle du nom de l'établissement."
)
- expertises_auf = forms.ChoiceField(
- label="Êtes-vous disposé à réaliser des expertises pour l'AUF?",
- choices=OUI_NON_CHOICES, widget=forms.RadioSelect()
+ pas_de_sollicitation_expertises = forms.BooleanField(
+ required=False,
+ label="Je ne souhaite pas être sollicité par l'AUF pour des missions d'expertise"
)
theme_recherche = forms.CharField(
'membre_reseau_institutionnel',
'membre_reseau_institutionnel_nom',
'membre_reseau_institutionnel_fonction',
- 'membre_reseau_institutionnel_dates', 'expertises_auf')
+ 'membre_reseau_institutionnel_dates')
def __init__(self, data=None, prefix=None, instance=None):
if instance is not None:
else:
initial['etablissement'] = instance.etablissement_autre_nom
initial['pays_etablissement'] = instance.etablissement_autre_pays_id
+ initial['pas_de_sollicitation_expertises'] = not instance.expertises_auf
else:
initial = None
super(ChercheurForm, self).__init__(data=data, prefix=prefix, instance=instance, initial=initial)
self.instance.etablissement = None
self.instance.etablissement_autre_nom = nom_etablissement
self.instance.etablissement_autre_pays = pays_etablissement
+ self.instance.expertises_auf = not self.cleaned_data['pas_de_sollicitation_expertises']
super(ChercheurForm, self).save()
def clean_courriel(self):
raise forms.ValidationError('Veuillez préciser les dates')
return dates
- def clean_expertises_auf(self):
- return bool(int(self.cleaned_data['expertises_auf']))
-
class ChercheurInscriptionForm(ChercheurForm):
class Meta(ChercheurForm.Meta):
(function() {
+ var nom_expertise_selector = 'input[name^="expertise"][name$="nom"]';
+
+ function expertise_added($row) {
+ $row.find(nom_expertise_selector).change(show_or_hide_sollicitation_expert);
+ }
+
+ function expertise_removed($row) {
+ show_or_hide_sollicitation_expert();
+ }
+
+ function show_or_hide_sollicitation_expert() {
+ var $sollicitation_field = $('input[name$="pas_de_sollicitation_expertises"]').closest('table');
+ var $non_empty_fields = $(nom_expertise_selector + '[value!=""]:visible');
+ if ($non_empty_fields.size() > 0) {
+ $sollicitation_field.show();
+ }
+ else {
+ $sollicitation_field.hide();
+ }
+ }
$(document).ready(function() {
prefix: 'expertise',
addText: 'ajouter une expertise',
deleteText: 'supprimer cette expertise',
- formCssClass: 'dynamic-form-expertises'
+ formCssClass: 'dynamic-form-expertises',
+ added: expertise_added,
+ removed: expertise_removed
});
$('#publications fieldset').formset({
prefix: 'publication',
var $additional_fields = $('.publication_affichage').next();
$additional_fields.after($edit_publication_link).hide();
$edit_publication_link.click(function() { $additional_fields.show(); $(this).hide(); });
+
+ // Montrer ou cacher la case à cocher "sollicitation pour expertise"
+ show_or_hide_sollicitation_expert();
+ $(nom_expertise_selector).change(show_or_hide_sollicitation_expert);
+
});
})();
</table>
{% endif %}
- {% if chercheur.expertises.count or chercheur.expertises_auf %}
+ {% if chercheur.expertises.count %}
<h2>Expertises</h2>
{% for expertise in chercheur.expertises.all %}
<table>
</table>
<hr>
{% endfor %}
- {% if chercheur.expertises_auf %}
<table>
<tr>
<td class="label">Est disposé à réaliser des expertises pour l'AUF</td>
- <td>Oui</td>
+ <td>{{ chercheur.expertises_auf|yesno:"Oui,Non" }}</td>
</tr>
</table>
{% endif %}
- {% endif %}
{% if chercheur.publications.count %}
<h2>Publications</h2>