diff --git a/users/forms.py b/users/forms.py index b5859539..49135266 100644 --- a/users/forms.py +++ b/users/forms.py @@ -301,6 +301,7 @@ class AdherentForm(FormRevMixin, FieldPermissionFormMixin, ModelForm): super(AdherentForm, self).__init__(*args, prefix=prefix, **kwargs) self.fields['name'].label = 'Prénom' self.fields['surname'].label = 'Nom' + self.fields['email'].label = 'Adresse mail' self.fields['school'].label = 'Établissement' self.fields['comment'].label = 'Commentaire' self.fields['room'].label = 'Chambre' @@ -319,6 +320,7 @@ class AdherentForm(FormRevMixin, FieldPermissionFormMixin, ModelForm): 'room', 'shell', 'telephone', + 'gpg_fingerprint' ] def clean_telephone(self): @@ -331,6 +333,12 @@ class AdherentForm(FormRevMixin, FieldPermissionFormMixin, ModelForm): ) return telephone + def clean_gpg_fingerprint(self): + """Format the GPG fingerprint""" + gpg_fingerprint = self.cleaned_data.get('gpg_fingerprint', None) + if gpg_fingerprint: + return gpg_fingerprint.replace(' ', '').upper() + force = forms.BooleanField( label="Forcer le déménagement ?", initial=False, diff --git a/users/migrations/0074_auto_20180810_2104.py b/users/migrations/0074_auto_20180810_2104.py new file mode 100644 index 00000000..bc32a266 --- /dev/null +++ b/users/migrations/0074_auto_20180810_2104.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.7 on 2018-08-10 19:04 +from __future__ import unicode_literals + +import django.core.validators +from django.db import migrations, models +import users.models + + +class Migration(migrations.Migration): + + dependencies = [ + ('users', '0073_auto_20180629_1614'), + ] + + operations = [ + migrations.AddField( + model_name='adherent', + name='gpg_fingerprint', + field=models.CharField(blank=True, max_length=40, null=True, validators=[django.core.validators.RegexValidator('^[0-9A-F]{40}$', message='Une fingerprint GPG doit contenir 40 caractères hexadécimaux')]), + ), + ] diff --git a/users/models.py b/users/models.py index 66bff7c6..01de431c 100755 --- a/users/models.py +++ b/users/models.py @@ -985,6 +985,16 @@ class Adherent(User): blank=True, null=True ) + gpg_fingerprint = models.CharField( + max_length=40, + blank=True, + null=True, + validators=[RegexValidator( + '^[0-9A-F]{40}$', + message="Une fingerprint GPG doit contenir 40 " + "caractères hexadécimaux" + )] + ) @classmethod def get_instance(cls, adherentid, *_args, **_kwargs): diff --git a/users/templates/users/profil.html b/users/templates/users/profil.html index d5b4ad4b..c2053612 100644 --- a/users/templates/users/profil.html +++ b/users/templates/users/profil.html @@ -51,7 +51,7 @@ with this program; if not, write to the Free Software Foundation, Inc., {% elif not users.is_adherent %}