Skip to content

Commit

Permalink
Backport user_delete Membership removal from 2.7
Browse files Browse the repository at this point in the history
  • Loading branch information
TkTech committed Dec 13, 2016
1 parent fde083e commit 5bd5cd8
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions ckan/logic/action/delete.py
Expand Up @@ -24,9 +24,7 @@

def user_delete(context, data_dict):
'''Delete a user.
Only sysadmins can delete users.
:param id: the id or usernamename of the user to delete
:type id: string
'''
Expand All @@ -37,10 +35,22 @@ def user_delete(context, data_dict):
user_id = _get_or_bust(data_dict, 'id')
user = model.User.get(user_id)

# New revision, needed by the member table
rev = model.repo.new_revision()
rev.author = context['user']
rev.message = _(u' Delete User: {0}').format(user.name)

if user is None:
raise NotFound('User "{id}" was not found.'.format(id=user_id))

user.delete()

user_memberships = model.Session.query(model.Member).filter(
model.Member.table_id == user.id).all()

for membership in user_memberships:
membership.delete()

model.repo.commit()


Expand Down

0 comments on commit 5bd5cd8

Please sign in to comment.