Skip to content

Commit 75ce956

Browse files
committed
Fix batch uploads
An issue was preventing names to be linked to their nomenclatural types
1 parent f0ffcc1 commit 75ce956

1 file changed

Lines changed: 19 additions & 11 deletions

File tree

app/models/tutorial/batch.rb

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,10 @@ def batch_step_01(params, user)
304304
param_names.each do |par_ori|
305305
# Remove foreign keys in first pass
306306
par = par_ori.dup
307-
par['parent'] = nil
307+
%w[
308+
parent nomenclatural_type_entry nomenclatural_type_type
309+
nomenclatural_type_id nomenclatural_type
310+
].each { |i| par.delete(i) }
308311

309312
# Claim/update or create
310313
name = Name.find_by_variants(par['name'])
@@ -332,16 +335,21 @@ def batch_step_01(params, user)
332335
end
333336
end
334337

335-
# Type names
336-
if par['nomenclatural_type_type'].to_s.downcase == 'name' &&
337-
par['nomenclatural_type_entry'].present?
338-
new_par[:nomenclatural_type] =
339-
Name.find_by_variants(par['nomenclatural_type_entry'])
340-
# Deal with legacy type accession definitions
341-
if new_par[:type_accession].present?
342-
name = Name.new(default_pars.merge(name: par['type_material']))
343-
name.save!
344-
new_par[:type_accession] = name.id
338+
# Nomenclatural types
339+
if par['nomenclatural_type_entry'].present?
340+
case par['nomenclatural_type_type'].to_s.downcase
341+
when 'name'
342+
new_par[:nomenclatural_type] =
343+
Name.find_by_variants(par['nomenclatural_type_entry'])
344+
# Deal with legacy type accession definitions
345+
if new_par[:type_accession].present?
346+
name = Name.new(default_pars.merge(name: par['type_material']))
347+
name.save!
348+
new_par[:type_accession] = name.id
349+
end
350+
else
351+
new_par[:nomenclatural_type_type] = par['nomenclatural_type_type']
352+
new_par[:nomenclatural_type_entry] = par['nomenclatural_type_entry']
345353
end
346354
end
347355

0 commit comments

Comments
 (0)