Ejemplo n.º 1
0
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()
Ejemplo n.º 2
0
    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'
Ejemplo n.º 3
0
    def test_get_all(self):
        from pyramid_signup.models import UserGroup
        from pyramid_signup.models import User
        from pyramid_signup.managers import UserGroupManager

        user = User(username='******', password='******')
        self.session.add(user)

        group = UserGroup('admin', 'group for admins')
        group.users.append(user)
        self.session.add(group)
        self.session.commit()

        request = testing.DummyRequest()
        mgr = UserGroupManager(request)

        groups = mgr.get_all()

        assert len(groups) == 1
Ejemplo n.º 4
0
def choices_widget(node, kw):
    request = kw.get('request')

    if request.context:
        is_admin = has_permission('group:admin', request.context, request)
        mgr = UserGroupManager(request)

        groups = mgr.get_all()

        if is_admin:
            choices = [
                ('', '- None -'),
            ]

            for group in groups:
                choices.append((str(group.pk), group.name))

            return deform.widget.SelectWidget(values=choices)

    return deform.widget.HiddenWidget()