Fix preview silently failing when announcement has carousel images

This commit is contained in:
rulingcom 2026-07-06 16:39:13 +08:00
parent 3990e89f57
commit aa02417ee8
1 changed files with 24 additions and 0 deletions

View File

@ -581,9 +581,33 @@ class Admin::AnnouncementsController < OrbitAdminController
bulletin.bulletin_links << link
end
end
if !bulletin_data['bulletin_carousel_images_attributes'].blank?
bulletin.bulletin_carousel_images = []
bulletin_data['bulletin_carousel_images_attributes'].each do |key, carousel_image|
next if !carousel_image['_destroy'].blank?
image = nil
if carousel_image['id'].blank?
image = BulletinCarouselImage.new(carousel_image)
image.bulletin_id = bulletin.id
image.save
else
org_image = BulletinCarouselImage.find(carousel_image['id'])
image = org_image.clone
image.bulletin_id = bulletin.id
image.file = org_image.file
carousel_image.delete('id')
carousel_image.delete('_destroy')
image.update_attributes(carousel_image)
end
image.save
bulletin.bulletin_carousel_images << image
end
end
bulletin_data.delete('bulletin_files_attributes')
bulletin_data.delete('bulletin_links_attributes')
bulletin_data.delete('bulletin_carousel_images_attributes')
bulletin.update_attributes(bulletin_data)
bulletin.copy_id = params['bulletin_id']
else