mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-14 20:24:03 +00:00
use sample user for scheduled events without user
This commit is contained in:
parent
b5b85ede71
commit
e0778a94de
1 changed files with 32 additions and 3 deletions
|
|
@ -1,11 +1,40 @@
|
||||||
class DeleteEventsWithoutUser < ActiveRecord::Migration
|
class DeleteEventsWithoutUser < ActiveRecord::Migration
|
||||||
|
|
||||||
def up
|
def up
|
||||||
# User deletion without all the proper dependent: :destroy options might have left
|
# User deletion without all the proper dependent: :destroy options might have left
|
||||||
# Events without a submitter (event_user association is deleted, but Event itslef is not)
|
# Events without a submitter (event_user association is deleted, but Event itslef is not)
|
||||||
Event.all.each do |event|
|
Event.all.each do |event|
|
||||||
if event.users.blank?
|
if event.submitter.blank? || event.speakers.first.blank?
|
||||||
event.destroy
|
if event.start_time.present? # If event is scheduled
|
||||||
|
|
||||||
|
# Create dummy user
|
||||||
|
unless (user = User.find_by(email: 'deleted@localhost.com'))
|
||||||
|
user = User.new(email: 'deleted@localhost.com', name: 'User deleted',
|
||||||
|
biography: 'Data is no longer available for deleted user.',
|
||||||
|
password: Devise.friendly_token[0, 20])
|
||||||
|
user.skip_confirmation!
|
||||||
|
user.save!
|
||||||
|
end
|
||||||
|
|
||||||
|
# Event without submitter
|
||||||
|
unless event.event_users.where(event_role: 'submitter').present?
|
||||||
|
event.event_users.create!(user: user, event_role: 'submitter')
|
||||||
|
end
|
||||||
|
|
||||||
|
# Event without speaker
|
||||||
|
unless event.event_users.where(event_role: 'speaker').present?
|
||||||
|
event.event_users.create!(user: user, event_role: 'speaker')
|
||||||
|
end
|
||||||
|
|
||||||
|
event.event_users.each do |eu|
|
||||||
|
unless eu.user.present?
|
||||||
|
eu.user = user
|
||||||
|
eu.save!
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
else
|
||||||
|
event.destroy
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue