forked from enviPath/enviPy
Auth log
This commit is contained in:
@ -35,6 +35,7 @@ from utilities.chem import FormatConverter
|
||||
from utilities.misc import PackageExporter, PackageImporter
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
auth_log = logging.getLogger("auth")
|
||||
|
||||
Package = s.GET_PACKAGE_MODEL()
|
||||
|
||||
@ -316,13 +317,19 @@ class GroupManager(object):
|
||||
if isinstance(member, Group):
|
||||
if add_or_remove == "add":
|
||||
group.group_member.add(member)
|
||||
auth_log.info(f"{caller.username} ({caller.url}) adds {member.name} ({member.url}) to {group.name} ({group.url})")
|
||||
else:
|
||||
group.group_member.remove(member)
|
||||
auth_log.info(
|
||||
f"{caller.username} ({caller.url}) removes {member.name} ({member.url}) to {group.name} ({group.url})")
|
||||
else:
|
||||
if add_or_remove == "add":
|
||||
group.user_member.add(member)
|
||||
auth_log.info(f"{caller.username} ({caller.url}) adds {member.username} ({member.url}) to {group.name} ({group.url})")
|
||||
else:
|
||||
group.user_member.remove(member)
|
||||
auth_log.info(
|
||||
f"{caller.username} ({caller.url}) adds {member.username} ({member.url}) to {group.name} ({group.url})")
|
||||
|
||||
group.save()
|
||||
|
||||
@ -589,11 +596,25 @@ class PackageManager(object):
|
||||
if qs.count() != 0:
|
||||
logger.info(f"Deleting Perm {qs.first()}")
|
||||
qs.delete()
|
||||
auth_log.info(f"{caller.username} ({caller.url}) revokes {grantee.name} ({grantee.url}) all Permissions on {package.name} ({package.url})")
|
||||
else:
|
||||
logger.debug(f"No Permission object for {perm_cls} with filter {data} found!")
|
||||
else:
|
||||
old_perm = None
|
||||
old_perms_qs = perm_cls.objects.filter(**data)
|
||||
|
||||
if old_perms_qs.exists():
|
||||
old_perm = old_perms_qs.first().permission
|
||||
|
||||
_ = perm_cls.objects.update_or_create(defaults={"permission": new_perm}, **data)
|
||||
|
||||
grantee_name = grantee.username if isinstance(grantee, User) else grantee.name
|
||||
|
||||
if old_perm is None:
|
||||
auth_log.info(f"{caller.username} ({caller.url}) grants {grantee_name} ({grantee.url}) '{new_perm}' Permissions on {package.name} ({package.url})")
|
||||
else:
|
||||
auth_log.info(f"{caller.username} ({caller.url}) set {grantee_name} ({grantee.url}) Permissions from '{old_perm}' to '{new_perm}' on {package.name} ({package.url})")
|
||||
|
||||
@staticmethod
|
||||
def grant_read(caller: User, package: Package, grantee: Union[User, Group]):
|
||||
PackageManager.update_permissions(caller, package, grantee, Permission.READ[0])
|
||||
|
||||
Reference in New Issue
Block a user