Skip to content

Commit

Permalink
[#1038] Fix group deletion mid-hierarchy.
Browse files Browse the repository at this point in the history
  • Loading branch information
David Read committed Sep 17, 2013
1 parent 8babc4f commit 407cf91
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions ckan/logic/action/delete.py
@@ -1,5 +1,7 @@
'''API functions for deleting data from CKAN.'''

from sqlalchemy import or_

import ckan.logic
import ckan.logic.action
import ckan.plugins as plugins
Expand Down Expand Up @@ -252,6 +254,15 @@ def _group_or_org_delete(context, data_dict, is_org=False):
rev = model.repo.new_revision()
rev.author = user
rev.message = _(u'REST API: Delete %s') % revisioned_details

# The group's Member objects are deleted
# (including hierarchy connections to parent and children groups)
for member in model.Session.query(model.Member).\
filter(or_(model.Member.table_id == id,
model.Member.group_id == id)).\
filter(model.Member.state == 'active').all():
member.delete()

group.delete()

if is_org:
Expand Down

0 comments on commit 407cf91

Please sign in to comment.