views: wraps generic writing views with atomic() (#32533)
To prevent uninitialized connector instances to remain when errors occur during Model.save() notably in the csvdatasource application.
This commit is contained in:
parent
39c2b61daf
commit
edf36dc45b
|
@ -25,6 +25,7 @@ from django.core.cache import cache
|
|||
from django.core.exceptions import PermissionDenied
|
||||
from django.contrib.auth import logout as auth_logout
|
||||
from django.contrib.auth import views as auth_views
|
||||
from django.db import transaction
|
||||
from django.http import HttpResponse, HttpResponseRedirect, Http404
|
||||
from django.views.decorators.csrf import csrf_exempt
|
||||
from django.views.generic import (
|
||||
|
@ -180,7 +181,8 @@ class GenericCreateConnectorView(GenericConnectorMixin, CreateView):
|
|||
template_name = 'passerelle/manage/service_form.html'
|
||||
|
||||
def form_valid(self, form):
|
||||
response = super(GenericCreateConnectorView, self).form_valid(form)
|
||||
with transaction.atomic():
|
||||
response = super(GenericCreateConnectorView, self).form_valid(form)
|
||||
self.object.availability()
|
||||
return response
|
||||
|
||||
|
@ -189,7 +191,8 @@ class GenericEditConnectorView(GenericConnectorMixin, UpdateView):
|
|||
template_name = 'passerelle/manage/service_form.html'
|
||||
|
||||
def form_valid(self, form):
|
||||
response = super(GenericEditConnectorView, self).form_valid(form)
|
||||
with transaction.atomic():
|
||||
response = super(GenericEditConnectorView, self).form_valid(form)
|
||||
self.object.availability()
|
||||
return response
|
||||
|
||||
|
|
Loading…
Reference in New Issue