nationality = CharField(label='Nationalité', max_length=255)
ss_number = CharField(label='N° de sécurité sociale',
max_length=15)
+ siret = CharField(label='N° SIRET',
+ max_length=13, required=False)
# corrector
period = ModelChoiceField(label='Période',
queryset=Period.objects.filter(is_open=True,
pay_status = forms.ChoiceField(choices = PAY_STATUS_CHOICES,
label='Statut',
widget=forms.Select())
+ courses = ModelMultipleChoiceField(label='Matière',
+ queryset=Course.objects.all().exclude(title="Aucune").order_by('title'),
+ widget=forms.CheckboxSelectMultiple())
# no model
captcha = CaptchaField()
- accept = BooleanField()
+ # accept = BooleanField()
class Meta:
model = User
self.fields['first_name'].required = True
self.fields['last_name'].required = True
self.fields['email'].required = True
- self.user_fields = ['first_name', 'last_name', 'email', 'address', 'address_detail', 'postal_code', 'city', 'country', 'telephone', 'birthday', 'birthday_place', 'nationality', 'ss_number']
- self.training_fields = ['period', 'pay_status']
+ self.user_fields = ['first_name', 'last_name', 'email', 'address', 'address_detail', 'postal_code', 'city', 'country', 'telephone', 'birthday', 'birthday_place', 'nationality', 'ss_number', 'siret']
+ self.training_fields = ['courses', 'period', 'pay_status']
+
+ def clean_siret(self):
+ if self.data['pay_status'] == 'honoraires' and not self.cleaned_data['siret'].strip():
+ raise ValidationError("Le SIRET est obligatoire si vous choississez le statut honoraires")
+ return self.data['siret']
def save(self, commit=True):
birthday=data['birthday'],
birthday_place=data['birthday_place'],
ss_number=data['ss_number'],
+ siret=data['siret'],
nationality=data['nationality']
)
if commit:
profile.save()
- corector = Corrector(user=user,
+ corrector = Corrector(user=user,
period=data.get('period'),
pay_status=data.get('pay_status'),
)
- corector.save()
+ corrector.save()
+ corrector.courses = data.get('courses')
return user
nationality = models.CharField('Nationalité', max_length=255, null=True, blank=True)
ss_number = models.CharField('Sécurité sociale',
max_length=15, blank=True, null=True)
+ siret = models.CharField('Siret',
+ max_length=13, blank=True, null=True)
+
class Meta(MetaCore):
db_table = app_label + '_' + 'profiles'
verbose_name = _('profile')
user = models.ForeignKey(User, related_name='corrector', verbose_name=_('user'), unique=True)
period = models.ForeignKey('Period', related_name='corrector', verbose_name=_('period'),
blank=True, null=True, on_delete=models.SET_NULL)
+ courses = models.ManyToManyField("Course", verbose_name=_("Course"), blank=True, null=True)
pay_status = models.CharField('Statut', choices=PAY_STATUS_CHOICES,
max_length=64, blank=True, null=True,
default='honoraire')
row.write(10, profile.birthday_place)
row.write(11, profile.nationality)
row.write(12, profile.ss_number)
+ row.write(13, profile.siret)
if corrector.date_registered:
- row.write(13, corrector.date_registered.strftime("%d/%m/%Y"))
+ row.write(14, corrector.date_registered.strftime("%d/%m/%Y"))
else:
- row.write(13, "")
- row.write(14, str(corrector.period))
- row.write(15, corrector.pay_status)
+ row.write(14, "")
+ row.write(15, str(corrector.period))
+ row.write(16, corrector.pay_status)
+ row.write(17, (', ').join([course.title for course in corrector.courses.all()]))
return counter + 1
{'name': 'LIEU DE NAISSANCE', 'width': 5000},
{'name': 'NATIONALITE', 'width': 5000},
{'name': 'NUMERO SS', 'width': 5000},
+ {'name':"SIRET", 'width':5000},
{'name':"DATE D'INSCRIPTION", 'width':5000},
{'name':"PERIODE", 'width':5000},
{'name':"STATUT", 'width':5000},
+ {'name':"MATIERES", 'width':30000},
]
i = 0