123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- # Copyright (C) 2012-2022 Zammad Foundation, https://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
|