1
0
mirror of https://gitlab.crans.org/bde/nk20 synced 2025-06-28 12:32:49 +02:00

Merge branch 'atomicity' into 'beta'

Atomicité

See merge request bde/nk20!122
This commit is contained in:
ynerant
2020-09-14 09:38:54 +02:00
16 changed files with 78 additions and 36 deletions

View File

@ -4,7 +4,6 @@
from functools import lru_cache
from time import time
from django.conf import settings
from django.contrib.sessions.models import Session
from note_kfet.middlewares import get_current_session
@ -33,9 +32,9 @@ def memoize(f):
sess_funs = new_sess_funs
def func(*args, **kwargs):
if settings.DEBUG:
# Don't memoize in DEBUG mode
return f(*args, **kwargs)
# if settings.DEBUG:
# # Don't memoize in DEBUG mode
# return f(*args, **kwargs)
nonlocal last_collect

View File

@ -199,6 +199,7 @@ class Permission(models.Model):
if self.field and self.type not in {'view', 'change'}:
raise ValidationError(_("Specifying field applies only to view and change permission types."))
@transaction.atomic
def save(self, **kwargs):
self.full_clean()
super().save()

View File

@ -6,6 +6,7 @@ from datetime import date
from django.contrib.auth.mixins import LoginRequiredMixin
from django.contrib.auth.models import User
from django.core.exceptions import PermissionDenied
from django.db import transaction
from django.db.models import Q
from django.forms import HiddenInput
from django.http import Http404
@ -56,6 +57,7 @@ class ProtectQuerysetMixin:
return form
@transaction.atomic
def form_valid(self, form):
"""
Submit the form, if the page is a FormView.