Exemplo n.º 1
0
def coprs_migration_report(username=None):
    if not username and not flask.g.user:
        return generic_error("You are not logged in")
    elif not username:
        username = flask.g.user.name
    user = UsersLogic.get(username).first()

    coprs = CoprsLogic.filter_without_group_projects(CoprsLogic.get_multiple_owned_by_username(username)).all()
    for group in UsersLogic.get_groups_by_fas_names_list(user.user_teams).all():
        coprs.extend(CoprsLogic.get_multiple_by_group_id(group.id).all())

    return render_migration_report(coprs, user=user)
Exemplo n.º 2
0
def coprs_migration_report(username=None):
    if not username and not flask.g.user:
        return generic_error("You are not logged in")
    elif not username:
        username = flask.g.user.name
    user = UsersLogic.get(username).first()

    coprs = CoprsLogic.filter_without_group_projects(
        CoprsLogic.get_multiple_owned_by_username(username)).all()
    for group in UsersLogic.get_groups_by_fas_names_list(
            user.user_teams).all():
        coprs.extend(CoprsLogic.get_multiple_by_group_id(group.id).all())

    return render_migration_report(coprs, user=user)
Exemplo n.º 3
0
def list_projects_by_group(group_name, page=1):
    group = ComplexLogic.get_group_by_name_safe(group_name)
    query = CoprsLogic.get_multiple_by_group_id(group.id)

    paginator = Paginator(query, query.count(), page)

    coprs = paginator.sliced_query

    return render_template("coprs/show/group.html",
                           user=flask.g.user,
                           coprs=coprs,
                           paginator=paginator,
                           tasks_info=ComplexLogic.get_queues_size(),
                           group=group)
Exemplo n.º 4
0
def list_projects_by_group(group_name, page=1):
    group = ComplexLogic.get_group_by_name_safe(group_name)
    query = CoprsLogic.get_multiple_by_group_id(group.id)

    paginator = Paginator(query, query.count(), page)

    coprs = paginator.sliced_query

    return render_template(
        "coprs/show/group.html",
        user=flask.g.user,
        coprs=coprs,
        paginator=paginator,
        tasks_info=ComplexLogic.get_queues_size(),
        group=group
    )
Exemplo n.º 5
0
def render_pinned_projects(owner, form=None):
    pinned = [pin.copr for pin in PinnedCoprsLogic.get_by_owner(owner)]
    if isinstance(owner, models.Group):
        UsersLogic.raise_if_not_in_group(flask.g.user, owner)
        coprs = CoprsLogic.get_multiple_by_group_id(owner.id).filter(
            models.Copr.unlisted_on_hp.is_(False)).all()
    else:
        coprs = ComplexLogic.get_coprs_permissible_by_user(owner)
    coprs = sorted(coprs, key=lambda copr: copr.full_name)
    selected = [copr.id for copr in pinned]
    selected += (app.config["PINNED_PROJECTS_LIMIT"] - len(pinned)) * [None]
    for i, copr_id in enumerate(form.copr_ids.data if form else []):
        selected[i] = int(copr_id) if copr_id else None

    graph = BuildsLogic.get_small_graph_data('30min')
    return flask.render_template("pinned.html",
                                 owner=owner,
                                 pinned=pinned,
                                 selected=selected,
                                 coprs=coprs,
                                 form=form,
                                 tasks_info=ComplexLogic.get_queue_sizes(),
                                 graph=graph)
Exemplo n.º 6
0
def group_coprs_migration_report(group_name=None):
    group = ComplexLogic.get_group_by_name_safe(group_name)
    coprs = CoprsLogic.get_multiple_by_group_id(group.id)
    return render_migration_report(coprs, group=group)
Exemplo n.º 7
0
def group_coprs_migration_report(group_name=None):
    group = ComplexLogic.get_group_by_name_safe(group_name)
    coprs = CoprsLogic.get_multiple_by_group_id(group.id)
    return render_migration_report(coprs, group=group)