From b5b85ede71f5df8b613bdff03363bb122cef6bce Mon Sep 17 00:00:00 2001 From: Stella Rouzi Date: Thu, 17 Jul 2014 16:48:27 +0300 Subject: [PATCH 01/17] delete events without submitter --- app/models/event.rb | 2 +- .../20140717110124_delete_events_without_user.rb | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20140717110124_delete_events_without_user.rb diff --git a/app/models/event.rb b/app/models/event.rb index 0ac54592..92bfeb15 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -13,7 +13,7 @@ class Event < ActiveRecord::Base has_many :event_attachments, dependent: :destroy has_many :users, through: :event_users has_many :speakers, through: :event_users, source: :user - has_many :votes + has_many :votes, dependent: :destroy has_many :voters, through: :votes, source: :user has_many :commercials, as: :commercialable, dependent: :destroy belongs_to :event_type diff --git a/db/migrate/20140717110124_delete_events_without_user.rb b/db/migrate/20140717110124_delete_events_without_user.rb new file mode 100644 index 00000000..44f0fa68 --- /dev/null +++ b/db/migrate/20140717110124_delete_events_without_user.rb @@ -0,0 +1,16 @@ +class DeleteEventsWithoutUser < ActiveRecord::Migration + + def up + # 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) + Event.all.each do |event| + if event.users.blank? + event.destroy + end + end + end + + def down + raise ActiveRecord::IrreversibleMigration, 'Cannot reverse migration. Events deleted cannot be re-created' + end +end From e0778a94de8fec04bff56f99221e972c5d712dae Mon Sep 17 00:00:00 2001 From: Stella Rouzi Date: Tue, 29 Jul 2014 21:50:21 +0300 Subject: [PATCH 02/17] use sample user for scheduled events without user --- ...140717110124_delete_events_without_user.rb | 35 +++++++++++++++++-- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/db/migrate/20140717110124_delete_events_without_user.rb b/db/migrate/20140717110124_delete_events_without_user.rb index 44f0fa68..751d2f3a 100644 --- a/db/migrate/20140717110124_delete_events_without_user.rb +++ b/db/migrate/20140717110124_delete_events_without_user.rb @@ -1,11 +1,40 @@ class DeleteEventsWithoutUser < ActiveRecord::Migration - def up # 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) Event.all.each do |event| - if event.users.blank? - event.destroy + if event.submitter.blank? || event.speakers.first.blank? + 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 From d98cb8ccffc96b757d215ae07be5b44ee5491ea7 Mon Sep 17 00:00:00 2001 From: Stella Rouzi Date: Tue, 29 Jul 2014 23:01:02 +0300 Subject: [PATCH 03/17] fix style --- db/migrate/20140717110124_delete_events_without_user.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/migrate/20140717110124_delete_events_without_user.rb b/db/migrate/20140717110124_delete_events_without_user.rb index 751d2f3a..d21a7a47 100644 --- a/db/migrate/20140717110124_delete_events_without_user.rb +++ b/db/migrate/20140717110124_delete_events_without_user.rb @@ -40,6 +40,6 @@ class DeleteEventsWithoutUser < ActiveRecord::Migration end def down - raise ActiveRecord::IrreversibleMigration, 'Cannot reverse migration. Events deleted cannot be re-created' + raise ActiveRecord::IrreversibleMigration.new('Cannot reverse migration. Deleted events cannot be re-created') end end From 6827f45d60bd473f0202b36623115ab0ba392c3e Mon Sep 17 00:00:00 2001 From: Stella Rouzi Date: Wed, 30 Jul 2014 19:36:22 +0300 Subject: [PATCH 04/17] fix migration --- ...140717110124_delete_events_without_user.rb | 62 ++++++++----------- 1 file changed, 27 insertions(+), 35 deletions(-) diff --git a/db/migrate/20140717110124_delete_events_without_user.rb b/db/migrate/20140717110124_delete_events_without_user.rb index d21a7a47..82cf5611 100644 --- a/db/migrate/20140717110124_delete_events_without_user.rb +++ b/db/migrate/20140717110124_delete_events_without_user.rb @@ -1,45 +1,37 @@ class DeleteEventsWithoutUser < ActiveRecord::Migration + + class TempEvent < ActiveRecord::Base + self.table_name = 'events' + end + + class TempUser < ActiveRecord::Base + self.table_name = 'users' + end + + class TempEventUser < ActiveRecord::Base + self.table_name = 'event_users' + attr_accessible :event_id, :user_id, :event_role + end + def up - # 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) - Event.all.each do |event| - if event.submitter.blank? || event.speakers.first.blank? - 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 + TempEvent.all.each do |event| + if TempEventUser.where(event_id: event).blank? + # Create dummy user + unless (user = User.find_by(email: 'deleted@localhost.osem')) + user = User.new(email: 'deleted@localhost.osem', name: 'User deleted', + biography: 'Data is no longer available for deleted user.', + password: Devise.friendly_token[0, 20]) + user.skip_confirmation! + user.save! end + + TempEventUser.create!(event_id: event.id, user_id: user.id, event_role: 'submitter') + TempEventUser.create!(event_id: event.id, user_id: user.id, event_role: 'speaker') end end end def down - raise ActiveRecord::IrreversibleMigration.new('Cannot reverse migration. Deleted events cannot be re-created') + raise ActiveRecord::IrreversibleMigration, 'Cannot reverse migration. Events deleted cannot be re-created' end end From e82a417874adbc688cf84bdcb95fdd5d25489312 Mon Sep 17 00:00:00 2001 From: Stella Rouzi Date: Wed, 30 Jul 2014 20:01:35 +0300 Subject: [PATCH 05/17] style fixes --- db/migrate/20140717110124_delete_events_without_user.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/db/migrate/20140717110124_delete_events_without_user.rb b/db/migrate/20140717110124_delete_events_without_user.rb index 82cf5611..c4435af2 100644 --- a/db/migrate/20140717110124_delete_events_without_user.rb +++ b/db/migrate/20140717110124_delete_events_without_user.rb @@ -1,5 +1,4 @@ class DeleteEventsWithoutUser < ActiveRecord::Migration - class TempEvent < ActiveRecord::Base self.table_name = 'events' end @@ -32,6 +31,6 @@ class DeleteEventsWithoutUser < ActiveRecord::Migration end def down - raise ActiveRecord::IrreversibleMigration, 'Cannot reverse migration. Events deleted cannot be re-created' + raise ActiveRecord::IrreversibleMigration.new('Cannot reverse migration. Events deleted cannot be re-created') end end From 93ced745e7a65ccc2b64c4d5b2b00934948ae2d0 Mon Sep 17 00:00:00 2001 From: Stella Rouzi Date: Fri, 1 Aug 2014 12:03:42 +0300 Subject: [PATCH 06/17] name the migration more appropriately --- .../20140801080705_add_users_to_events.rb | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 db/migrate/20140801080705_add_users_to_events.rb diff --git a/db/migrate/20140801080705_add_users_to_events.rb b/db/migrate/20140801080705_add_users_to_events.rb new file mode 100644 index 00000000..ffbd304f --- /dev/null +++ b/db/migrate/20140801080705_add_users_to_events.rb @@ -0,0 +1,36 @@ +class AddUsersToEvents < ActiveRecord::Migration + class TempEvent < ActiveRecord::Base + self.table_name = 'events' + end + + class TempUser < ActiveRecord::Base + self.table_name = 'users' + end + + class TempEventUser < ActiveRecord::Base + self.table_name = 'event_users' + attr_accessible :event_id, :user_id, :event_role + end + + def up + TempEvent.all.each do |event| + if TempEventUser.where(event_id: event).blank? + # Create dummy user + unless (user = User.find_by(email: 'deleted@localhost.osem')) + user = User.new(email: 'deleted@localhost.osem', name: 'User deleted', + biography: 'Data is no longer available for deleted user.', + password: Devise.friendly_token[0, 20]) + user.skip_confirmation! + user.save! + end + + TempEventUser.create!(event_id: event.id, user_id: user.id, event_role: 'submitter') + TempEventUser.create!(event_id: event.id, user_id: user.id, event_role: 'speaker') + end + end + end + + def down + raise ActiveRecord::IrreversibleMigration.new('Cannot reverse migration.') + end +end From 78ab264bc2b831286e9ba0f4a3eb471406ef2826 Mon Sep 17 00:00:00 2001 From: Stella Rouzi Date: Fri, 1 Aug 2014 13:41:54 +0300 Subject: [PATCH 07/17] delete old migration --- ...140717110124_delete_events_without_user.rb | 36 ------------------- 1 file changed, 36 deletions(-) delete mode 100644 db/migrate/20140717110124_delete_events_without_user.rb diff --git a/db/migrate/20140717110124_delete_events_without_user.rb b/db/migrate/20140717110124_delete_events_without_user.rb deleted file mode 100644 index c4435af2..00000000 --- a/db/migrate/20140717110124_delete_events_without_user.rb +++ /dev/null @@ -1,36 +0,0 @@ -class DeleteEventsWithoutUser < ActiveRecord::Migration - class TempEvent < ActiveRecord::Base - self.table_name = 'events' - end - - class TempUser < ActiveRecord::Base - self.table_name = 'users' - end - - class TempEventUser < ActiveRecord::Base - self.table_name = 'event_users' - attr_accessible :event_id, :user_id, :event_role - end - - def up - TempEvent.all.each do |event| - if TempEventUser.where(event_id: event).blank? - # Create dummy user - unless (user = User.find_by(email: 'deleted@localhost.osem')) - user = User.new(email: 'deleted@localhost.osem', name: 'User deleted', - biography: 'Data is no longer available for deleted user.', - password: Devise.friendly_token[0, 20]) - user.skip_confirmation! - user.save! - end - - TempEventUser.create!(event_id: event.id, user_id: user.id, event_role: 'submitter') - TempEventUser.create!(event_id: event.id, user_id: user.id, event_role: 'speaker') - end - end - end - - def down - raise ActiveRecord::IrreversibleMigration.new('Cannot reverse migration. Events deleted cannot be re-created') - end -end From 59fe90a706cecd773deffc7252d6a0486da739a1 Mon Sep 17 00:00:00 2001 From: Stella Rouzi Date: Fri, 1 Aug 2014 13:55:45 +0300 Subject: [PATCH 08/17] fix style --- db/migrate/20140801080705_add_users_to_events.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/db/migrate/20140801080705_add_users_to_events.rb b/db/migrate/20140801080705_add_users_to_events.rb index ffbd304f..4334a76f 100644 --- a/db/migrate/20140801080705_add_users_to_events.rb +++ b/db/migrate/20140801080705_add_users_to_events.rb @@ -18,8 +18,8 @@ class AddUsersToEvents < ActiveRecord::Migration # Create dummy user unless (user = User.find_by(email: 'deleted@localhost.osem')) user = User.new(email: 'deleted@localhost.osem', name: 'User deleted', - biography: 'Data is no longer available for deleted user.', - password: Devise.friendly_token[0, 20]) + biography: 'Data is no longer available for deleted user.', + password: Devise.friendly_token[0, 20]) user.skip_confirmation! user.save! end From 3bb42bdb109a9a586100ac171fee2a4dd9856958 Mon Sep 17 00:00:00 2001 From: Stella Rouzi Date: Fri, 1 Aug 2014 18:27:22 +0300 Subject: [PATCH 09/17] move sample user creation in seeds --- app/models/user.rb | 1 + db/migrate/20140801080705_add_users_to_events.rb | 11 ++--------- db/seeds.rb | 13 ++++++++++--- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index 77a38301..9ebea407 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -50,6 +50,7 @@ class User < ActiveRecord::Base def setup_role self.is_admin = true if User.count == 0 + roles << Role.where(name: 'Admin') if User.count == 1 end # Gets the roles of the user, groups them by role.name and returns the resource(s) of each role diff --git a/db/migrate/20140801080705_add_users_to_events.rb b/db/migrate/20140801080705_add_users_to_events.rb index 4334a76f..b57c0740 100644 --- a/db/migrate/20140801080705_add_users_to_events.rb +++ b/db/migrate/20140801080705_add_users_to_events.rb @@ -15,15 +15,8 @@ class AddUsersToEvents < ActiveRecord::Migration def up TempEvent.all.each do |event| if TempEventUser.where(event_id: event).blank? - # Create dummy user - unless (user = User.find_by(email: 'deleted@localhost.osem')) - user = User.new(email: 'deleted@localhost.osem', name: 'User deleted', - biography: 'Data is no longer available for deleted user.', - password: Devise.friendly_token[0, 20]) - user.skip_confirmation! - user.save! - end - + # Assign sample user (created in seeds) + user = User.find_by(email: 'deleted@localhost.osem') TempEventUser.create!(event_id: event.id, user_id: user.id, event_role: 'submitter') TempEventUser.create!(event_id: event.id, user_id: user.id, event_role: 'speaker') end diff --git a/db/seeds.rb b/db/seeds.rb index 91f036d6..6025b3bc 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -6,10 +6,17 @@ # cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }]) # Mayor.create(name: 'Emanuel', city: cities.first) +# Create sample user +user = User.new(email: 'deleted@localhost.osem', name: 'User deleted', +biography: 'Data is no longer available for deleted user.', +password: Devise.friendly_token[0, 20]) +user.skip_confirmation! +user.save! + # Questions -qtype_yesno = QuestionType.create(title: 'Yes/No') -QuestionType.create(title: 'Single Choice') -QuestionType.create(title: 'Multiple Choice') +qtype_yesno = QuestionType.create(title: "Yes/No") +QuestionType.create(title: "Single Choice") +QuestionType.create(title: "Multiple Choice") answer_yes = Answer.create(title: 'Yes') answer_no = Answer.create(title: 'No') From 494e834cb5b65f6c071d41cf64d693ea24503325 Mon Sep 17 00:00:00 2001 From: Stella Rouzi Date: Wed, 6 Aug 2014 22:56:11 +0300 Subject: [PATCH 10/17] style fix --- db/seeds.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/db/seeds.rb b/db/seeds.rb index 6025b3bc..5d8d6774 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -8,8 +8,8 @@ # Create sample user user = User.new(email: 'deleted@localhost.osem', name: 'User deleted', -biography: 'Data is no longer available for deleted user.', -password: Devise.friendly_token[0, 20]) + biography: 'Data is no longer available for deleted user.', + password: Devise.friendly_token[0, 20]) user.skip_confirmation! user.save! From 7ebfbae7ab499540de1dbd8af117bfb5ccb10535 Mon Sep 17 00:00:00 2001 From: Stella Rouzi Date: Thu, 7 Aug 2014 00:51:21 +0300 Subject: [PATCH 11/17] fix test --- spec/models/user_spec.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index be110312..fbae0ef3 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -10,6 +10,7 @@ describe User do let!(:organizer_role) { create(:organizer_role, resource: conference) } let!(:cfp_role) { create(:cfp_role, resource: conference) } let!(:organizer) { create(:user, role_ids: [organizer_role.id]) } + let!(:user) { create(:user) } it 'returns the correct role' do expect(user_admin.is_admin).to eq(true) @@ -41,8 +42,8 @@ describe User do end context 'admin' do - it 'assigns first user admin role' do - expect(User.first.is_admin).to be true + it 'assigns second user admin role' do + expect(User.second.is_admin).to be true end end From d36fcd9894d44b894001a12a0db57ae2bd178224 Mon Sep 17 00:00:00 2001 From: Stella Rouzi Date: Thu, 17 Jul 2014 16:48:27 +0300 Subject: [PATCH 12/17] delete events without submitter --- .../20140717110124_delete_events_without_user.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 db/migrate/20140717110124_delete_events_without_user.rb diff --git a/db/migrate/20140717110124_delete_events_without_user.rb b/db/migrate/20140717110124_delete_events_without_user.rb new file mode 100644 index 00000000..44f0fa68 --- /dev/null +++ b/db/migrate/20140717110124_delete_events_without_user.rb @@ -0,0 +1,16 @@ +class DeleteEventsWithoutUser < ActiveRecord::Migration + + def up + # 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) + Event.all.each do |event| + if event.users.blank? + event.destroy + end + end + end + + def down + raise ActiveRecord::IrreversibleMigration, 'Cannot reverse migration. Events deleted cannot be re-created' + end +end From dd4d4b2601e9ebe1cc8a3b56bdc66d849a9de26a Mon Sep 17 00:00:00 2001 From: Stella Rouzi Date: Tue, 29 Jul 2014 21:50:21 +0300 Subject: [PATCH 13/17] use sample user for scheduled events without user --- ...140717110124_delete_events_without_user.rb | 35 +++++++++++++++++-- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/db/migrate/20140717110124_delete_events_without_user.rb b/db/migrate/20140717110124_delete_events_without_user.rb index 44f0fa68..751d2f3a 100644 --- a/db/migrate/20140717110124_delete_events_without_user.rb +++ b/db/migrate/20140717110124_delete_events_without_user.rb @@ -1,11 +1,40 @@ class DeleteEventsWithoutUser < ActiveRecord::Migration - def up # 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) Event.all.each do |event| - if event.users.blank? - event.destroy + if event.submitter.blank? || event.speakers.first.blank? + 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 From 36778c24cad1822223f9a08cb09f4b0c09236228 Mon Sep 17 00:00:00 2001 From: Stella Rouzi Date: Tue, 29 Jul 2014 23:01:02 +0300 Subject: [PATCH 14/17] fix style --- db/migrate/20140717110124_delete_events_without_user.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/migrate/20140717110124_delete_events_without_user.rb b/db/migrate/20140717110124_delete_events_without_user.rb index 751d2f3a..d21a7a47 100644 --- a/db/migrate/20140717110124_delete_events_without_user.rb +++ b/db/migrate/20140717110124_delete_events_without_user.rb @@ -40,6 +40,6 @@ class DeleteEventsWithoutUser < ActiveRecord::Migration end def down - raise ActiveRecord::IrreversibleMigration, 'Cannot reverse migration. Events deleted cannot be re-created' + raise ActiveRecord::IrreversibleMigration.new('Cannot reverse migration. Deleted events cannot be re-created') end end From 9ec10adea1ba4e143da9b1b08e49f90a94ba69be Mon Sep 17 00:00:00 2001 From: Stella Rouzi Date: Wed, 30 Jul 2014 19:36:22 +0300 Subject: [PATCH 15/17] fix migration --- ...140717110124_delete_events_without_user.rb | 62 ++++++++----------- 1 file changed, 27 insertions(+), 35 deletions(-) diff --git a/db/migrate/20140717110124_delete_events_without_user.rb b/db/migrate/20140717110124_delete_events_without_user.rb index d21a7a47..82cf5611 100644 --- a/db/migrate/20140717110124_delete_events_without_user.rb +++ b/db/migrate/20140717110124_delete_events_without_user.rb @@ -1,45 +1,37 @@ class DeleteEventsWithoutUser < ActiveRecord::Migration + + class TempEvent < ActiveRecord::Base + self.table_name = 'events' + end + + class TempUser < ActiveRecord::Base + self.table_name = 'users' + end + + class TempEventUser < ActiveRecord::Base + self.table_name = 'event_users' + attr_accessible :event_id, :user_id, :event_role + end + def up - # 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) - Event.all.each do |event| - if event.submitter.blank? || event.speakers.first.blank? - 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 + TempEvent.all.each do |event| + if TempEventUser.where(event_id: event).blank? + # Create dummy user + unless (user = User.find_by(email: 'deleted@localhost.osem')) + user = User.new(email: 'deleted@localhost.osem', name: 'User deleted', + biography: 'Data is no longer available for deleted user.', + password: Devise.friendly_token[0, 20]) + user.skip_confirmation! + user.save! end + + TempEventUser.create!(event_id: event.id, user_id: user.id, event_role: 'submitter') + TempEventUser.create!(event_id: event.id, user_id: user.id, event_role: 'speaker') end end end def down - raise ActiveRecord::IrreversibleMigration.new('Cannot reverse migration. Deleted events cannot be re-created') + raise ActiveRecord::IrreversibleMigration, 'Cannot reverse migration. Events deleted cannot be re-created' end end From 312c25431a91413ac6d6548651c53a7cf3e4e120 Mon Sep 17 00:00:00 2001 From: Stella Rouzi Date: Wed, 30 Jul 2014 20:01:35 +0300 Subject: [PATCH 16/17] style fixes --- db/migrate/20140717110124_delete_events_without_user.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/db/migrate/20140717110124_delete_events_without_user.rb b/db/migrate/20140717110124_delete_events_without_user.rb index 82cf5611..c4435af2 100644 --- a/db/migrate/20140717110124_delete_events_without_user.rb +++ b/db/migrate/20140717110124_delete_events_without_user.rb @@ -1,5 +1,4 @@ class DeleteEventsWithoutUser < ActiveRecord::Migration - class TempEvent < ActiveRecord::Base self.table_name = 'events' end @@ -32,6 +31,6 @@ class DeleteEventsWithoutUser < ActiveRecord::Migration end def down - raise ActiveRecord::IrreversibleMigration, 'Cannot reverse migration. Events deleted cannot be re-created' + raise ActiveRecord::IrreversibleMigration.new('Cannot reverse migration. Events deleted cannot be re-created') end end From d9438e366db28ef389ad858bd375184748d4fbc6 Mon Sep 17 00:00:00 2001 From: Stella Rouzi Date: Fri, 1 Aug 2014 13:41:54 +0300 Subject: [PATCH 17/17] delete old migration --- ...140717110124_delete_events_without_user.rb | 36 ------------------- 1 file changed, 36 deletions(-) delete mode 100644 db/migrate/20140717110124_delete_events_without_user.rb diff --git a/db/migrate/20140717110124_delete_events_without_user.rb b/db/migrate/20140717110124_delete_events_without_user.rb deleted file mode 100644 index c4435af2..00000000 --- a/db/migrate/20140717110124_delete_events_without_user.rb +++ /dev/null @@ -1,36 +0,0 @@ -class DeleteEventsWithoutUser < ActiveRecord::Migration - class TempEvent < ActiveRecord::Base - self.table_name = 'events' - end - - class TempUser < ActiveRecord::Base - self.table_name = 'users' - end - - class TempEventUser < ActiveRecord::Base - self.table_name = 'event_users' - attr_accessible :event_id, :user_id, :event_role - end - - def up - TempEvent.all.each do |event| - if TempEventUser.where(event_id: event).blank? - # Create dummy user - unless (user = User.find_by(email: 'deleted@localhost.osem')) - user = User.new(email: 'deleted@localhost.osem', name: 'User deleted', - biography: 'Data is no longer available for deleted user.', - password: Devise.friendly_token[0, 20]) - user.skip_confirmation! - user.save! - end - - TempEventUser.create!(event_id: event.id, user_id: user.id, event_role: 'submitter') - TempEventUser.create!(event_id: event.id, user_id: user.id, event_role: 'speaker') - end - end - end - - def down - raise ActiveRecord::IrreversibleMigration.new('Cannot reverse migration. Events deleted cannot be re-created') - end -end