mirror of
				https://gitlab.com/animath/si/plateforme.git
				synced 2025-11-01 00:24:29 +01:00 
			
		
		
		
	Allow admins to create users outside registration period
This commit is contained in:
		| @@ -38,19 +38,6 @@ class SignupForm(UserCreationForm): | ||||
|             self.add_error("email", _("This email address is already used.")) | ||||
|         return email | ||||
|  | ||||
|     def clean(self): | ||||
|         # Check that registrations are opened | ||||
|         now = timezone.now() | ||||
|         if now < settings.REGISTRATION_DATES['open']: | ||||
|             self.add_error(None, format_lazy(_("Registrations are not opened yet. " | ||||
|                                                "They will open on the {opening_date:%Y-%m-%d %H:%M}."), | ||||
|                                              opening_date=settings.REGISTRATION_DATES['open'])) | ||||
|         elif now > settings.REGISTRATION_DATES['close']: | ||||
|             self.add_error(None, format_lazy(_("Registrations for this year are closed since " | ||||
|                                                "{closing_date:%Y-%m-%d %H:%M}."), | ||||
|                                              closing_date=settings.REGISTRATION_DATES['close'])) | ||||
|         return super().clean() | ||||
|  | ||||
|     def __init__(self, *args, **kwargs): | ||||
|         super().__init__(*args, **kwargs) | ||||
|         self.fields["first_name"].required = True | ||||
|   | ||||
| @@ -10,13 +10,13 @@ | ||||
|  | ||||
| {% block content %} | ||||
|     {% now "c" as now %} | ||||
|     {% if now < TFJM.REGISTRATION_DATES.open.isoformat %} | ||||
|     {% if now < TFJM.REGISTRATION_DATES.open.isoformat and not user.registration.is_admin %} | ||||
|         <div class="alert alert-warning"> | ||||
|             {% trans "Thank you for your great interest, but registrations are not opened yet!" %} | ||||
|             {% trans "They will open on:" %} {{ TFJM.REGISTRATION_DATES.open|date:'DATETIME_FORMAT' }}. | ||||
|             {% trans "Please come back at this time to register!" %} | ||||
|         </div> | ||||
|     {% elif now > TFJM.REGISTRATION_DATES.close.isoformat %} | ||||
|     {% elif now > TFJM.REGISTRATION_DATES.close.isoformat and not user.registration.is_admin %} | ||||
|         <div class="alert alert-danger"> | ||||
|             {% trans "Registrations are closed for this year. We hope to see you next year!" %} | ||||
|             {% trans "If needed, you can contact us by mail." %} | ||||
|   | ||||
| @@ -62,6 +62,20 @@ class SignupView(CreateView): | ||||
|  | ||||
|     @transaction.atomic | ||||
|     def form_valid(self, form): | ||||
|         if not self.request.user.registration.is_admin: | ||||
|             # Check that registrations are opened | ||||
|             now = timezone.now() | ||||
|             if now < settings.REGISTRATION_DATES['open']: | ||||
|                 form.add_error(None, format_lazy(_("Registrations are not opened yet. " | ||||
|                                                 "They will open on the {opening_date:%Y-%m-%d %H:%M}."), | ||||
|                                                 opening_date=settings.REGISTRATION_DATES['open'])) | ||||
|             elif now > settings.REGISTRATION_DATES['close']: | ||||
|                 form.add_error(None, format_lazy(_("Registrations for this year are closed since " | ||||
|                                                 "{closing_date:%Y-%m-%d %H:%M}."), | ||||
|                                                 closing_date=settings.REGISTRATION_DATES['close'])) | ||||
|             if not form.is_valid(): | ||||
|                 return self.form_invalid(form) | ||||
|  | ||||
|         role = form.cleaned_data["role"] | ||||
|         if role == "participant": | ||||
|             registration_form = StudentRegistrationForm(self.request.POST) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user