123456789101112131415161718192021222324252627282930313233 |
- # Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
- class Add2faPermission < ActiveRecord::Migration[7.0]
- def change
- # return if it's a new setup
- return if !Setting.exists?(name: 'system_init_done')
- add_permission
- modify_roles
- end
- private
- def add_permission
- Permission.create_if_not_exists(
- name: 'user_preferences.two_factor_authentication',
- note: 'Change %s',
- preferences: {
- translations: ['Two-factor Authentication']
- },
- allow_signup: true,
- )
- end
- def modify_roles
- Role
- .joins(:permissions)
- .where(permissions: { name: 'user_preferences.password' })
- .each do |role|
- role.permission_grant('user_preferences.two_factor_authentication')
- end
- end
- end
|