validation: ne pas cacher les erreurs du formulaire de validation en allant à la prochaine requête que sur form_valid ou refus

This commit is contained in:
Benjamin Dauvergne 2018-04-23 16:33:39 +02:00
parent e9eeb30575
commit 068671f9d8
1 changed files with 8 additions and 4 deletions

View File

@ -220,26 +220,30 @@ class Validation(UserEditCoreView):
self.validation_request.validated = now()
self.validation_request.validated_by = request.user
self.validation_request.save()
return self.next_request(request)
elif 'validate' in request.POST:
super(Validation, self).post(request, *args, **kwargs)
return super(Validation, self).post(request, *args, **kwargs)
def next_request(self, request):
# on ne trouve plus de requête de validation après celle-ci
# recommençons du début
with atomic():
validation_request = models.ValidationRequest.objects.next_request(
request.user, after=self.validation_request)
# on ne trouve plus de requête de validation après celle-ci
# recommençons du début
if not validation_request:
return redirect(request, 'cut-manager-user-next-validation')
return redirect(request, 'cut-manager-user-validation',
kwargs={'pk': validation_request.pk})
def form_valid(self, form):
super(Validation, self).form_valid(form)
self.validation_request.status = models.ValidationRequest.STATUS_ACCEPTED
self.validation_request.validated = now()
self.validation_request.validated_by = self.request.user
self.validation_request.save()
if hasattr(self.validation_request.origin, 'ou') and self.validation_request.origin.ou:
form.instance.attributes.validation_partner = self.validation_request.origin.ou.slug
return super(Validation, self).form_valid(form)
return self.next_request(self.request)
validation = Validation.as_view()