Refactor: Split VersionsController#edit into #edit and #update
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4088 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
cdfc57d544
commit
be6e0927f3
|
@ -89,6 +89,9 @@ class VersionsController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def edit
|
def edit
|
||||||
|
end
|
||||||
|
|
||||||
|
def update
|
||||||
if request.post? && params[:version]
|
if request.post? && params[:version]
|
||||||
attributes = params[:version].dup
|
attributes = params[:version].dup
|
||||||
attributes.delete('sharing') unless @version.allowed_sharings.include?(attributes['sharing'])
|
attributes.delete('sharing') unless @version.allowed_sharings.include?(attributes['sharing'])
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<h2><%=l(:label_version)%></h2>
|
<h2><%=l(:label_version)%></h2>
|
||||||
|
|
||||||
<% labelled_tabular_form_for :version, @version, :url => { :action => 'edit' } do |f| %>
|
<% labelled_tabular_form_for :version, @version, :url => { :action => 'update', :id => @version } do |f| %>
|
||||||
<%= render :partial => 'form', :locals => { :f => f } %>
|
<%= render :partial => 'form', :locals => { :f => f } %>
|
||||||
<%= submit_tag l(:button_save) %>
|
<%= submit_tag l(:button_save) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
|
@ -205,7 +205,10 @@ ActionController::Routing::Routes.draw do |map|
|
||||||
map.with_options :controller => 'versions' do |versions|
|
map.with_options :controller => 'versions' do |versions|
|
||||||
versions.connect 'projects/:project_id/versions/new', :action => 'new'
|
versions.connect 'projects/:project_id/versions/new', :action => 'new'
|
||||||
versions.connect 'projects/:project_id/roadmap', :action => 'index'
|
versions.connect 'projects/:project_id/roadmap', :action => 'index'
|
||||||
|
versions.connect 'versions/:action/:id', :conditions => {:method => :get}
|
||||||
|
|
||||||
versions.with_options :conditions => {:method => :post} do |version_actions|
|
versions.with_options :conditions => {:method => :post} do |version_actions|
|
||||||
|
version_actions.connect 'versions/update/:id', :action => 'update'
|
||||||
version_actions.connect 'projects/:project_id/versions/close_completed', :action => 'close_completed'
|
version_actions.connect 'projects/:project_id/versions/close_completed', :action => 'close_completed'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -50,7 +50,7 @@ Redmine::AccessControl.map do |map|
|
||||||
map.permission :edit_project, {:projects => [:settings, :edit, :update]}, :require => :member
|
map.permission :edit_project, {:projects => [:settings, :edit, :update]}, :require => :member
|
||||||
map.permission :select_project_modules, {:projects => :modules}, :require => :member
|
map.permission :select_project_modules, {:projects => :modules}, :require => :member
|
||||||
map.permission :manage_members, {:projects => :settings, :members => [:new, :edit, :destroy, :autocomplete_for_member]}, :require => :member
|
map.permission :manage_members, {:projects => :settings, :members => [:new, :edit, :destroy, :autocomplete_for_member]}, :require => :member
|
||||||
map.permission :manage_versions, {:projects => :settings, :versions => [:new, :edit, :close_completed, :destroy]}, :require => :member
|
map.permission :manage_versions, {:projects => :settings, :versions => [:new, :edit, :update, :close_completed, :destroy]}, :require => :member
|
||||||
map.permission :add_subprojects, {:projects => [:new, :create]}, :require => :member
|
map.permission :add_subprojects, {:projects => [:new, :create]}, :require => :member
|
||||||
|
|
||||||
map.project_module :issue_tracking do |map|
|
map.project_module :issue_tracking do |map|
|
||||||
|
|
|
@ -113,9 +113,9 @@ class VersionsControllerTest < ActionController::TestCase
|
||||||
assert_not_nil Version.find_by_status('closed')
|
assert_not_nil Version.find_by_status('closed')
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_post_edit
|
def test_post_update
|
||||||
@request.session[:user_id] = 2
|
@request.session[:user_id] = 2
|
||||||
post :edit, :id => 2,
|
post :update, :id => 2,
|
||||||
:version => { :name => 'New version name',
|
:version => { :name => 'New version name',
|
||||||
:effective_date => Date.today.strftime("%Y-%m-%d")}
|
:effective_date => Date.today.strftime("%Y-%m-%d")}
|
||||||
assert_redirected_to :controller => 'projects', :action => 'settings', :tab => 'versions', :id => 'ecookbook'
|
assert_redirected_to :controller => 'projects', :action => 'settings', :tab => 'versions', :id => 'ecookbook'
|
||||||
|
|
|
@ -251,10 +251,16 @@ class RoutingTest < ActionController::IntegrationTest
|
||||||
should_route :post, "/users/567/memberships/12/destroy", :controller => 'users', :action => 'destroy_membership', :id => '567', :membership_id => '12'
|
should_route :post, "/users/567/memberships/12/destroy", :controller => 'users', :action => 'destroy_membership', :id => '567', :membership_id => '12'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# TODO: should they all be scoped under /projects/:project_id ?
|
||||||
context "versions" do
|
context "versions" do
|
||||||
should_route :get, "/projects/foo/versions/new", :controller => 'versions', :action => 'new', :project_id => 'foo'
|
should_route :get, "/projects/foo/versions/new", :controller => 'versions', :action => 'new', :project_id => 'foo'
|
||||||
|
should_route :get, "/versions/show/1", :controller => 'versions', :action => 'show', :id => '1'
|
||||||
|
should_route :get, "/versions/edit/1", :controller => 'versions', :action => 'edit', :id => '1'
|
||||||
|
|
||||||
should_route :post, "/projects/foo/versions/new", :controller => 'versions', :action => 'new', :project_id => 'foo'
|
should_route :post, "/projects/foo/versions/new", :controller => 'versions', :action => 'new', :project_id => 'foo'
|
||||||
|
should_route :post, "/versions/update/1", :controller => 'versions', :action => 'update', :id => '1'
|
||||||
|
|
||||||
|
should_route :delete, "/versions/destroy/1", :controller => 'versions', :action => 'destroy', :id => '1'
|
||||||
end
|
end
|
||||||
|
|
||||||
context "wiki (singular, project's pages)" do
|
context "wiki (singular, project's pages)" do
|
||||||
|
|
Loading…
Reference in New Issue