préservation de l'état si enregistrement partiel

This commit is contained in:
Jean-Marie Favreau 2025-05-02 23:17:55 +02:00
parent dbf059fd23
commit 3b09e08aed

View File

@ -174,7 +174,6 @@ class DuplicatedEvents(models.Model):
super().save(*args, **kwargs) super().save(*args, **kwargs)
def get_import_messages(self): def get_import_messages(self):
from . import Message
msgs = [] msgs = []
for e in self.get_duplicated(): for e in self.get_duplicated():
@ -426,7 +425,7 @@ class Event(models.Model):
if not self.is_modification_locked(now): if not self.is_modification_locked(now):
self.editing_start = now self.editing_start = now
self.editing_user = user self.editing_user = user
self.save(update_fields=["editing_start", "editing_user"]) self.save(update_fields=["editing_start", "editing_user"], no_prepare=True)
return True return True
else: else:
return False return False
@ -438,7 +437,9 @@ class Event(models.Model):
self.editing_start = None self.editing_start = None
self.editing_user = None self.editing_user = None
if save: if save:
self.save(update_fields=["editing_start", "editing_user"]) self.save(
update_fields=["editing_start", "editing_user"], no_prepare=True
)
return True return True
def get_dates(self): def get_dates(self):
@ -938,7 +939,7 @@ class Event(models.Model):
def download_missing_image(self): def download_missing_image(self):
if self.local_image and not default_storage.exists(self.local_image.name): if self.local_image and not default_storage.exists(self.local_image.name):
self.download_image() self.download_image()
self.save(update_fields=["local_image"]) self.save(update_fields=["local_image"], no_prepare=True)
def download_image(self): def download_image(self):
# first download file # first download file
@ -1243,7 +1244,10 @@ class Event(models.Model):
return notif return notif
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
self.prepare_save() if "no_prepare" in kwargs:
del kwargs["no_prepare"]
else:
self.prepare_save()
# check for similar events if no duplicated is known and only if the event is created # check for similar events if no duplicated is known and only if the event is created
if ( if (