@@ -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