Commit e59e48d75a1fba2e0c840acd5bf5125af610297e
Exists in
spb-stable
and in
2 other branches
Merge branch 'fix-500-admin-transfer' into 'master'
Fix 500 error when transfer project from admin area Fixes #1349
Showing
3 changed files
with
34 additions
and
6 deletions
Show diff stats
app/controllers/admin/projects_controller.rb
... | ... | @@ -23,13 +23,9 @@ class Admin::ProjectsController < Admin::ApplicationController |
23 | 23 | end |
24 | 24 | |
25 | 25 | def transfer |
26 | - result = ::Projects::TransferService.new(@project, current_user, project: params).execute(:admin) | |
26 | + ::Projects::TransferService.new(@project, current_user, params.dup).execute | |
27 | 27 | |
28 | - if result | |
29 | - redirect_to [:admin, @project] | |
30 | - else | |
31 | - render :show | |
32 | - end | |
28 | + redirect_to [:admin, @project.reload] | |
33 | 29 | end |
34 | 30 | |
35 | 31 | protected | ... | ... |
features/admin/projects.feature
... | ... | @@ -12,3 +12,9 @@ Feature: Admin Projects |
12 | 12 | When I visit admin projects page |
13 | 13 | And I click on first project |
14 | 14 | Then I should see project details |
15 | + | |
16 | + Scenario: Transfer project | |
17 | + Given group 'Web' | |
18 | + And I visit admin project page | |
19 | + When I transfer project to group 'Web' | |
20 | + Then I should see project transfered | ... | ... |
features/steps/admin/projects.rb
... | ... | @@ -19,4 +19,30 @@ class AdminProjects < Spinach::FeatureSteps |
19 | 19 | page.should have_content(project.name_with_namespace) |
20 | 20 | page.should have_content(project.creator.name) |
21 | 21 | end |
22 | + | |
23 | + step 'I visit admin project page' do | |
24 | + visit admin_project_path(project) | |
25 | + end | |
26 | + | |
27 | + step 'I transfer project to group \'Web\'' do | |
28 | + find(:xpath, "//input[@id='namespace_id']").set group.id | |
29 | + click_button 'Transfer' | |
30 | + end | |
31 | + | |
32 | + step 'group \'Web\'' do | |
33 | + create(:group, name: 'Web') | |
34 | + end | |
35 | + | |
36 | + step 'I should see project transfered' do | |
37 | + page.should have_content 'Web / ' + project.name | |
38 | + page.should have_content 'Namespace: Web' | |
39 | + end | |
40 | + | |
41 | + def project | |
42 | + @project ||= Project.first | |
43 | + end | |
44 | + | |
45 | + def group | |
46 | + Group.find_by(name: 'Web') | |
47 | + end | |
22 | 48 | end | ... | ... |