mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-13 19:54:02 +00:00
Merge pull request #333 from differentreality/delete_events_without_submitter
Delete events without submitter
This commit is contained in:
commit
7123d4ece0
5 changed files with 44 additions and 6 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
29
db/migrate/20140801080705_add_users_to_events.rb
Normal file
29
db/migrate/20140801080705_add_users_to_events.rb
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
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?
|
||||
# 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
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
raise ActiveRecord::IrreversibleMigration.new('Cannot reverse migration.')
|
||||
end
|
||||
end
|
||||
13
db/seeds.rb
13
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')
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue