Add the ability to login with a robot, use the wrench icon for robots all over the place.
This commit is contained in:
parent
b407c1d9fb
commit
e69591c7d6
8 changed files with 46 additions and 15 deletions
|
@ -292,7 +292,8 @@ def get_matching_entities(prefix):
|
|||
def user_view(user):
|
||||
user_json = {
|
||||
'name': user.username,
|
||||
'kind': 'robot' if user.is_robot else 'user',
|
||||
'kind': 'user',
|
||||
'is_robot': user.is_robot,
|
||||
}
|
||||
|
||||
if user.is_org_member is not None:
|
||||
|
@ -455,7 +456,8 @@ def get_organization_private_allowed(orgname):
|
|||
|
||||
def member_view(member):
|
||||
return {
|
||||
'username': member.username
|
||||
'username': member.username,
|
||||
'is_robot': member.robot,
|
||||
}
|
||||
|
||||
|
||||
|
@ -917,6 +919,11 @@ def role_view(repo_perm_obj):
|
|||
}
|
||||
|
||||
|
||||
def wrap_role_view_user(role_json, user):
|
||||
role_json['is_robot'] = user.robot
|
||||
return role_json
|
||||
|
||||
|
||||
def wrap_role_view_org(role_json, org_member):
|
||||
role_json['is_org_member'] = org_member
|
||||
return role_json
|
||||
|
@ -1033,7 +1040,7 @@ def list_repo_user_permissions(namespace, repository):
|
|||
model.get_organization(namespace) # Will raise an error if not org
|
||||
org_members = model.get_organization_member_set(namespace)
|
||||
def wrapped_role_view(repo_perm):
|
||||
unwrapped = role_view(repo_perm)
|
||||
unwrapped = wrap_role_view_user(role_view(repo_perm), repo_perm.user)
|
||||
return wrap_role_view_org(unwrapped,
|
||||
repo_perm.user.username in org_members)
|
||||
|
||||
|
@ -1062,7 +1069,7 @@ def get_user_permissions(namespace, repository, username):
|
|||
permission = AdministerRepositoryPermission(namespace, repository)
|
||||
if permission.can():
|
||||
perm = model.get_user_reponame_permission(username, namespace, repository)
|
||||
perm_view = role_view(perm)
|
||||
perm_view = wrap_role_view_user(role_view(perm), perm.user)
|
||||
|
||||
try:
|
||||
model.get_organization(namespace)
|
||||
|
@ -1107,7 +1114,7 @@ def change_user_permissions(namespace, repository, username):
|
|||
|
||||
perm = model.set_user_repo_permission(username, namespace, repository,
|
||||
new_permission['role'])
|
||||
perm_view = role_view(perm)
|
||||
perm_view = wrap_role_view_user(role_view(perm), perm.user)
|
||||
|
||||
try:
|
||||
model.get_organization(namespace)
|
||||
|
|
Reference in a new issue