Skip to content

Commit 679240d

Browse files
committed
Protect names from batch claims
1 parent e6c1995 commit 679240d

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

app/models/tutorial/batch.rb

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ def genome_is_unique?(name)
111111

112112
def check_ephemeral_names(user)
113113
@check_ephemeral_names ||= :pending
114-
return ephemeral_names if @check_names == :done
114+
return ephemeral_names if @check_ephemeral_names == :done
115115

116116
name_names = ephemeral_names.map(&:name)
117117
ephemeral_names.each do |name|
@@ -174,7 +174,7 @@ def check_ephemeral_names(user)
174174
end
175175
end
176176
end
177-
@check_names = :done
177+
@check_ephemeral_names = :done
178178
end
179179

180180
def check_ephemeral_genomes(user)
@@ -312,8 +312,13 @@ def batch_step_01(params, user)
312312
# Claim/update or create
313313
name = Name.find_by_variants(par['name'])
314314
if name
315-
name.claim(user, false)
316-
name.update!(par)
315+
if name.can_claim?(user)
316+
name.claim(user, false)
317+
name.update!(par)
318+
else
319+
# The user does not have permissions to claim/update
320+
raise ActiveRecord::Rollback
321+
end
317322
else
318323
name = Name.create!(par)
319324
name.claim(user, false)

0 commit comments

Comments
 (0)