Verified Commit 5a55db09 authored by Peter Stanko's avatar Peter Stanko
Browse files

Fixes in adding users and submissions extended

parent 6153437e
Loading
Loading
Loading
Loading
+0 −60
Original line number Diff line number Diff line
@@ -42,66 +42,6 @@ def cli_groups_delete(obj: AppConfig, remote, course, codename: str):
    course.groups.delete(codename)


@cli_groups.command('add-user', help='Add user to the group')
@click.option('-r', '--remote', required=False, help='Sets remote')
@click.option('-c', '--course', required=False, help='Select course')
@click.argument('codename')
@click.argument('user')
@click.pass_obj
def cli_groups_add_user(obj: AppConfig, remote, course, codename: str, user):
    print(f"Adding user from the group: {codename}")
    remote: Remote = helpers.get_remote(obj, remote)
    course = helpers.get_course(remote, course)
    group = helpers.read_helper(course.groups, codename)
    group.add_user(user)
    entity_printer(group)


@cli_groups.command('del-user', help='Del user from the group')
@click.option('-r', '--remote', required=False, help='Sets remote')
@click.option('-c', '--course', required=False, help='Select course')
@click.argument('codename')
@click.argument('user')
@click.pass_obj
def cli_groups_del_user(obj: AppConfig, remote, course, codename: str, user):
    print(f"Deleting user from the group: {codename}")
    remote: Remote = helpers.get_remote(obj, remote)
    course = helpers.get_course(remote, course)
    group = helpers.read_helper(course.groups, codename)
    group.del_user(user)
    entity_printer(group)


@cli_groups.command('add-project', help='Add project to the group')
@click.option('-r', '--remote', required=False, help='Sets remote')
@click.option('-c', '--course', required=False, help='Select course')
@click.argument('codename')
@click.argument('user')
@click.pass_obj
def cli_groups_add_project(obj: AppConfig, remote, course, codename: str, project):
    print(f"Adding project to the group: {codename}")
    remote: Remote = helpers.get_remote(obj, remote)
    course = helpers.get_course(remote, course)
    group = helpers.read_helper(course.groups, codename)
    group.add_project(project)
    entity_printer(group)


@cli_groups.command('del-project', help='Del project from the group')
@click.option('-r', '--remote', required=False, help='Sets remote')
@click.option('-c', '--course', required=False, help='Select course')
@click.argument('codename')
@click.argument('user')
@click.pass_obj
def cli_groups_del_project(obj: AppConfig, remote, course, codename: str, project):
    print(f"Deleting project from the group: {codename}")
    remote: Remote = helpers.get_remote(obj, remote)
    course = helpers.get_course(remote, course)
    group = helpers.read_helper(course.groups, codename)
    group.del_project(project)
    entity_printer(group)


@cli_groups.command('edit', help='Edit group')
@click.option('-r', '--remote', required=False, help='Sets remote')
@click.option('-c', '--course', required=False, help='Select course')
+1 −1
Original line number Diff line number Diff line
@@ -79,7 +79,7 @@ cli_roles.add_command(cli_role_users)
def cli_role_users_list(obj: AppConfig, remote, course, codename: str):
    remote: Remote = helpers.get_remote(obj, remote)
    course = helpers.get_course(remote, course)
    helpers.generic_list_users(course.roles, codename)
    helpers.generic_list_users(course.roles, codename, name='clients')


@cli_role_users.command('add', help='Add user for the role')
+2 −1
Original line number Diff line number Diff line
@@ -27,7 +27,8 @@ def cli_submissions_list(obj: AppConfig, remote, **kwargs):
    params = remove_none(**kwargs)
    remote: Remote = helpers.get_remote(obj, remote)
    submissions = remote.kontr_client.submissions.list(params=params)
    params = ['id', 'state', 'user.username', 'course.codename', 'project.codename']
    params = ['id', 'result', 'points', 'state', 'user.username', 
    'course.codename', 'project.codename']
    helpers.generic_list(submissions, params=params)


+1 −1
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@ HANDLERS = {
LOGGERS = {
    'tests': {'handlers': ['console'], 'level': 'DEBUG', 'propagate': True},
    'kontrctl': {'handlers': ['console'], 'level': 'DEBUG', 'propagate': True},
    'kontr_api': {'handlers': ['console'], 'level': 'INFO', 'propagate': True},
    'kontr_api': {'handlers': ['console'], 'level': 'DEBUG', 'propagate': True},
}

LOGGING_CONF = {
+6 −3
Original line number Diff line number Diff line
@@ -214,10 +214,10 @@ def generic_remove_projects(client, codename, *projects):
    entity_printer(entity)


def generic_list_users(client, codename):
def generic_list_users(client, codename, name='users'):
    print(f"Listing users for {client.__class__.__name__}:  \"{codename}\"")
    entity = read_helper(client, codename)
    generic_list(entity['clients'], params=['id', 'codename', 'name'])
    generic_list(entity[name], params=['id', 'codename', 'name'])


def generic_list_projects(client, codename):
@@ -235,7 +235,10 @@ def generic_list(data_list, params=None, t_func=None, headers=None):
        res = []
        for param in params:
            key = param.split('.')
            res.append(nested_get(item.config, key))
            elem = item
            if not isinstance(item, dict):
                elem = item.config
            res.append(nested_get(elem, key))
        return res

    if not t_func: