|
|
|
|
@ -27,7 +27,7 @@ def synchronization_prepare(sender, instance, created, **kwargs): |
|
|
|
|
|
|
|
|
|
signal = kwargs.get('signal') |
|
|
|
|
|
|
|
|
|
# avoid crash in manage.py createsuperuser + delete user in the admin |
|
|
|
|
# avoid crash in manage.py createsuperuser + delete user in the admin |
|
|
|
|
if isinstance(instance, User) and (instance._state.db is None or signal == pre_delete): |
|
|
|
|
return |
|
|
|
|
|
|
|
|
|
@ -161,10 +161,10 @@ def detect_foreign_key_changes(sender, instance, device_id): |
|
|
|
|
for data_access in data_access_list: |
|
|
|
|
if old_value: |
|
|
|
|
model_name = old_value.__class__.__name__ |
|
|
|
|
save_model_log(data_access.shared_with.all(), 'REVOKE_ACCESS', model_name, old_value.id, old_value.get_store_id(), device_id) |
|
|
|
|
save_model_log(data_access.concerned_users(), 'REVOKE_ACCESS', model_name, old_value.id, old_value.get_store_id(), device_id) |
|
|
|
|
if new_value: |
|
|
|
|
model_name = new_value.__class__.__name__ |
|
|
|
|
save_model_log(data_access.shared_with.all(), 'GRANT_ACCESS', model_name, new_value.id, new_value.get_store_id(), device_id) |
|
|
|
|
save_model_log(data_access.concerned_users(), 'GRANT_ACCESS', model_name, new_value.id, new_value.get_store_id(), device_id) |
|
|
|
|
|
|
|
|
|
# REVOKE access for old_value and GRANT new_value |
|
|
|
|
print(f"Foreign key changed in {sender.__name__}: " |
|
|
|
|
|