forked from enviPath/enviPy
Added Shortcut to make Packages Public (#54)
Co-authored-by: Tim Lorsbach <tim@lorsba.ch> Reviewed-on: enviPath/enviPy#54
This commit is contained in:
@ -183,6 +183,25 @@ class PackageManager(object):
|
||||
return True
|
||||
return False
|
||||
|
||||
@staticmethod
|
||||
def administrable(user, package):
|
||||
if UserPackagePermission.objects.filter(package=package, user=user, permission=Permission.ALL[0]).exists() or \
|
||||
GroupPackagePermission.objects.filter(package=package, group__in=GroupManager.get_groups(user), permission=Permission.ALL[0]).exists() or \
|
||||
user.is_superuser:
|
||||
return True
|
||||
return False
|
||||
|
||||
# @staticmethod
|
||||
# def get_package_permission(user: 'User', package: Union[str, 'Package']):
|
||||
# if PackageManager.administrable(user, package):
|
||||
# return Permission.ALL[0]
|
||||
# elif PackageManager.writable(user, package):
|
||||
# return Permission.WRITE[0]
|
||||
# elif PackageManager.readable(user, package):
|
||||
# return Permission.READ[0]
|
||||
# else:
|
||||
# return None
|
||||
|
||||
@staticmethod
|
||||
def has_package_permission(user: 'User', package: Union[str, 'Package'], permission: str):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user