diff --git a/candidats/admin.py b/candidats/admin.py index c703236..e1684c6 100644 --- a/candidats/admin.py +++ b/candidats/admin.py @@ -61,11 +61,12 @@ export_candidates.short_description = "Exporter les candidats sélectionnés" class CandidateAdmin(admin.ModelAdmin): form = CandidateForm - list_display = ('last_name', 'first_name', 'section', 'confirm_mail', 'validation_mail', 'convocation_mail') + list_display = ('last_name', 'first_name', 'section', 'confirm_mail', 'validation_mail', 'convocation_mail', + 'convoc_confirm_receipt_OK') list_filter = ('section', 'option') search_fields = ('last_name', 'city') readonly_fields = ( - 'total_result', 'confirmation_date', 'convocation_date', 'candidate_actions', + 'total_result', 'confirmation_date', 'convocation_date', 'candidate_actions' ) actions = [export_candidates] fieldsets = ( @@ -94,7 +95,7 @@ class CandidateAdmin(admin.ModelAdmin): ('inscr_other_school',), ('interview', 'examination_teacher'), ('examination_result', 'interview_result', 'file_result', 'total_result'), - ('confirmation_date', 'validation_date', 'convocation_date'), + ('confirmation_date', 'validation_date', 'convocation_date', 'convoc_confirm_receipt'), ), }), (None, { @@ -105,14 +106,22 @@ class CandidateAdmin(admin.ModelAdmin): def confirm_mail(self, obj): return obj.confirmation_date is not None confirm_mail.boolean = True + confirm_mail.short_description = 'Confirm. inscript.' def validation_mail(self, obj): return obj.validation_date is not None validation_mail.boolean = True + validation_mail.short_description = 'Validation prof.' def convocation_mail(self, obj): return obj.convocation_date is not None convocation_mail.boolean = True + convocation_mail.short_description = 'Conv. exam.' + + def convoc_confirm_receipt_OK(self, obj): + return obj.convoc_confirm_receipt is not None + convoc_confirm_receipt_OK.boolean = True + convoc_confirm_receipt_OK.short_description = 'Accusé de récept.' def candidate_actions(self, obj): if not obj.pk: diff --git a/candidats/migrations/0010_Added convoc_confirm_receipt_on_Candidate.py b/candidats/migrations/0010_Added convoc_confirm_receipt_on_Candidate.py new file mode 100644 index 0000000..51cd790 --- /dev/null +++ b/candidats/migrations/0010_Added convoc_confirm_receipt_on_Candidate.py @@ -0,0 +1,16 @@ +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('candidats', '0009_remove_total_fields'), + ] + + operations = [ + migrations.AddField( + model_name='candidate', + name='convoc_confirm_receipt', + field=models.DateTimeField(blank=True, null=True, verbose_name='Accusé de réception'), + ), + ] diff --git a/candidats/models.py b/candidats/models.py index a9a0642..8be2241 100644 --- a/candidats/models.py +++ b/candidats/models.py @@ -118,7 +118,8 @@ class Candidate(models.Model): diploma_status = models.PositiveSmallIntegerField("Statut titre", choices=DIPLOMA_STATUS_CHOICES, default=0) activity_rate = models.CharField("Taux d'activité", max_length=50, blank=True, default='') validation_date = models.DateTimeField('Envoi mail de validation', null=True, blank=True) - convocation_date = models.DateTimeField('Envoi mail de confirmation', null=True, blank=True) + convocation_date = models.DateTimeField('Envoi mail de convocation', null=True, blank=True) + convoc_confirm_receipt = models.DateTimeField('Accusé de réception', null=True, blank=True) aes_accords = models.PositiveSmallIntegerField("Accord AES", choices=AES_ACCORDS_CHOICES, default=0) residence_permits = models.PositiveSmallIntegerField(