adds atomic transaction for sharing ModelLog

sync3
Laurent 5 months ago
parent 2f34664f2d
commit efbe72d675
  1. 4
      sync/models/data_access.py
  2. 9
      sync/signals.py

@ -60,10 +60,10 @@ class DataAccess(BaseModel):
store_id=store_id
)
except ObjectDoesNotExist:
logger.info('object does not exists any more: {self.model_name} : {self.model_id}')
logger.warn(f'!!! object does not exists any more: {self.model_name} : {self.model_id} : {operation}')
pass
else:
logger.info(f'model not found: {self.model_name}')
logger.warn(f'!!!model not found: {self.model_name}')
def add_references(self):
model_class = model_registry.get_model(self.model_name)

@ -263,10 +263,11 @@ def handle_shared_with_changes(sender, instance, action, pk_set, **kwargs):
# print(f'm2m changed = {pk_set}')
users = User.objects.filter(id__in=pk_set)
if action == "post_add":
instance.create_access_log(users, 'SHARED_ACCESS')
elif action == "post_remove":
instance.create_access_log(users, 'REVOKED_ACCESS')
with transaction.atomic():
if action == "post_add":
instance.create_access_log(users, 'SHARED_ACCESS')
elif action == "post_remove":
instance.create_access_log(users, 'REVOKED_ACCESS')
device_id = device_registry.get_device_id(instance.id)
websocket_sender.send_message(pk_set, device_id)

Loading…
Cancel
Save