summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-07-25 22:05:23 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-07-25 22:05:23 +0300
commit974b5a7b2f31f8e7d6b38a45bfd055a40651c945 (patch)
tree425fdc30fce0c7595001909ccff03d1f7ca341d8
parent76af5a1db73155c0a120f30cda9d60155146dfe1 (diff)
downloadgitlab-ce-974b5a7b2f31f8e7d6b38a45bfd055a40651c945.tar.gz
Most starred projects page for Explore area
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-rw-r--r--app/controllers/explore/projects_controller.rb6
-rw-r--r--app/views/explore/projects/_project.html.haml7
-rw-r--r--app/views/explore/projects/starred.html.haml10
-rw-r--r--app/views/layouts/explore.html.haml2
-rw-r--r--config/routes.rb1
5 files changed, 25 insertions, 1 deletions
diff --git a/app/controllers/explore/projects_controller.rb b/app/controllers/explore/projects_controller.rb
index 05b3289682b..b6fa8b7e387 100644
--- a/app/controllers/explore/projects_controller.rb
+++ b/app/controllers/explore/projects_controller.rb
@@ -16,4 +16,10 @@ class Explore::ProjectsController < ApplicationController
@trending_projects = TrendingProjectsFinder.new.execute(current_user)
@trending_projects = @trending_projects.page(params[:page]).per(10)
end
+
+ def starred
+ @starred_projects = ProjectsFinder.new.execute(current_user)
+ @starred_projects = @starred_projects.order('star_count DESC')
+ @starred_projects = @starred_projects.page(params[:page]).per(10)
+ end
end
diff --git a/app/views/explore/projects/_project.html.haml b/app/views/explore/projects/_project.html.haml
index 665d111bead..393c33b266a 100644
--- a/app/views/explore/projects/_project.html.haml
+++ b/app/views/explore/projects/_project.html.haml
@@ -4,6 +4,10 @@
= visibility_level_icon(project.visibility_level)
= link_to project.name_with_namespace, project
+ - if current_page?(starred_explore_projects_path)
+ %strong.pull-right
+ = pluralize project.star_count, 'star'
+
- if project.description.present?
%p.project-description.str-truncated
= project.description
@@ -17,4 +21,5 @@
= link_to pluralize(project.repository.tag_names.count, 'tag'), project_tags_path(project)
- else
%i.icon-warning-sign
- Empty repository
+ Empty repository
+
diff --git a/app/views/explore/projects/starred.html.haml b/app/views/explore/projects/starred.html.haml
new file mode 100644
index 00000000000..9c793d4050c
--- /dev/null
+++ b/app/views/explore/projects/starred.html.haml
@@ -0,0 +1,10 @@
+.explore-trending-block
+ %p.lead
+ %i.icon-comments-alt
+ See most starred projects
+ %hr
+ .public-projects
+ %ul.bordered-list
+ = render @starred_projects
+
+ = paginate @starred_projects, theme: 'gitlab'
diff --git a/app/views/layouts/explore.html.haml b/app/views/layouts/explore.html.haml
index 73b4940e3d3..d023846c5eb 100644
--- a/app/views/layouts/explore.html.haml
+++ b/app/views/layouts/explore.html.haml
@@ -20,6 +20,8 @@
%ul.nav.nav-tabs
= nav_link(path: 'projects#trending') do
= link_to 'Trending Projects', explore_root_path
+ = nav_link(path: 'projects#starred') do
+ = link_to 'Most Starred Projects', starred_explore_projects_path
= nav_link(path: 'projects#index') do
= link_to 'All Projects', explore_projects_path
= nav_link(controller: :groups) do
diff --git a/config/routes.rb b/config/routes.rb
index f8c68eb11a1..3b34ad40297 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -53,6 +53,7 @@ Gitlab::Application.routes.draw do
resources :projects, only: [:index] do
collection do
get :trending
+ get :starred
end
end