[#4181] Only show project members as Deliverable managers.
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
<% form.inputs do %>
|
<% form.inputs do %>
|
||||||
<%= form.input :title, :required => true %>
|
<%= form.input :title, :required => true %>
|
||||||
<%= form.input :type, :required => true, :as => :select, :collection => [["Fixed", "FixedDeliverable"]] %>
|
<%= form.input :type, :required => true, :as => :select, :collection => [["Fixed", "FixedDeliverable"]] %>
|
||||||
<%= form.input :manager, :required => true %>
|
<%= form.input :manager, :required => true, :collection => @project.users %>
|
||||||
<%= form.input :start_date, :as => :string, :input_html => {:size => 10}, :hint => calendar_for('deliverable_start_date') %>
|
<%= form.input :start_date, :as => :string, :input_html => {:size => 10}, :hint => calendar_for('deliverable_start_date') %>
|
||||||
<%= form.input :end_date, :as => :string, :input_html => {:size => 10}, :hint => calendar_for('deliverable_end_date') %>
|
<%= form.input :end_date, :as => :string, :input_html => {:size => 10}, :hint => calendar_for('deliverable_end_date') %>
|
||||||
<%= form.input :notes, :input_html => {:class => 'wiki-edit', :rows => '5'} %>
|
<%= form.input :notes, :input_html => {:class => 'wiki-edit', :rows => '5'} %>
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ class DeliverablesEditTest < ActionController::IntegrationTest
|
|||||||
@project = Project.generate!(:identifier => 'main')
|
@project = Project.generate!(:identifier => 'main')
|
||||||
@contract = Contract.generate!(:project => @project, :name => 'A Contract', :payment_terms => 'net_15')
|
@contract = Contract.generate!(:project => @project, :name => 'A Contract', :payment_terms => 'net_15')
|
||||||
@manager = User.generate!
|
@manager = User.generate!
|
||||||
|
@role = Role.generate!
|
||||||
|
User.add_to_project(@manager, @project, @role)
|
||||||
@deliverable = FixedDeliverable.generate!(:contract => @contract, :manager => @manager, :title => 'The Title')
|
@deliverable = FixedDeliverable.generate!(:contract => @contract, :manager => @manager, :title => 'The Title')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,34 @@ class DeliverablesNewTest < ActionController::IntegrationTest
|
|||||||
assert_select "form#new_deliverable"
|
assert_select "form#new_deliverable"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "show all members on the project as available managers" do
|
||||||
|
@member1 = User.generate!.reload
|
||||||
|
@member2 = User.generate!.reload
|
||||||
|
@member3 = User.generate!.reload
|
||||||
|
@nonmember1 = User.generate!
|
||||||
|
|
||||||
|
@role = Role.generate!
|
||||||
|
User.add_to_project(@member1, @project, @role)
|
||||||
|
User.add_to_project(@member2, @project, @role)
|
||||||
|
User.add_to_project(@member3, @project, @role)
|
||||||
|
|
||||||
|
visit_contract_page(@contract)
|
||||||
|
click_link 'Add New'
|
||||||
|
assert_response :success
|
||||||
|
|
||||||
|
assert_select "select#deliverable_manager_id" do
|
||||||
|
assert_select "option", :text => @member1.to_s
|
||||||
|
assert_select "option", :text => @member2.to_s
|
||||||
|
assert_select "option", :text => @member3.to_s
|
||||||
|
end
|
||||||
|
|
||||||
|
assert_select "select#deliverable_manager_id option", :text => @nonmember1.to_s, :count => 0
|
||||||
|
end
|
||||||
|
|
||||||
should "create a new Fixed deliverable" do
|
should "create a new Fixed deliverable" do
|
||||||
@manager = User.generate!
|
@manager = User.generate!
|
||||||
|
@role = Role.generate!
|
||||||
|
User.add_to_project(@manager, @project, @role)
|
||||||
|
|
||||||
visit_contract_page(@contract)
|
visit_contract_page(@contract)
|
||||||
click_link 'Add New'
|
click_link 'Add New'
|
||||||
|
|||||||
@@ -10,6 +10,10 @@ Webrat.configure do |config|
|
|||||||
config.mode = :rails
|
config.mode = :rails
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def User.add_to_project(user, project, role)
|
||||||
|
Member.generate!(:principal => user, :project => project, :roles => [role])
|
||||||
|
end
|
||||||
|
|
||||||
module IntegrationTestHelper
|
module IntegrationTestHelper
|
||||||
def login_as(user="existing", password="existing")
|
def login_as(user="existing", password="existing")
|
||||||
visit "/login"
|
visit "/login"
|
||||||
|
|||||||
Reference in New Issue
Block a user