2013-09-06 16:03:30 +08:00
|
|
|
# kind of odd, but we need it, we also need to nuke usage of User from inside migrations
|
|
|
|
# very poor form
|
2014-05-06 21:41:59 +08:00
|
|
|
user = User.find_by("id <> -1 and username_lower = 'system'")
|
2013-09-06 12:07:23 +08:00
|
|
|
if user
|
2013-09-06 15:28:37 +08:00
|
|
|
user.username = UserNameSuggester.suggest("system")
|
2013-09-06 12:07:23 +08:00
|
|
|
user.save
|
|
|
|
end
|
|
|
|
|
2017-04-27 02:47:36 +08:00
|
|
|
UserEmail.seed do |ue|
|
|
|
|
ue.id = -1
|
|
|
|
ue.email = "no_email"
|
|
|
|
ue.primary = true
|
|
|
|
ue.user_id = -1
|
|
|
|
end
|
|
|
|
|
2013-09-06 12:07:23 +08:00
|
|
|
User.seed do |u|
|
|
|
|
u.id = -1
|
2013-09-06 15:28:37 +08:00
|
|
|
u.name = "system"
|
|
|
|
u.username = "system"
|
|
|
|
u.username_lower = "system"
|
2013-09-06 12:07:23 +08:00
|
|
|
u.password = SecureRandom.hex
|
|
|
|
u.active = true
|
|
|
|
u.admin = true
|
|
|
|
u.moderator = true
|
|
|
|
u.approved = true
|
2014-09-05 13:20:39 +08:00
|
|
|
u.trust_level = TrustLevel[4]
|
2013-09-06 12:07:23 +08:00
|
|
|
end
|
2014-06-17 08:46:30 +08:00
|
|
|
|
2016-02-17 12:46:19 +08:00
|
|
|
UserOption.where(user_id: -1).update_all(
|
|
|
|
email_private_messages: false,
|
|
|
|
email_direct: false
|
|
|
|
)
|
|
|
|
|
2015-07-27 17:07:42 +08:00
|
|
|
Group.user_trust_level_change!(-1, TrustLevel[4])
|
|
|
|
|
2017-08-30 22:40:49 +08:00
|
|
|
# TODO drop email with ignored_columns pattern in rails 5.1
|
2017-05-04 22:15:32 +08:00
|
|
|
ColumnDropper.drop(
|
|
|
|
table: 'users',
|
2017-08-29 23:50:56 +08:00
|
|
|
after_migration: 'CreateUserEmails',
|
2017-05-04 22:15:32 +08:00
|
|
|
columns: %w[
|
2016-02-17 15:08:05 +08:00
|
|
|
email_always
|
|
|
|
mailing_list_mode
|
|
|
|
email_digests
|
|
|
|
email_direct
|
|
|
|
email_private_messages
|
|
|
|
external_links_in_new_tab
|
|
|
|
enable_quoting
|
|
|
|
dynamic_favicon
|
|
|
|
disable_jump_reply
|
|
|
|
edit_history_public
|
|
|
|
automatically_unpin_topics
|
|
|
|
digest_after_days
|
2016-02-18 13:57:22 +08:00
|
|
|
auto_track_topics_after_msecs
|
|
|
|
new_topic_duration_minutes
|
|
|
|
last_redirected_to_top_at
|
2017-02-07 22:39:41 +08:00
|
|
|
auth_token
|
2017-05-04 22:15:32 +08:00
|
|
|
auth_token_updated_at ],
|
2017-07-28 09:20:09 +08:00
|
|
|
on_drop: ->() {
|
2017-05-04 22:15:32 +08:00
|
|
|
STDERR.puts 'Removing superflous users columns!'
|
|
|
|
}
|
|
|
|
)
|
2016-02-17 15:08:05 +08:00
|
|
|
|
2015-07-27 17:07:42 +08:00
|
|
|
# User for the smoke tests
|
|
|
|
if ENV["SMOKE"] == "1"
|
2017-04-27 02:47:36 +08:00
|
|
|
UserEmail.seed do |ue|
|
|
|
|
ue.id = 0
|
|
|
|
ue.email = "smoke_user@discourse.org"
|
|
|
|
ue.primary = true
|
|
|
|
ue.user_id = 0
|
|
|
|
end
|
|
|
|
|
2015-07-27 17:07:42 +08:00
|
|
|
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
|
|
|
|
|
2016-02-17 18:57:06 +08:00
|
|
|
UserOption.where(user_id: smoke_user.id).update_all(
|
|
|
|
email_direct: false,
|
|
|
|
email_digests: false,
|
|
|
|
email_private_messages: false,
|
|
|
|
)
|
|
|
|
|
|
|
|
EmailToken.where(user_id: smoke_user.id).update_all(confirmed: true)
|
2015-07-27 17:07:42 +08:00
|
|
|
end
|