63 lines
1.8 KiB
Ruby
63 lines
1.8 KiB
Ruby
# Copyright (C) 2012-2021 Zammad Foundation, http://zammad-foundation.org/
|
|
|
|
class MoveAuthBackendsToDatabase < ActiveRecord::Migration[6.0]
|
|
def change
|
|
|
|
# return if it's a new setup
|
|
return if !Setting.exists?(name: 'system_init_done')
|
|
|
|
Setting.create_if_not_exists(
|
|
title: 'Authentication via %s',
|
|
name: 'auth_internal',
|
|
area: 'Security::Authentication',
|
|
description: 'Enables user authentication via %s.',
|
|
preferences: {
|
|
title_i18n: ['internal database'],
|
|
description_i18n: ['internal database'],
|
|
permission: ['admin.security'],
|
|
},
|
|
state: {
|
|
priority: 1,
|
|
adapter: 'Auth::Backend::Internal',
|
|
},
|
|
frontend: false
|
|
)
|
|
Setting.create_if_not_exists(
|
|
title: 'Authentication via %s',
|
|
name: 'auth_developer',
|
|
area: 'Security::Authentication',
|
|
description: 'Enables user authentication via %s.',
|
|
preferences: {
|
|
title_i18n: ['developer password'],
|
|
description_i18n: ['developer password'],
|
|
permission: ['admin.security'],
|
|
},
|
|
state: {
|
|
priority: 2,
|
|
adapter: 'Auth::Backend::Developer',
|
|
},
|
|
frontend: false
|
|
)
|
|
|
|
update_auth_ldap
|
|
end
|
|
|
|
private
|
|
|
|
def update_auth_ldap # rubocop:disable Metrics/AbcSize
|
|
|
|
begin
|
|
auth_ldap = Setting.find_by(name: 'auth_ldap')
|
|
|
|
auth_ldap.state_initial[:value][:priority] = 3
|
|
auth_ldap.state_initial[:value][:adapter] = 'Auth::Backend::Ldap'
|
|
auth_ldap.state_current[:value][:priority] = 3
|
|
auth_ldap.state_current[:value][:adapter] = 'Auth::Backend::Ldap'
|
|
|
|
auth_ldap.save!
|
|
rescue => e
|
|
Rails.logger.error "Error while updating 'auth_ldap' Setting priority and adapter"
|
|
Rails.logger.error e
|
|
end
|
|
end
|
|
end
|