51 lines
1.4 KiB
Ruby
51 lines
1.4 KiB
Ruby
|
# Fixes issue #2333 - Object country already exists
|
||
|
# The country column already exists in the database, but there is no corresponding ObjectManager::Attribute for it
|
||
|
# This migration adds the User.country attribute if and only if it does not exist already
|
||
|
class AddCountryAttributeToUsers < ActiveRecord::Migration[5.1]
|
||
|
def up
|
||
|
# return if it's a new setup
|
||
|
return if !Setting.find_by(name: 'system_init_done')
|
||
|
|
||
|
# return if the country attribute already exists
|
||
|
current_country_attribute = ObjectManager::Attribute.find_by(object_lookup_id: ObjectLookup.by_name('User'), name: 'country')
|
||
|
return if current_country_attribute.present?
|
||
|
|
||
|
ObjectManager::Attribute.add(
|
||
|
force: true,
|
||
|
object: 'User',
|
||
|
name: 'country',
|
||
|
display: 'Country',
|
||
|
data_type: 'input',
|
||
|
data_option: {
|
||
|
type: 'text',
|
||
|
maxlength: 100,
|
||
|
null: true,
|
||
|
item_class: 'formGroup--halfSize',
|
||
|
},
|
||
|
editable: true,
|
||
|
active: false,
|
||
|
screens: {
|
||
|
signup: {},
|
||
|
invite_agent: {},
|
||
|
invite_customer: {},
|
||
|
edit: {
|
||
|
'-all-' => {
|
||
|
null: true,
|
||
|
},
|
||
|
},
|
||
|
view: {
|
||
|
'-all-' => {
|
||
|
shown: true,
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
to_create: false,
|
||
|
to_migrate: false,
|
||
|
to_delete: false,
|
||
|
position: 1325,
|
||
|
created_by_id: 1,
|
||
|
updated_by_id: 1,
|
||
|
)
|
||
|
end
|
||
|
end
|