def deactivate_group_members(group): """Upon dissolution of a group all group members are deactivated and get the end date of the group """ # !+GROUP_DISSOLVE - rewrite using generic model relationships for # Group.group_members and GroupMember.member_titles ? group_id = group.group_id end_date = group.end_date assert end_date is not None connection = Session().connection(domain.Group) connection.execute(schema.member.update().where( sa.and_(schema.member.c.group_id == group_id, schema.member.c.active_p == True)).values(active_p=False)) connection.execute(schema.member.update().where( sa.and_(schema.member.c.group_id == group_id, schema.member.c.end_date == None)).values(end_date=end_date)) def deactivate_group_member_titles(group): group_members = sa.select([schema.member.c.member_id], schema.member.c.group_id == group_id) connection.execute(schema.member_title.update().where( sa.and_(schema.member_title.c.member_id.in_(group_members), schema.member_title.c.end_date == None)).values( end_date=end_date)) deactivate_group_member_titles(group)
def deactivate_group_members(group): """Upon dissolution of a group all group members are deactivated and get the end date of the group """ # !+GROUP_DISSOLVE - rewrite using generic model relationships for # Group.group_members and GroupMember.member_titles ? group_id = group.group_id end_date = group.end_date assert end_date is not None connection = Session().connection(domain.Group) connection.execute( schema.member.update().where( sa.and_( schema.member.c.group_id == group_id, schema.member.c.active_p == True ) ).values(active_p=False) ) connection.execute( schema.member.update().where( sa.and_( schema.member.c.group_id == group_id, schema.member.c.end_date == None ) ).values(end_date=end_date) ) def deactivate_group_member_titles(group): group_members = sa.select([schema.member.c.member_id], schema.member.c.group_id == group_id) connection.execute( schema.member_title.update().where( sa.and_( schema.member_title.c.member_id.in_(group_members), schema.member_title.c.end_date == None ) ).values(end_date=end_date) ) deactivate_group_member_titles(group)