From 57f3409bcc6a4bee6bc29f8cd03f501c117655b0 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Tue, 19 Mar 2013 12:35:42 +0200 Subject: [PATCH] move Wall to own resource --- app/controllers/projects_controller.rb | 16 ---------------- app/controllers/walls_controller.rb | 20 ++++++++++++++++++++ app/helpers/application_helper.rb | 2 +- app/views/layouts/project_resource.html.haml | 2 +- app/views/projects/wall.html.haml | 2 -- app/views/walls/show.html.haml | 11 +++++++++++ config/routes.rb | 11 ++++++----- 7 files changed, 39 insertions(+), 25 deletions(-) create mode 100644 app/controllers/walls_controller.rb delete mode 100644 app/views/projects/wall.html.haml create mode 100644 app/views/walls/show.html.haml diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index b4fb3de317c..f2718344a3d 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -68,22 +68,6 @@ class ProjectsController < ProjectResourceController end end - # - # Wall - # - - def wall - return render_404 unless @project.wall_enabled - - @target_type = :wall - @target_id = nil - @note = @project.notes.new - - respond_to do |format| - format.html - end - end - def destroy return access_denied! unless can?(current_user, :remove_project, project) diff --git a/app/controllers/walls_controller.rb b/app/controllers/walls_controller.rb new file mode 100644 index 00000000000..5993a5e2409 --- /dev/null +++ b/app/controllers/walls_controller.rb @@ -0,0 +1,20 @@ +class WallsController < ProjectResourceController + before_filter :module_enabled + + respond_to :js, :html + + def show + @note = @project.notes.new + + respond_to do |format| + format.html + end + end + + protected + + def module_enabled + return render_404 unless @project.wall_enabled + end +end + diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index fd8f2c4d3ea..f03039e4b75 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -105,7 +105,7 @@ module ApplicationHelper { label: "#{simple_sanitize(@project.name_with_namespace)} - Snippets", url: project_snippets_path(@project) }, { label: "#{simple_sanitize(@project.name_with_namespace)} - Team", url: project_team_index_path(@project) }, { label: "#{simple_sanitize(@project.name_with_namespace)} - Tree", url: project_tree_path(@project, @ref || @project.repository.root_ref) }, - { label: "#{simple_sanitize(@project.name_with_namespace)} - Wall", url: wall_project_path(@project) }, + { label: "#{simple_sanitize(@project.name_with_namespace)} - Wall", url: project_wall_path(@project) }, { label: "#{simple_sanitize(@project.name_with_namespace)} - Wiki", url: project_wikis_path(@project) }, ] end diff --git a/app/views/layouts/project_resource.html.haml b/app/views/layouts/project_resource.html.haml index 7de5cb61273..568693356f9 100644 --- a/app/views/layouts/project_resource.html.haml +++ b/app/views/layouts/project_resource.html.haml @@ -41,7 +41,7 @@ - if @project.wall_enabled = nav_link(path: 'projects#wall') do - = link_to 'Wall', wall_project_path(@project) + = link_to 'Wall', project_wall_path(@project) - if @project.snippets_enabled = nav_link(controller: :snippets) do diff --git a/app/views/projects/wall.html.haml b/app/views/projects/wall.html.haml deleted file mode 100644 index 82b565def43..00000000000 --- a/app/views/projects/wall.html.haml +++ /dev/null @@ -1,2 +0,0 @@ -%div.wall_page - = render "notes/reversed_notes_with_form" diff --git a/app/views/walls/show.html.haml b/app/views/walls/show.html.haml new file mode 100644 index 00000000000..525cb2da3e0 --- /dev/null +++ b/app/views/walls/show.html.haml @@ -0,0 +1,11 @@ +%div.wall-page + %ul.well-list.notes + .notes-busy.js-notes-busy + + .js-main-target-form + = render "notes/form" + +:javascript + $(function(){ + Wall.init(#{@project.id}); + }); diff --git a/config/routes.rb b/config/routes.rb index 2e6d31c23e1..0028baf8d53 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -167,11 +167,6 @@ Gitlab::Application.routes.draw do # Project Area # resources :projects, constraints: { id: /(?:[a-zA-Z.0-9_\-]+\/)?[a-zA-Z.0-9_\-]+/ }, except: [:new, :create, :index], path: "/" do - member do - get "wall" - get "files" - end - resources :blob, only: [:show], constraints: {id: /.+/} resources :tree, only: [:show, :edit, :update], constraints: {id: /.+/} resources :commit, only: [:show], constraints: {id: /[[:alnum:]]{6,40}/} @@ -194,6 +189,12 @@ Gitlab::Application.routes.draw do end end + resource :wall, only: [:show] do + member do + get 'notes' + end + end + resource :repository do member do get "branches"