1
Fork 0
mirror of https://github.com/pds-nest/nest.git synced 2024-11-22 13:04:19 +00:00

User deletion no longer impacts repos

Deleted user repos are given to admin account and locked
This commit is contained in:
Lorenzo Balugani 2021-05-28 13:36:45 +02:00
parent e4a60d718c
commit 37ef4a40f4

View file

@ -128,10 +128,17 @@ def page_user(email):
return json_error("User is not admin.", USER_NOT_ADMIN), 403 return json_error("User is not admin.", USER_NOT_ADMIN), 403
if user == target: if user == target:
return json_error("The user cant delete himself. Its a sin.", USER_PREVENT_SEPPUKU), 406 return json_error("The user cant delete himself. Its a sin.", USER_PREVENT_SEPPUKU), 406
repos = target.owner_of
for repository in repos:
repository.owner_id = user.email
repository.is_active = False
for authorization in target.authorizations:
ext.session.delete(authorization)
ext.session.commit()
ext.session.delete(target) ext.session.delete(target)
try: try:
ext.session.commit() ext.session.commit()
except Exception: except Exception as e:
ext.session.rollback() ext.session.rollback()
return json_error("Could not delete the user.", USER_DELETION_ERROR), 500 return json_error("Could not delete the user.", USER_DELETION_ERROR), 500
return json_success(""), 204 # "The user has been deleted." return json_success(""), 204 # "The user has been deleted."