adds atomic transaction for sharing ModelLog

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

@ -60,10 +60,10 @@ class DataAccess(BaseModel):
store_id=store_id store_id=store_id
) )
except ObjectDoesNotExist: 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 pass
else: else:
logger.info(f'model not found: {self.model_name}') logger.warn(f'!!!model not found: {self.model_name}')
def add_references(self): def add_references(self):
model_class = model_registry.get_model(self.model_name) model_class = model_registry.get_model(self.model_name)

@ -263,6 +263,7 @@ def handle_shared_with_changes(sender, instance, action, pk_set, **kwargs):
# print(f'm2m changed = {pk_set}') # print(f'm2m changed = {pk_set}')
users = User.objects.filter(id__in=pk_set) users = User.objects.filter(id__in=pk_set)
with transaction.atomic():
if action == "post_add": if action == "post_add":
instance.create_access_log(users, 'SHARED_ACCESS') instance.create_access_log(users, 'SHARED_ACCESS')
elif action == "post_remove": elif action == "post_remove":

Loading…
Cancel
Save