Skip to content

Commit 79e7d57

Browse files
ishikawa999kfischer-okarin
authored andcommitted
Add WikiRedirectsController
1 parent b20f5c3 commit 79e7d57

File tree

3 files changed

+79
-0
lines changed

3 files changed

+79
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# frozen_string_literal: true
2+
3+
# Redmine - project management software
4+
# Copyright (C) 2006-2020 Jean-Philippe Lang
5+
#
6+
# This program is free software; you can redistribute it and/or
7+
# modify it under the terms of the GNU General Public License
8+
# as published by the Free Software Foundation; either version 2
9+
# of the License, or (at your option) any later version.
10+
#
11+
# This program is distributed in the hope that it will be useful,
12+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
# GNU General Public License for more details.
15+
#
16+
# You should have received a copy of the GNU General Public License
17+
# along with this program; if not, write to the Free Software
18+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19+
20+
class WikiRedirectsController < ApplicationController
21+
before_action :find_wiki_redirect
22+
23+
def destroy
24+
@wiki_redirect.destroy
25+
end
26+
27+
private
28+
def find_wiki_redirect
29+
@project = Project.find(params[:project_id])
30+
@wiki_redirect= WikiRedirect.find(params[:id])
31+
render_404 unless @wiki_redirect
32+
rescue ActiveRecord::RecordNotFound
33+
render_404
34+
end
35+
end

config/routes.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@
192192
get 'export'
193193
get 'date_index'
194194
post 'new'
195+
resources :redirects, controller: 'wiki_redirects', only: :destroy
195196
end
196197
end
197198
match 'wiki', :controller => 'wiki', :action => 'show', :via => :get
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# frozen_string_literal: true
2+
3+
# Redmine - project management software
4+
# Copyright (C) 2006-2020 Jean-Philippe Lang
5+
#
6+
# This program is free software; you can redistribute it and/or
7+
# modify it under the terms of the GNU General Public License
8+
# as published by the Free Software Foundation; either version 2
9+
# of the License, or (at your option) any later version.
10+
#
11+
# This program is distributed in the hope that it will be useful,
12+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
# GNU General Public License for more details.
15+
#
16+
# You should have received a copy of the GNU General Public License
17+
# along with this program; if not, write to the Free Software
18+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19+
20+
require File.expand_path('../../test_helper', __FILE__)
21+
22+
class WikiRedirectsControllerTest < Redmine::ControllerTest
23+
fixtures :projects, :users, :email_addresses, :roles, :members, :member_roles,
24+
:enabled_modules, :wikis, :wiki_pages, :wiki_contents,
25+
:wiki_content_versions, :attachments,
26+
:issues, :issue_statuses, :trackers
27+
28+
def setup
29+
#User.current = User.find(1)
30+
@request.session[:user_id] = 1
31+
end
32+
33+
def test_destroy
34+
wiki_page = WikiPage.find(2)
35+
36+
wiki_redirect = WikiRedirect.create!(wiki_id: 1, title: 'Test', redirects_to: wiki_page.title, redirects_to_wiki_id: 1)
37+
38+
delete :destroy, params: { id: wiki_redirect.id, project_id: wiki_page.wiki.project_id }
39+
40+
# WikiRedirectが消えていること
41+
assert_not WikiRedirect.where(id: wiki_redirect.id).exists?
42+
end
43+
end

0 commit comments

Comments
 (0)