@@ -204,9 +204,10 class ProjectsController < ApplicationController | |||||
204 | end |
|
204 | end | |
205 | end |
|
205 | end | |
206 | end |
|
206 | end | |
207 |
|
207 | |||
|
208 | verify :method => :post, :only => :modules, :render => {:nothing => true, :status => :method_not_allowed } | |||
208 | def modules |
|
209 | def modules | |
209 | @project.enabled_module_names = params[:enabled_modules] |
|
210 | @project.enabled_module_names = params[:enabled_module_names] | |
210 | flash[:notice] = l(:notice_successful_update) |
|
211 | flash[:notice] = l(:notice_successful_update) | |
211 | redirect_to :action => 'settings', :id => @project, :tab => 'modules' |
|
212 | redirect_to :action => 'settings', :id => @project, :tab => 'modules' | |
212 | end |
|
213 | end |
@@ -7,7 +7,7 | |||||
7 | <legend><%= l(:text_select_project_modules) %></legend> |
|
7 | <legend><%= l(:text_select_project_modules) %></legend> | |
8 |
|
8 | |||
9 | <% Redmine::AccessControl.available_project_modules.each do |m| %> |
|
9 | <% Redmine::AccessControl.available_project_modules.each do |m| %> | |
10 | <p><label><%= check_box_tag 'enabled_modules[]', m, @project.module_enabled?(m) -%> |
|
10 | <p><label><%= check_box_tag 'enabled_module_names[]', m, @project.module_enabled?(m) -%> | |
11 | <%= l_or_humanize(m, :prefix => "project_module_") %></label></p> |
|
11 | <%= l_or_humanize(m, :prefix => "project_module_") %></label></p> | |
12 | <% end %> |
|
12 | <% end %> | |
13 | </fieldset> |
|
13 | </fieldset> |
@@ -288,15 +288,10 class ProjectsControllerTest < ActionController::TestCase | |||||
288 | end |
|
288 | end | |
289 | end |
|
289 | end | |
290 |
|
290 | |||
291 | context "GET :create" do |
|
291 | def test_create_should_not_accept_get | |
292 | setup do |
|
292 | @request.session[:user_id] = 1 | |
293 | @request.session[:user_id] = 1 |
|
293 | get :create | |
294 | end |
|
294 | assert_response :method_not_allowed | |
295 |
|
||||
296 | should "not be allowed" do |
|
|||
297 | get :create |
|
|||
298 | assert_response :method_not_allowed |
|
|||
299 | end |
|
|||
300 | end |
|
295 | end | |
301 |
|
296 | |||
302 | def test_show_by_id |
|
297 | def test_show_by_id | |
@@ -376,6 +371,21 class ProjectsControllerTest < ActionController::TestCase | |||||
376 | project = Project.find(1) |
|
371 | project = Project.find(1) | |
377 | assert_equal 'Test changed name', project.name |
|
372 | assert_equal 'Test changed name', project.name | |
378 | end |
|
373 | end | |
|
374 | ||||
|
375 | def test_modules | |||
|
376 | @request.session[:user_id] = 2 | |||
|
377 | Project.find(1).enabled_module_names = ['issue_tracking', 'news'] | |||
|
378 | ||||
|
379 | post :modules, :id => 1, :enabled_module_names => ['issue_tracking', 'repository', 'documents'] | |||
|
380 | assert_redirected_to '/projects/ecookbook/settings/modules' | |||
|
381 | assert_equal ['documents', 'issue_tracking', 'repository'], Project.find(1).enabled_module_names.sort | |||
|
382 | end | |||
|
383 | ||||
|
384 | def test_modules_should_not_allow_get | |||
|
385 | @request.session[:user_id] = 1 | |||
|
386 | get :modules, :id => 1 | |||
|
387 | assert_response :method_not_allowed | |||
|
388 | end | |||
379 |
|
389 | |||
380 | def test_get_destroy |
|
390 | def test_get_destroy | |
381 | @request.session[:user_id] = 1 # admin |
|
391 | @request.session[:user_id] = 1 # admin |
General Comments 0
You need to be logged in to leave comments.
Login now