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)
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)
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)
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 )
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)
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)