trabajo-afectivo/db/migrate/20220124104955_update_object_attributes.rb

77 lines
2.1 KiB
Ruby
Raw Normal View History

# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
class UpdateObjectAttributes < ActiveRecord::Migration[6.0]
def change
return if !Setting.exists?(name: 'system_init_done')
# rubocop:disable Lint/BooleanSymbol
object_attributes_update = [
{
object: 'Organization',
name: 'domain_assignment',
data_option: {
null: true,
default: false,
note: 'Assign users based on user domain.',
item_class: 'formGroup--halfSize',
options: {
true: 'yes',
false: 'no',
},
translate: true,
permission: ['admin.organization'],
},
},
{
object: 'TicketArticle',
name: 'cc',
display: 'CC',
},
{
object: 'Organization',
name: 'shared',
data_option: {
null: true,
default: true,
note: "Customers in the organization can view each other's items.",
item_class: 'formGroup--halfSize',
options: {
true: 'yes',
false: 'no',
},
translate: true,
permission: ['admin.organization'],
},
},
{
object: 'User',
name: 'firstname',
display: 'First name',
},
{
object: 'User',
name: 'lastname',
display: 'Last name',
},
]
# rubocop:enable Lint/BooleanSymbol
object_attributes_update.each do |attribute|
fetched_attribute = ObjectManager::Attribute.get(name: attribute[:name], object: attribute[:object])
next if !fetched_attribute
if attribute[:display]
# p "Updating display of #{attribute[:name]} to #{attribute[:display]}"
fetched_attribute.display = attribute[:display]
end
if attribute[:data_option]
# p "Updating data_option of #{attribute[:name]} to #{attribute[:data_option]}"
fetched_attribute.data_option = attribute[:data_option]
end
fetched_attribute.save!
end
end
end