mirror of
https://github.com/discourse/discourse.git
synced 2024-12-24 13:13:59 +08:00
7afb5fc481
I couldn't find where we created the system user and this is why -- everywhere else in the app we reference SYSTEM_USER_ID but here.
70 lines
1.7 KiB
Ruby
70 lines
1.7 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
# kind of odd, but we need it, we also need to nuke usage of User from inside migrations
|
|
# very poor form
|
|
user = User.find_by("id <> #{Discourse::SYSTEM_USER_ID} and username_lower = 'system'")
|
|
if user
|
|
user.username = UserNameSuggester.suggest("system")
|
|
user.save
|
|
end
|
|
|
|
UserEmail.seed do |ue|
|
|
ue.id = -1
|
|
ue.email = "no_email"
|
|
ue.primary = true
|
|
ue.user_id = Discourse::SYSTEM_USER_ID
|
|
end
|
|
|
|
User.seed do |u|
|
|
u.id = Discourse::SYSTEM_USER_ID
|
|
u.name = "system"
|
|
u.username = "system"
|
|
u.username_lower = "system"
|
|
u.password = SecureRandom.hex
|
|
u.active = true
|
|
u.admin = true
|
|
u.moderator = true
|
|
u.approved = true
|
|
u.trust_level = TrustLevel[4]
|
|
end
|
|
|
|
UserOption.where(user_id: Discourse::SYSTEM_USER_ID).update_all(
|
|
email_messages_level: UserOption.email_level_types[:never],
|
|
email_level: UserOption.email_level_types[:never],
|
|
)
|
|
|
|
Group.user_trust_level_change!(Discourse::SYSTEM_USER_ID, TrustLevel[4])
|
|
|
|
# User for the smoke tests
|
|
if ENV["SMOKE"] == "1"
|
|
UserEmail.seed do |ue|
|
|
ue.id = 0
|
|
ue.email = "smoke_user@discourse.org"
|
|
ue.primary = true
|
|
ue.user_id = 0
|
|
end
|
|
|
|
smoke_user =
|
|
User
|
|
.seed do |u|
|
|
u.id = 0
|
|
u.name = "smoke_user"
|
|
u.username = "smoke_user"
|
|
u.username_lower = "smoke_user"
|
|
u.password = "P4ssw0rd"
|
|
u.active = true
|
|
u.approved = true
|
|
u.approved_at = Time.now
|
|
u.trust_level = TrustLevel[3]
|
|
end
|
|
.first
|
|
|
|
UserOption.where(user_id: smoke_user.id).update_all(
|
|
email_digests: false,
|
|
email_messages_level: UserOption.email_level_types[:never],
|
|
email_level: UserOption.email_level_types[:never],
|
|
)
|
|
|
|
EmailToken.where(user_id: smoke_user.id).update_all(confirmed: true)
|
|
end
|