[#2279] Select the Billable values based on the submitted form.
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
</label>
|
||||
<br />
|
||||
<%= select_tag('timesheet[billable][]',
|
||||
options_for_select(billable_values),
|
||||
options_for_select(billable_values, selected_values),
|
||||
{:multiple => true, :size => list_size}) %>
|
||||
|
||||
</p>
|
||||
|
||||
@@ -24,12 +24,21 @@ class OverheadTimesheetHook < Redmine::Hook::ViewListener
|
||||
# Added a new field for filtering based on "billable?"
|
||||
def plugin_timesheet_views_timesheet_form(context={})
|
||||
billable_values = select_values_for_field(TimeEntryActivity.billable_custom_field)
|
||||
if context[:params] &&
|
||||
context[:params][:timesheet] &&
|
||||
context[:params][:timesheet][:billable]
|
||||
selected_values = context[:params][:timesheet][:billable]
|
||||
else
|
||||
selected_values = []
|
||||
end
|
||||
|
||||
context[:controller].send(:render_to_string,
|
||||
:partial => 'timesheet/overhead_form',
|
||||
:layout => false,
|
||||
:locals => {
|
||||
:list_size => context[:list_size] || 5,
|
||||
:billable_values => billable_values
|
||||
:billable_values => billable_values,
|
||||
:selected_values => selected_values
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
@@ -77,5 +77,22 @@ describe OverheadTimesheetHook, "#plugin_timesheet_views_timesheet_form", :type
|
||||
end
|
||||
end
|
||||
|
||||
it 'should pre-select the values from the submission'
|
||||
it 'should pre-select the values from the submission' do
|
||||
@custom_field = mock_model(TimeEntryActivityCustomField,
|
||||
:possible_values => ['A','B','Nil'],
|
||||
:field_format => 'list')
|
||||
TimeEntryActivity.stub!(:billable_custom_field).and_return(@custom_field)
|
||||
|
||||
context = {
|
||||
:params => {:timesheet => {:billable => ['A','Nil']}}
|
||||
}
|
||||
|
||||
response = call_hook(:plugin_timesheet_views_timesheet_form, context)
|
||||
response.should have_tag('select') do
|
||||
with_tag('option[value=?][selected=selected]','A','A')
|
||||
with_tag('option[value=?]','B','B')
|
||||
with_tag('option[value=?][selected=selected]','Nil','none')
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user