def handle_profile_group(event): request = event.request # session = request.registry.getUtility(ISUSession) # session.commit() if has_permission('group:admin', request.context, request): mgr = UserGroupManager(request) group_pk = event.values.get('group', None) if group_pk: group = mgr.get_by_pk(group_pk) if not group in event.user.groups: event.user.groups.append(group) else: event.user.groups.pop()
def test_get_by_pk(self): from pyramid_signup.models import UserGroup from pyramid_signup.models import User from pyramid_signup.managers import UserGroupManager group = UserGroup('admin', 'group for admins') group2 = UserGroup('employees', 'group for employees') self.session.add(group) self.session.add(group2) self.session.commit() request = testing.DummyRequest() mgr = UserGroupManager(request) group = mgr.get_by_pk(2) assert group.name == 'employees'