Skip to content

Commit 3fa64ce

Browse files
masaballcjcolvar
authored andcommitted
Move cannot? update ability check back to top level of loop
1 parent 2404157 commit 3fa64ce

File tree

1 file changed

+21
-20
lines changed

1 file changed

+21
-20
lines changed

app/controllers/media_objects_controller.rb

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -416,29 +416,30 @@ def update_status
416416
media_objects = MediaObject.find(Array(params[:id]))
417417
media_objects.each do |media_object|
418418
id = media_object.id
419-
begin
420-
case status
421-
when 'publish'
422-
if cannot? :update, media_object
423-
errors += ["#{media_object&.title} (#{id}) (permission denied)."]
424-
next
425-
elsif media_object.title.blank?
426-
errors += ["#{media_object&.title} (#{id}) (missing required fields)"]
427-
next
428-
end
429-
media_object.avalon_publisher = user_key.presence
430-
media_object.save!
431-
success_count += 1
432-
when 'unpublish'
433-
if can? :unpublish, media_object
434-
media_object.publish!(nil, validate: false)
419+
if cannot? :update, media_object
420+
errors += ["#{media_object&.title} (#{id}) (permission denied)."]
421+
else
422+
begin
423+
case status
424+
when 'publish'
425+
if media_object.title.blank?
426+
errors += ["#{media_object&.title} (#{id}) (missing required fields)"]
427+
next
428+
end
429+
media_object.avalon_publisher = user_key.presence
430+
media_object.save!
435431
success_count += 1
436-
else
437-
errors += ["#{media_object&.title} (#{id}) (permission denied)."]
432+
when 'unpublish'
433+
if can? :unpublish, media_object
434+
media_object.publish!(nil, validate: false)
435+
success_count += 1
436+
else
437+
errors += ["#{media_object&.title} (#{id}) (permission denied)."]
438+
end
438439
end
440+
rescue ActiveFedora::RecordInvalid => e
441+
errors += [e.message]
439442
end
440-
rescue ActiveFedora::RecordInvalid => e
441-
errors += [e.message]
442443
end
443444
end
444445
message = if errors.count.positive?

0 commit comments

Comments
 (0)