Fixed that project is ignored when entering an issue id on /time_entries/new form (#10020).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8693 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
41e82c4598
commit
13f28858ba
|
@ -262,12 +262,14 @@ private
|
||||||
end
|
end
|
||||||
|
|
||||||
def find_project
|
def find_project
|
||||||
|
if (project_id = (params[:project_id] || params[:time_entry] && params[:time_entry][:project_id])).present?
|
||||||
|
@project = Project.find(project_id)
|
||||||
|
end
|
||||||
if (issue_id = (params[:issue_id] || params[:time_entry] && params[:time_entry][:issue_id])).present?
|
if (issue_id = (params[:issue_id] || params[:time_entry] && params[:time_entry][:issue_id])).present?
|
||||||
@issue = Issue.find(issue_id)
|
@issue = Issue.find(issue_id)
|
||||||
@project = @issue.project
|
@project ||= @issue.project
|
||||||
elsif (project_id = (params[:project_id] || params[:time_entry] && params[:time_entry][:project_id])).present?
|
end
|
||||||
@project = Project.find(project_id)
|
if @project.nil?
|
||||||
else
|
|
||||||
render_404
|
render_404
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
|
@ -209,6 +209,20 @@ class TimelogControllerTest < ActionController::TestCase
|
||||||
assert_equal 1, time_entry.project_id
|
assert_equal 1, time_entry.project_id
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_create_without_project_should_fail_with_issue_not_inside_project
|
||||||
|
@request.session[:user_id] = 2
|
||||||
|
assert_no_difference 'TimeEntry.count' do
|
||||||
|
post :create, :time_entry => {:project_id => '1',
|
||||||
|
:activity_id => '11',
|
||||||
|
:issue_id => '5',
|
||||||
|
:spent_on => '2008-03-14',
|
||||||
|
:hours => '7.3'}
|
||||||
|
end
|
||||||
|
|
||||||
|
assert_response :success
|
||||||
|
assert assigns(:time_entry).errors[:issue_id].present?
|
||||||
|
end
|
||||||
|
|
||||||
def test_create_without_project_should_deny_without_permission
|
def test_create_without_project_should_deny_without_permission
|
||||||
@request.session[:user_id] = 2
|
@request.session[:user_id] = 2
|
||||||
Project.find(3).disable_module!(:time_tracking)
|
Project.find(3).disable_module!(:time_tracking)
|
||||||
|
|
Loading…
Reference in New Issue