Skip to content

Commit

Permalink
Collabs package page
Browse files Browse the repository at this point in the history
  • Loading branch information
andrew committed Jun 24, 2020
1 parent 9bb977d commit 9fda94b
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 0 deletions.
21 changes: 21 additions & 0 deletions README.md
Expand Up @@ -244,6 +244,27 @@ For each package it shows:

It also has a basic package search function.

Packages are filterable by:
- Organization
- Platform (package manager)

### [Collab Packages](https://ecosystem-research.herokuapp.com/collabs/packages)

The [Packages](https://ecosystem-research.herokuapp.com/collabs/packages) view is a list of all packages owned by collaborator that have been published from collaborator repositories.

For each package it shows:
- name
- platform (package manager)
- description
- latest release number
- Dependent collab repositories
- org icon

It also has a basic package search function.

Packages are filterable by:
- Organization
- Platform (package manager)

## Data model

Expand Down
15 changes: 15 additions & 0 deletions app/controllers/packages_controller.rb
Expand Up @@ -14,6 +14,21 @@ def index
@orgs = @orgs_scope.joins(:organization).group('organizations.name').count
end

def collabs
@scope = Package.external.includes(:repository)

@scope = @scope.exclude_platform(params[:exclude_platform]) if params[:exclude_platform].present?
@scope = @scope.platform(params[:platform]) if params[:platform].present?

@orgs_scope = @scope
@scope = @scope.exclude_org(params[:exclude_org]) if params[:exclude_org].present?
@scope = @scope.org(params[:org]) if params[:org].present?

@pagy, @packages = pagy(@scope.order('collab_dependent_repos_count DESC, dependent_repos_count DESC, created_at DESC'))
@platforms = @scope.unscope(where: :platform).group(:platform).count
@orgs = @orgs_scope.joins(:organization).group('organizations.name').count
end

def show
@package = Package.find(params[:id])
direct = params[:direct] == 'false' ? false : true
Expand Down
13 changes: 13 additions & 0 deletions app/views/packages/collabs.html.erb
@@ -0,0 +1,13 @@
<h1>Collab Packages</h1>

<div class="row mt-3 mb-3">
<div class="col-md-12">
<ul class="nav nav-pills d-flex">
<%= render 'issues/org_filter' %>
<%= render 'platforms_filter' %>
</ul>
</div>
</div>

<%= render @packages %>
<%== pagy_bootstrap_nav(@pagy) if @pagy.pages > 1 %>
1 change: 1 addition & 0 deletions config/routes.rb
Expand Up @@ -10,6 +10,7 @@
end
resources :repositories

get 'collabs/packages', to: 'packages#collabs', as: :collab_packages
get 'collabs/repositories', to: 'repositories#collab_repositories', as: :collab_repositories
get 'collabs/events', to: 'repositories#collab_events', as: :collab_events
get 'events', to: 'repositories#events'
Expand Down

0 comments on commit 9fda94b

Please sign in to comment.