summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-07-23 12:03:49 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-07-23 12:03:49 +0300
commit367445fdcde4d07a685610449a2ab4d43b1fc507 (patch)
tree5d720c3c76c02fe8539e5bdaca64f76a5549a043
parent1df0345e9e642ca7e9d73c12430921b0fe62d25e (diff)
downloadgitlab-ce-367445fdcde4d07a685610449a2ab4d43b1fc507.tar.gz
Refactor explore area
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-rw-r--r--app/controllers/explore/groups_controller.rb (renamed from app/controllers/public/groups_controller.rb)4
-rw-r--r--app/controllers/explore/projects_controller.rb19
-rw-r--r--app/controllers/public/explore_controller.rb12
-rw-r--r--app/controllers/public/projects_controller.rb14
-rw-r--r--app/views/explore/groups/index.html.haml (renamed from app/views/public/groups/index.html.haml)12
-rw-r--r--app/views/explore/projects/_project.html.haml20
-rw-r--r--app/views/explore/projects/index.html.haml (renamed from app/views/public/projects/index.html.haml)27
-rw-r--r--app/views/explore/projects/trending.html.haml11
-rw-r--r--app/views/layouts/_head_panel.html.haml2
-rw-r--r--app/views/layouts/devise.html.haml2
-rw-r--r--app/views/layouts/explore.html.haml (renamed from app/views/layouts/public.html.haml)10
-rw-r--r--app/views/layouts/public_groups.html.haml11
-rw-r--r--app/views/public/explore/index.html.haml18
-rw-r--r--config/routes.rb18
14 files changed, 79 insertions, 101 deletions
diff --git a/app/controllers/public/groups_controller.rb b/app/controllers/explore/groups_controller.rb
index e22d0837035..f8e1a31e0b3 100644
--- a/app/controllers/public/groups_controller.rb
+++ b/app/controllers/explore/groups_controller.rb
@@ -1,9 +1,9 @@
-class Public::GroupsController < ApplicationController
+class Explore::GroupsController < ApplicationController
skip_before_filter :authenticate_user!,
:reject_blocked, :set_current_user_for_observers,
:add_abilities
- layout "public"
+ layout "explore"
def index
@groups = GroupsFinder.new.execute(current_user)
diff --git a/app/controllers/explore/projects_controller.rb b/app/controllers/explore/projects_controller.rb
new file mode 100644
index 00000000000..05b3289682b
--- /dev/null
+++ b/app/controllers/explore/projects_controller.rb
@@ -0,0 +1,19 @@
+class Explore::ProjectsController < ApplicationController
+ skip_before_filter :authenticate_user!,
+ :reject_blocked,
+ :add_abilities
+
+ layout 'explore'
+
+ def index
+ @projects = ProjectsFinder.new.execute(current_user)
+ @projects = @projects.search(params[:search]) if params[:search].present?
+ @projects = @projects.sort(@sort = params[:sort])
+ @projects = @projects.includes(:namespace).page(params[:page]).per(20)
+ end
+
+ def trending
+ @trending_projects = TrendingProjectsFinder.new.execute(current_user)
+ @trending_projects = @trending_projects.page(params[:page]).per(10)
+ end
+end
diff --git a/app/controllers/public/explore_controller.rb b/app/controllers/public/explore_controller.rb
deleted file mode 100644
index aa781dc998d..00000000000
--- a/app/controllers/public/explore_controller.rb
+++ /dev/null
@@ -1,12 +0,0 @@
-class Public::ExploreController < ApplicationController
- skip_before_filter :authenticate_user!,
- :reject_blocked,
- :add_abilities
-
- layout "public"
-
- def index
- @trending_projects = TrendingProjectsFinder.new.execute(current_user)
- @trending_projects = @trending_projects.page(params[:page]).per(10)
- end
-end
diff --git a/app/controllers/public/projects_controller.rb b/app/controllers/public/projects_controller.rb
deleted file mode 100644
index d6238f79547..00000000000
--- a/app/controllers/public/projects_controller.rb
+++ /dev/null
@@ -1,14 +0,0 @@
-class Public::ProjectsController < ApplicationController
- skip_before_filter :authenticate_user!,
- :reject_blocked, :set_current_user_for_observers,
- :add_abilities
-
- layout 'public'
-
- def index
- @projects = Project.publicish(current_user)
- @projects = @projects.search(params[:search]) if params[:search].present?
- @projects = @projects.sort(@sort = params[:sort])
- @projects = @projects.includes(:namespace).page(params[:page]).per(20)
- end
-end
diff --git a/app/views/public/groups/index.html.haml b/app/views/explore/groups/index.html.haml
index c20af08029f..80ddd5c1bde 100644
--- a/app/views/public/groups/index.html.haml
+++ b/app/views/explore/groups/index.html.haml
@@ -1,6 +1,6 @@
.clearfix
.pull-left
- = form_tag public_groups_path, method: :get, class: 'form-inline form-tiny' do |f|
+ = form_tag explore_groups_path, method: :get, class: 'form-inline form-tiny' do |f|
.form-group
= search_field_tag :search, params[:search], placeholder: "Filter by name", class: "form-control search-text-input input-mn-300", id: "groups_search"
.form-group
@@ -17,15 +17,15 @@
%b.caret
%ul.dropdown-menu
%li
- = link_to public_groups_path(sort: nil) do
+ = link_to explore_groups_path(sort: nil) do
Name
- = link_to public_groups_path(sort: 'newest') do
+ = link_to explore_groups_path(sort: 'newest') do
Newest
- = link_to public_groups_path(sort: 'oldest') do
+ = link_to explore_groups_path(sort: 'oldest') do
Oldest
- = link_to public_groups_path(sort: 'recently_updated') do
+ = link_to explore_groups_path(sort: 'recently_updated') do
Recently updated
- = link_to public_groups_path(sort: 'last_updated') do
+ = link_to explore_groups_path(sort: 'last_updated') do
Last updated
%hr
diff --git a/app/views/explore/projects/_project.html.haml b/app/views/explore/projects/_project.html.haml
new file mode 100644
index 00000000000..665d111bead
--- /dev/null
+++ b/app/views/explore/projects/_project.html.haml
@@ -0,0 +1,20 @@
+%li
+ %h4.project-title
+ .project-access-icon
+ = visibility_level_icon(project.visibility_level)
+ = link_to project.name_with_namespace, project
+
+ - if project.description.present?
+ %p.project-description.str-truncated
+ = project.description
+
+ .repo-info
+ - unless project.empty_repo?
+ = link_to pluralize(project.repository.round_commit_count, 'commit'), project_commits_path(project, project.default_branch)
+ &middot;
+ = link_to pluralize(project.repository.branch_names.count, 'branch'), project_branches_path(project)
+ &middot;
+ = link_to pluralize(project.repository.tag_names.count, 'tag'), project_tags_path(project)
+ - else
+ %i.icon-warning-sign
+ Empty repository
diff --git a/app/views/public/projects/index.html.haml b/app/views/explore/projects/index.html.haml
index 30712a47518..32796c8b2b8 100644
--- a/app/views/public/projects/index.html.haml
+++ b/app/views/explore/projects/index.html.haml
@@ -31,32 +31,7 @@
%hr
.public-projects
%ul.bordered-list.top-list
- - @projects.each do |project|
- %li
- %h4
- = link_to project_path(project) do
- = project.name_with_namespace
- - if project.internal?
- %small.access-icon
- = internal_icon
- Internal
- .pull-right.hidden-sm.hidden-xs
- %pre.public-clone git clone #{project.http_url_to_repo}
-
- - if project.description.present?
- %p
- = project.description
-
- .repo-info
- - unless project.empty_repo?
- = link_to pluralize(project.repository.round_commit_count, 'commit'), project_commits_path(project, project.default_branch)
- &middot;
- = link_to pluralize(project.repository.branch_names.count, 'branch'), project_branches_path(project)
- &middot;
- = link_to pluralize(project.repository.tag_names.count, 'tag'), project_tags_path(project)
- - else
- %i.icon-warning-sign
- Empty repository
+ = render @projects
- unless @projects.present?
.nothing-here-block No public projects
diff --git a/app/views/explore/projects/trending.html.haml b/app/views/explore/projects/trending.html.haml
new file mode 100644
index 00000000000..5b28273d5dd
--- /dev/null
+++ b/app/views/explore/projects/trending.html.haml
@@ -0,0 +1,11 @@
+.explore-trending-block
+ %p.lead
+ %i.icon-comments-alt
+ See most discussed projects for last month
+ %hr
+ .public-projects
+ %ul.bordered-list
+ = render @trending_projects
+
+ .center
+ = link_to 'Show all projects', public_projects_path, class: 'btn btn-primary'
diff --git a/app/views/layouts/_head_panel.html.haml b/app/views/layouts/_head_panel.html.haml
index fba56b5dc3b..7c727aca785 100644
--- a/app/views/layouts/_head_panel.html.haml
+++ b/app/views/layouts/_head_panel.html.haml
@@ -24,7 +24,7 @@
'data-original-title' => 'Help' do
%i.icon-question-sign
%li
- = link_to public_root_path, title: "Public area", class: 'has_bottom_tooltip', 'data-original-title' => 'Public area' do
+ = link_to explore_root_path, title: "Explore", class: 'has_bottom_tooltip', 'data-original-title' => 'Public area' do
%i.icon-globe
%li
= link_to user_snippets_path(current_user), title: "My snippets", class: 'has_bottom_tooltip', 'data-original-title' => 'My snippets' do
diff --git a/app/views/layouts/devise.html.haml b/app/views/layouts/devise.html.haml
index 852352a5004..00b1959912f 100644
--- a/app/views/layouts/devise.html.haml
+++ b/app/views/layouts/devise.html.haml
@@ -33,6 +33,6 @@
%hr
.container
.footer-links
- = link_to "Explore", public_explore_path
+ = link_to "Explore", explore_root_path
= link_to "Documentation", "http://doc.gitlab.com/"
= link_to "About GitLab", "https://about.gitlab.com/"
diff --git a/app/views/layouts/public.html.haml b/app/views/layouts/explore.html.haml
index 9d76c239999..73b4940e3d3 100644
--- a/app/views/layouts/public.html.haml
+++ b/app/views/layouts/explore.html.haml
@@ -18,11 +18,11 @@
%ul.nav.nav-tabs
- = nav_link(controller: :explore) do
- = link_to 'Trending Projects', public_explore_path
- = nav_link(controller: :projects) do
- = link_to 'All Projects', public_projects_path
+ = nav_link(path: 'projects#trending') do
+ = link_to 'Trending Projects', explore_root_path
+ = nav_link(path: 'projects#index') do
+ = link_to 'All Projects', explore_projects_path
= nav_link(controller: :groups) do
- = link_to 'All Groups', public_groups_path
+ = link_to 'All Groups', explore_groups_path
= yield
diff --git a/app/views/layouts/public_groups.html.haml b/app/views/layouts/public_groups.html.haml
deleted file mode 100644
index bfa37b067b9..00000000000
--- a/app/views/layouts/public_groups.html.haml
+++ /dev/null
@@ -1,11 +0,0 @@
-!!! 5
-%html{ lang: "en"}
- = render "layouts/head", title: "Public Groups"
- %body{class: "#{app_theme} application", :'data-page' => body_data_page}
- = render "layouts/broadcast"
- - if current_user
- = render "layouts/head_panel", title: "Public Groups"
- - else
- = render "layouts/public_head_panel", title: "Public Groups"
- .container.navless-container
- .content= yield
diff --git a/app/views/public/explore/index.html.haml b/app/views/public/explore/index.html.haml
deleted file mode 100644
index 8e29ef53565..00000000000
--- a/app/views/public/explore/index.html.haml
+++ /dev/null
@@ -1,18 +0,0 @@
-.explore-trending-block
- %p.lead
- %i.icon-comments-alt
- See most discussed projects for last month
- %hr
- %ul.bordered-list
- - @trending_projects.each do |project|
- %li
- %h4.project-title
- .project-access-icon
- = visibility_level_icon(project.visibility_level)
- = link_to project.name_with_namespace, project
-
- .project-description
- = project.description
-
- .center
- = link_to 'Show all projects', public_projects_path, class: 'btn btn-primary'
diff --git a/config/routes.rb b/config/routes.rb
index a8c782ecbf2..f54f9ea5341 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -47,15 +47,23 @@ Gitlab::Application.routes.draw do
get "/s/:username" => "snippets#user_index", as: :user_snippets, constraints: { username: /.*/ }
#
- # Public namespace
+ # Explroe area
#
- namespace :public do
- resources :projects, only: [:index]
+ namespace :explore do
+ resources :projects, only: [:index] do
+ collection do
+ get :trending
+ end
+ end
+
resources :groups, only: [:index]
- get 'explore' => 'explore#index'
- root to: "explore#index"
+ root to: "projects#trending"
end
+ # Compatibility with old routing
+ get 'public' => "explore/projects#index"
+ get 'public/projects' => "explore/projects#index"
+
#
# Attachments serving
#