예제 #1
0
def delgroup(group_name):
    """
    Delete a group
    """
    from app.user.models import Group

    Group.get(group_name).delete()
예제 #2
0
def groups():
    """
    List groups
    """
    from app.user.models import Group
    groups = Group.query()
    for group in groups:
        print('{0.group_name}: {0.description}'.format(group))
예제 #3
0
def remove(username, group_name):
    """
    Remove a user from a group
    """
    from app.user.models import User, Group
    group = Group.get(group_name)
    if not group:
        raise AttributeError("group does not exist")
    group.leave(User.get(username))
    group.save()
예제 #4
0
def newgroup(group_name):
    """
    Create a group
    """
    from app.user.models import User, Group
    g = Group(name=group_name)
    g.description = input('Enter a description of the group '
                          '(or leave blank for none): ') or None
    print(
        'Enter a list of initial user names to be added to the group, one on '
        'each line, ending with an empty line: ')
    users = []
    while True:
        username = input('> ')
        if not username:
            break

        user = User.get(username)
        if not user:
            print('Could not find user: {}'.format(username))
            continue

        if user in users:
            print('Heard you the first time.')
            continue

        users.append(user)

    g.members = users
    g.save()
예제 #5
0
def join(username, group_name):
    """
    Add a user to a group
    """
    from app.user.models import User, Group
    from ldap3.core.exceptions import LDAPAttributeOrValueExistsResult
    try:
        group = Group.get(group_name)
        if not group:
            raise AttributeError("group does not exist")
        group.join(User.get(username))
        group.save()
    except LDAPAttributeOrValueExistsResult:
        print("User already in group")
    except AttributeError:
        print("User or Group does not exist")
예제 #6
0
def members(group_id):
    from app.user.models import Group
    group = Group.get(group_id)
    for member in group.members:
        print('{0.username}: {0.full_name}'.format(member))