Feature #36823 » 0001-allow-imported-time-entries-to-override-the-selected.patch
| app/models/time_entry_import.rb | ||
|---|---|---|
| 105 | 105 |
end |
| 106 | 106 | |
| 107 | 107 |
attributes = {
|
| 108 |
:project_id => project.id, |
|
| 109 | 108 |
:activity_id => activity_id, |
| 110 | 109 |
:author_id => user.id, |
| 111 | 110 |
:user_id => user_id, |
| 112 | 111 | |
| 113 |
:issue_id => row_value(row, 'issue_id'), |
|
| 114 | 112 |
:spent_on => row_date(row, 'spent_on'), |
| 115 | 113 |
:hours => row_value(row, 'hours'), |
| 116 | 114 |
:comments => row_value(row, 'comments') |
| 117 | 115 |
} |
| 118 | 116 | |
| 117 |
if issue_id = row_value(row, 'issue_id').presence |
|
| 118 |
attributes[:issue_id] = issue_id |
|
| 119 |
else |
|
| 120 |
attributes[:project_id] = project.id |
|
| 121 |
end |
|
| 122 | ||
| 119 | 123 |
attributes['custom_field_values'] = object.custom_field_values.inject({}) do |h, v|
|
| 120 | 124 |
value = |
| 121 | 125 |
case v.custom_field.field_format |
| test/unit/time_entry_import_test.rb | ||
|---|---|---|
| 165 | 165 |
assert_equal 2, fourth.user_id |
| 166 | 166 |
end |
| 167 | 167 | |
| 168 |
def test_imports_timelogs_for_issues_in_other_project |
|
| 169 |
import = generate_import |
|
| 170 |
import.settings = {
|
|
| 171 |
'separator' => ';', 'wrapper' => '"', 'encoding' => 'UTF-8', |
|
| 172 |
'mapping' => {
|
|
| 173 |
'project_id' => '3', |
|
| 174 |
'activity' => 'value:10', |
|
| 175 |
'issue_id' => '1', |
|
| 176 |
'spent_on' => '2', |
|
| 177 |
'hours' => '3', |
|
| 178 |
'comments' => '4', |
|
| 179 |
'user' => '7' |
|
| 180 |
} |
|
| 181 |
} |
|
| 182 |
import.save! |
|
| 183 |
first, second, third, fourth = new_records(TimeEntry, 4) {import.run}
|
|
| 184 |
assert_equal 3, first.project_id |
|
| 185 |
assert_equal 3, second.project_id |
|
| 186 |
assert_equal 1, third.project_id |
|
| 187 |
assert_equal 1, fourth.project_id |
|
| 188 |
end |
|
| 189 | ||
| 168 | 190 |
protected |
| 169 | 191 | |
| 170 | 192 |
def generate_import(fixture_name='import_time_entries.csv') |