Add ability for super users to take ownership of namespaces
Fixes #1395
This commit is contained in:
parent
f75949d533
commit
20816804e5
14 changed files with 280 additions and 94 deletions
|
@ -0,0 +1,26 @@
|
|||
"""Add take_ownership log entry kind
|
||||
|
||||
Revision ID: 0f17d94d11eb
|
||||
Revises: a3ba52d02dec
|
||||
Create Date: 2016-06-07 17:22:20.438873
|
||||
|
||||
"""
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = '0f17d94d11eb'
|
||||
down_revision = 'a3ba52d02dec'
|
||||
|
||||
from alembic import op
|
||||
|
||||
def upgrade(tables):
|
||||
op.bulk_insert(tables.logentrykind,
|
||||
[
|
||||
{'name':'take_ownership'},
|
||||
])
|
||||
|
||||
|
||||
def downgrade(tables):
|
||||
op.execute(
|
||||
(tables.logentrykind.delete()
|
||||
.where(tables.logentrykind.c.name == op.inline_literal('take_ownership')))
|
||||
)
|
|
@ -136,3 +136,11 @@ def get_all_repo_users_transitive_via_teams(namespace_name, repository_name):
|
|||
def get_organizations():
|
||||
return User.select().where(User.organization == True, User.robot == False)
|
||||
|
||||
|
||||
def add_user_as_admin(user_obj, org_obj):
|
||||
try:
|
||||
admin_role = TeamRole.get(name='admin')
|
||||
admin_team = Team.select().where(Team.role == admin_role, Team.organization == org_obj).get()
|
||||
team.add_user_to_team(user_obj, admin_team)
|
||||
except team.UserAlreadyInTeam:
|
||||
pass
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
from data.database import Team, TeamMember, TeamRole, User, TeamMemberInvite, Repository
|
||||
from data.database import Team, TeamMember, TeamRole, User, TeamMemberInvite
|
||||
from data.model import (DataModelException, InvalidTeamException, UserAlreadyInTeam,
|
||||
InvalidTeamMemberException, user, _basequery)
|
||||
from util.validation import validate_username
|
||||
|
|
Reference in a new issue