Merged migrations.
This commit is contained in:
parent
04c8a6bcf8
commit
2314f318ff
6 changed files with 782 additions and 1252 deletions
|
@ -11,7 +11,8 @@ class CreateTicket < ActiveRecord::Migration
|
|||
|
||||
create_table :ticket_states do |t|
|
||||
t.references :state_type, null: false
|
||||
t.column :name, :string, limit: 250, null: false
|
||||
t.column :name, :string, limit: 250, null: false
|
||||
t.column :next_state_id, :integer, null: true
|
||||
t.column :note, :string, limit: 250, null: true
|
||||
t.column :active, :boolean, null: false, default: true
|
||||
t.column :updated_by_id, :integer, null: false
|
||||
|
|
|
@ -478,6 +478,786 @@ class CreateObjectManager < ActiveRecord::Migration
|
|||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'login',
|
||||
display: 'Login',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'text',
|
||||
maxlength: 100,
|
||||
null: true,
|
||||
autocapitalize: false,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 100,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'firstname',
|
||||
display: 'Firstname',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'text',
|
||||
maxlength: 150,
|
||||
null: false,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
invite_agent: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 200,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'lastname',
|
||||
display: 'Lastname',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'text',
|
||||
maxlength: 150,
|
||||
null: false,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
invite_agent: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 300,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'email',
|
||||
display: 'Email',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'email',
|
||||
maxlength: 150,
|
||||
null: false,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
invite_agent: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 400,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'web',
|
||||
display: 'Web',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'url',
|
||||
maxlength: 250,
|
||||
null: true,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 500,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'phone',
|
||||
display: 'Phone',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'phone',
|
||||
maxlength: 100,
|
||||
null: true,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 600,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'mobile',
|
||||
display: 'Mobile',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'phone',
|
||||
maxlength: 100,
|
||||
null: true,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 700,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'fax',
|
||||
display: 'Fax',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'phone',
|
||||
maxlength: 100,
|
||||
null: true,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 800,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'organization_id',
|
||||
display: 'Organization',
|
||||
data_type: 'autocompletion_ajax',
|
||||
data_option: {
|
||||
multiple: false,
|
||||
nulloption: true,
|
||||
null: true,
|
||||
relation: 'Organization',
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 900,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'department',
|
||||
display: 'Department',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'text',
|
||||
maxlength: 200,
|
||||
null: true,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1000,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'street',
|
||||
display: 'Street',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'text',
|
||||
maxlength: 100,
|
||||
null: true,
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1100,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'zip',
|
||||
display: 'Zip',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'text',
|
||||
maxlength: 100,
|
||||
null: true,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1200,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'city',
|
||||
display: 'City',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'text',
|
||||
maxlength: 100,
|
||||
null: true,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1300,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'password',
|
||||
display: 'Password',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'password',
|
||||
maxlength: 100,
|
||||
null: true,
|
||||
autocomplete: 'off',
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
Admin: {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {}
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1400,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'vip',
|
||||
display: 'VIP',
|
||||
data_type: 'boolean',
|
||||
data_option: {
|
||||
null: true,
|
||||
default: false,
|
||||
item_class: 'formGroup--halfSize',
|
||||
options: {
|
||||
false: 'no',
|
||||
true: 'yes',
|
||||
},
|
||||
translate: true,
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
edit: {
|
||||
Admin: {
|
||||
null: true,
|
||||
},
|
||||
Agent: {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1490,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'note',
|
||||
display: 'Note',
|
||||
data_type: 'richtext',
|
||||
data_option: {
|
||||
type: 'text',
|
||||
maxlength: 250,
|
||||
null: true,
|
||||
note: 'Notes are visible to agents only, never to customers.',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1500,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'role_ids',
|
||||
display: 'Roles',
|
||||
data_type: 'checkbox',
|
||||
data_option: {
|
||||
multiple: true,
|
||||
null: false,
|
||||
relation: 'Role',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
Admin: {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1600,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'group_ids',
|
||||
display: 'Groups',
|
||||
data_type: 'checkbox',
|
||||
data_option: {
|
||||
multiple: true,
|
||||
null: true,
|
||||
relation: 'Group',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
edit: {
|
||||
Admin: {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1700,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'active',
|
||||
display: 'Active',
|
||||
data_type: 'active',
|
||||
data_option: {
|
||||
default: true,
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
Admin: {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1800,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'Organization',
|
||||
name: 'name',
|
||||
display: 'Name',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'text',
|
||||
maxlength: 150,
|
||||
null: false,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 200,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'Organization',
|
||||
name: 'shared',
|
||||
display: 'Shared organization',
|
||||
data_type: 'boolean',
|
||||
data_option: {
|
||||
maxlength: 250,
|
||||
null: true,
|
||||
default: true,
|
||||
note: 'Customers in the organization can view each other items.',
|
||||
item_class: 'formGroup--halfSize',
|
||||
options: {
|
||||
true: 'Yes',
|
||||
false: 'No',
|
||||
}
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
edit: {
|
||||
Admin: {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1400,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'Organization',
|
||||
name: 'note',
|
||||
display: 'Note',
|
||||
data_type: 'richtext',
|
||||
data_option: {
|
||||
type: 'text',
|
||||
maxlength: 250,
|
||||
null: true,
|
||||
note: 'Notes are visible to agents only, never to customers.',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1500,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'Organization',
|
||||
name: 'active',
|
||||
display: 'Active',
|
||||
data_type: 'active',
|
||||
data_option: {
|
||||
default: true,
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
edit: {
|
||||
Admin: {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1800,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
end
|
||||
|
||||
def down
|
||||
|
|
|
@ -1,789 +0,0 @@
|
|||
class UpdateObjectManager2 < ActiveRecord::Migration
|
||||
def up
|
||||
|
||||
#remove_index :object_manager_attributes, [:name]
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'login',
|
||||
display: 'Login',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'text',
|
||||
maxlength: 100,
|
||||
null: true,
|
||||
autocapitalize: false,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 100,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'firstname',
|
||||
display: 'Firstname',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'text',
|
||||
maxlength: 150,
|
||||
null: false,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
invite_agent: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 200,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'lastname',
|
||||
display: 'Lastname',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'text',
|
||||
maxlength: 150,
|
||||
null: false,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
invite_agent: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 300,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'email',
|
||||
display: 'Email',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'email',
|
||||
maxlength: 150,
|
||||
null: false,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
invite_agent: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 400,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'web',
|
||||
display: 'Web',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'url',
|
||||
maxlength: 250,
|
||||
null: true,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 500,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'phone',
|
||||
display: 'Phone',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'phone',
|
||||
maxlength: 100,
|
||||
null: true,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 600,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'mobile',
|
||||
display: 'Mobile',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'phone',
|
||||
maxlength: 100,
|
||||
null: true,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 700,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'fax',
|
||||
display: 'Fax',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'phone',
|
||||
maxlength: 100,
|
||||
null: true,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 800,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'organization_id',
|
||||
display: 'Organization',
|
||||
data_type: 'autocompletion_ajax',
|
||||
data_option: {
|
||||
multiple: false,
|
||||
nulloption: true,
|
||||
null: true,
|
||||
relation: 'Organization',
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 900,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'department',
|
||||
display: 'Department',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'text',
|
||||
maxlength: 200,
|
||||
null: true,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1000,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'street',
|
||||
display: 'Street',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'text',
|
||||
maxlength: 100,
|
||||
null: true,
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1100,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'zip',
|
||||
display: 'Zip',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'text',
|
||||
maxlength: 100,
|
||||
null: true,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1200,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'city',
|
||||
display: 'City',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'text',
|
||||
maxlength: 100,
|
||||
null: true,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1300,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'password',
|
||||
display: 'Password',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'password',
|
||||
maxlength: 100,
|
||||
null: true,
|
||||
autocomplete: 'off',
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
Admin: {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {}
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1400,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'vip',
|
||||
display: 'VIP',
|
||||
data_type: 'boolean',
|
||||
data_option: {
|
||||
null: true,
|
||||
default: false,
|
||||
item_class: 'formGroup--halfSize',
|
||||
options: {
|
||||
false: 'no',
|
||||
true: 'yes',
|
||||
},
|
||||
translate: true,
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
edit: {
|
||||
Admin: {
|
||||
null: true,
|
||||
},
|
||||
Agent: {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1490,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'note',
|
||||
display: 'Note',
|
||||
data_type: 'richtext',
|
||||
data_option: {
|
||||
type: 'text',
|
||||
maxlength: 250,
|
||||
null: true,
|
||||
note: 'Notes are visible to agents only, never to customers.',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1500,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'role_ids',
|
||||
display: 'Roles',
|
||||
data_type: 'checkbox',
|
||||
data_option: {
|
||||
multiple: true,
|
||||
null: false,
|
||||
relation: 'Role',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
Admin: {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1600,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'group_ids',
|
||||
display: 'Groups',
|
||||
data_type: 'checkbox',
|
||||
data_option: {
|
||||
multiple: true,
|
||||
null: true,
|
||||
relation: 'Group',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
edit: {
|
||||
Admin: {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1700,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'User',
|
||||
name: 'active',
|
||||
display: 'Active',
|
||||
data_type: 'active',
|
||||
data_option: {
|
||||
default: true,
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
signup: {},
|
||||
invite_agent: {},
|
||||
edit: {
|
||||
Admin: {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1800,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'Organization',
|
||||
name: 'name',
|
||||
display: 'Name',
|
||||
data_type: 'input',
|
||||
data_option: {
|
||||
type: 'text',
|
||||
maxlength: 150,
|
||||
null: false,
|
||||
item_class: 'formGroup--halfSize',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 200,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'Organization',
|
||||
name: 'shared',
|
||||
display: 'Shared organization',
|
||||
data_type: 'boolean',
|
||||
data_option: {
|
||||
maxlength: 250,
|
||||
null: true,
|
||||
default: true,
|
||||
note: 'Customers in the organization can view each other items.',
|
||||
item_class: 'formGroup--halfSize',
|
||||
options: {
|
||||
true: 'Yes',
|
||||
false: 'No',
|
||||
}
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
edit: {
|
||||
Admin: {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1400,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'Organization',
|
||||
name: 'note',
|
||||
display: 'Note',
|
||||
data_type: 'richtext',
|
||||
data_option: {
|
||||
type: 'text',
|
||||
maxlength: 250,
|
||||
null: true,
|
||||
note: 'Notes are visible to agents only, never to customers.',
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
edit: {
|
||||
'-all-' => {
|
||||
null: true,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1500,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'Organization',
|
||||
name: 'active',
|
||||
display: 'Active',
|
||||
data_type: 'active',
|
||||
data_option: {
|
||||
default: true,
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
edit: {
|
||||
Admin: {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
view: {
|
||||
'-all-' => {
|
||||
shown: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 1800,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
end
|
||||
|
||||
def down
|
||||
end
|
||||
end
|
|
@ -1,128 +0,0 @@
|
|||
class UpdateOverviewAndTicketState < ActiveRecord::Migration
|
||||
def up
|
||||
|
||||
# if we are on upgrade mode
|
||||
overview_role = Role.where( name: 'Agent' ).first
|
||||
add_column :ticket_states, :next_state_id, :integer, null: true
|
||||
UserInfo.current_user_id = 1
|
||||
|
||||
return true if !overview_role
|
||||
|
||||
Overview.create_or_update(
|
||||
name: 'My pending reached Tickets',
|
||||
link: 'my_pending_reached',
|
||||
prio: 1010,
|
||||
role_id: overview_role.id,
|
||||
condition: {
|
||||
'tickets.state_id' => [3],
|
||||
'tickets.owner_id' => 'current_user.id',
|
||||
'tickets.pending_time' => { 'direction' => 'before', 'count' => 1, 'area' => 'minute' },
|
||||
},
|
||||
order: {
|
||||
by: 'created_at',
|
||||
direction: 'ASC',
|
||||
},
|
||||
view: {
|
||||
d: %w(title customer group created_at),
|
||||
s: %w(title customer group created_at),
|
||||
m: %w(number title customer group created_at),
|
||||
view_mode_default: 's',
|
||||
},
|
||||
)
|
||||
Ticket::State.create_or_update( id: 3, name: 'pending reminder', state_type_id: Ticket::StateType.where(name: 'pending reminder').first.id )
|
||||
Ticket::State.create_or_update( id: 6, name: 'removed', state_type_id: Ticket::StateType.where(name: 'removed').first.id, active: false )
|
||||
Ticket::State.create_or_update( id: 7, name: 'pending close', state_type_id: Ticket::StateType.where(name: 'pending action').first.id )
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'Ticket',
|
||||
name: 'state_id',
|
||||
display: 'State',
|
||||
data_type: 'select',
|
||||
data_option: {
|
||||
relation: 'TicketState',
|
||||
nulloption: true,
|
||||
multiple: false,
|
||||
null: false,
|
||||
default: 2,
|
||||
translate: true,
|
||||
filter: [1, 2, 3, 4, 7],
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
create_middle: {
|
||||
Agent: {
|
||||
null: false,
|
||||
item_class: 'column',
|
||||
},
|
||||
Customer: {
|
||||
item_class: 'column',
|
||||
nulloption: false,
|
||||
null: true,
|
||||
filter: [1, 4],
|
||||
default: 1,
|
||||
},
|
||||
},
|
||||
edit: {
|
||||
Agent: {
|
||||
nulloption: false,
|
||||
null: false,
|
||||
filter: [2, 3, 4, 7],
|
||||
},
|
||||
Customer: {
|
||||
nulloption: false,
|
||||
null: true,
|
||||
filter: [2, 4],
|
||||
default: 2,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 40,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
|
||||
ObjectManager::Attribute.add(
|
||||
object: 'Ticket',
|
||||
name: 'pending_time',
|
||||
display: 'Pending till',
|
||||
data_type: 'datetime',
|
||||
data_option: {
|
||||
future: true,
|
||||
past: false,
|
||||
diff: 24,
|
||||
null: true,
|
||||
translate: true,
|
||||
required_if: {
|
||||
state_id: [3, 7]
|
||||
},
|
||||
shown_if: {
|
||||
state_id: [3, 7]
|
||||
},
|
||||
},
|
||||
editable: false,
|
||||
active: true,
|
||||
screens: {
|
||||
create_middle: {
|
||||
'-all-' => {
|
||||
null: false,
|
||||
item_class: 'column',
|
||||
},
|
||||
},
|
||||
edit: {
|
||||
Agent: {
|
||||
null: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
pending_migration: false,
|
||||
position: 41,
|
||||
created_by_id: 1,
|
||||
updated_by_id: 1,
|
||||
)
|
||||
end
|
||||
|
||||
def down
|
||||
end
|
||||
end
|
|
@ -1,69 +0,0 @@
|
|||
class UpdateSettings < ActiveRecord::Migration
|
||||
def up
|
||||
Setting.create_or_update(
|
||||
title: 'Organization',
|
||||
name: 'organization',
|
||||
area: 'System::Branding',
|
||||
description: 'Will be shown in the app and is included in email footers.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
display: '',
|
||||
null: false,
|
||||
name: 'organization',
|
||||
tag: 'input',
|
||||
},
|
||||
],
|
||||
},
|
||||
state: '',
|
||||
preferences: { prio: 2 },
|
||||
frontend: true
|
||||
)
|
||||
Setting.create_or_update(
|
||||
title: 'Send client stats',
|
||||
name: 'ui_send_client_stats',
|
||||
area: 'System::UI',
|
||||
description: 'Send client stats/error message to central server to improve the usability.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
display: '',
|
||||
null: true,
|
||||
name: 'ui_send_client_stats',
|
||||
tag: 'boolean',
|
||||
options: {
|
||||
true => 'yes',
|
||||
false => 'no',
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
state: true,
|
||||
preferences: { prio: 1 },
|
||||
frontend: true
|
||||
)
|
||||
Setting.create_or_update(
|
||||
title: 'Client storage',
|
||||
name: 'ui_client_storage',
|
||||
area: 'System::UI',
|
||||
description: 'Use client storage to cache data to perform speed of application.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
display: '',
|
||||
null: true,
|
||||
name: 'ui_client_storage',
|
||||
tag: 'boolean',
|
||||
options: {
|
||||
true => 'yes',
|
||||
false => 'no',
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
state: false,
|
||||
preferences: { prio: 2 },
|
||||
frontend: true
|
||||
)
|
||||
end
|
||||
end
|
|
@ -1,265 +0,0 @@
|
|||
class AddSettingOnlineService < ActiveRecord::Migration
|
||||
def up
|
||||
|
||||
# return if it's a new setup
|
||||
return if !Setting.find_by(name: 'system_init_done')
|
||||
|
||||
Setting.create_or_update(
|
||||
title: 'System Init Done',
|
||||
name: 'system_init_done',
|
||||
area: 'Core',
|
||||
description: 'Defines if application is in init mode.',
|
||||
options: {},
|
||||
state: Setting.get('system_init_done'),
|
||||
preferences: { online_service_disable: true },
|
||||
frontend: true
|
||||
)
|
||||
Setting.create_or_update(
|
||||
title: 'Developer System',
|
||||
name: 'developer_mode',
|
||||
area: 'Core::Develop',
|
||||
description: 'Defines if application is in developer mode (useful for developer, all users have the same password, password reset will work without email delivery).',
|
||||
options: {},
|
||||
state: Setting.get('developer_mode'),
|
||||
preferences: { online_service_disable: true },
|
||||
frontend: true
|
||||
)
|
||||
Setting.create_or_update(
|
||||
title: 'Online Service',
|
||||
name: 'system_online_service',
|
||||
area: 'Core',
|
||||
description: 'Defines if application is used as online service.',
|
||||
options: {},
|
||||
state: Setting.get('system_online_service'),
|
||||
preferences: { online_service_disable: true },
|
||||
frontend: true
|
||||
)
|
||||
Setting.create_or_update(
|
||||
title: 'SystemID',
|
||||
name: 'system_id',
|
||||
area: 'System::Base',
|
||||
description: 'Defines the system identifier. Every ticket number contains this ID. This ensures that only tickets which belong to your system will be processed as follow-ups (useful when communicating between two instances of Zammad).',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
display: '',
|
||||
null: true,
|
||||
name: 'system_id',
|
||||
tag: 'select',
|
||||
options: {
|
||||
'10' => '10',
|
||||
'11' => '11',
|
||||
'12' => '12',
|
||||
'13' => '13',
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
state: '10',
|
||||
preferences: { online_service_disable: true },
|
||||
frontend: true
|
||||
)
|
||||
Setting.create_or_update(
|
||||
title: 'Fully Qualified Domain Name',
|
||||
name: 'fqdn',
|
||||
area: 'System::Base',
|
||||
description: 'Defines the fully qualified domain name of the system. This setting is used as a variable, #{setting.fqdn} which is found in all forms of messaging used by the application, to build links to the tickets within your system.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
display: '',
|
||||
null: false,
|
||||
name: 'fqdn',
|
||||
tag: 'input',
|
||||
},
|
||||
],
|
||||
},
|
||||
state: Setting.get('fqdn'),
|
||||
preferences: { online_service_disable: true },
|
||||
frontend: true
|
||||
)
|
||||
Setting.create_or_update(
|
||||
title: 'websocket port',
|
||||
name: 'websocket_port',
|
||||
area: 'System::WebSocket',
|
||||
description: 'Defines the port of the websocket server.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
display: '',
|
||||
null: false,
|
||||
name: 'websocket_port',
|
||||
tag: 'input',
|
||||
},
|
||||
],
|
||||
},
|
||||
state: Setting.get('websocket_port'),
|
||||
preferences: { online_service_disable: true },
|
||||
frontend: true
|
||||
)
|
||||
Setting.create_or_update(
|
||||
title: 'http type',
|
||||
name: 'http_type',
|
||||
area: 'System::Base',
|
||||
description: 'Defines the type of protocol, used by the web server, to serve the application. If https protocol will be used instead of plain http, it must be specified in here. Since this has no affect on the web server\'s settings or behavior, it will not change the method of access to the application and, if it is wrong, it will not prevent you from logging into the application. This setting is used as a variable, #{setting.http_type} which is found in all forms of messaging used by the application, to build links to the tickets within your system.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
display: '',
|
||||
null: true,
|
||||
name: 'http_type',
|
||||
tag: 'select',
|
||||
options: {
|
||||
'https' => 'https',
|
||||
'http' => 'http',
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
state: Setting.get('http_type'),
|
||||
preferences: { online_service_disable: true },
|
||||
frontend: true
|
||||
)
|
||||
|
||||
Setting.create_or_update(
|
||||
title: 'Storage Mechanism',
|
||||
name: 'storage',
|
||||
area: 'System::Storage',
|
||||
description: '"Database" stores all attachments in the database (not recommended for storing large amounts of data). "Filesystem" stores the data on the filesystem. You can switch between the modules even on a system that is already in production without any loss of data.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
display: '',
|
||||
null: true,
|
||||
name: 'storage',
|
||||
tag: 'select',
|
||||
options: {
|
||||
'DB' => 'Database',
|
||||
'FS' => 'Filesystem',
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
state: Setting.get('storage'),
|
||||
preferences: { online_service_disable: true },
|
||||
frontend: false
|
||||
)
|
||||
Setting.create_or_update(
|
||||
title: 'Max. Email Size',
|
||||
name: 'postmaster_max_size',
|
||||
area: 'Email::Base',
|
||||
description: 'Maximal size in MB of emails.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
display: '',
|
||||
null: true,
|
||||
name: 'postmaster_max_size',
|
||||
tag: 'select',
|
||||
options: {
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => 4,
|
||||
5 => 5,
|
||||
6 => 6,
|
||||
7 => 7,
|
||||
8 => 8,
|
||||
9 => 9,
|
||||
10 => 10,
|
||||
11 => 11,
|
||||
12 => 12,
|
||||
13 => 13,
|
||||
14 => 14,
|
||||
15 => 15,
|
||||
16 => 16,
|
||||
17 => 17,
|
||||
18 => 18,
|
||||
19 => 19,
|
||||
20 => 20,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
state: Setting.get('postmaster_max_size'),
|
||||
preferences: { online_service_disable: true },
|
||||
frontend: false
|
||||
)
|
||||
Setting.create_or_update(
|
||||
title: 'Notification Sender',
|
||||
name: 'notification_sender',
|
||||
area: 'Email::Base',
|
||||
description: 'Defines the sender of email notifications.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
display: '',
|
||||
null: false,
|
||||
name: 'notification_sender',
|
||||
tag: 'input',
|
||||
},
|
||||
],
|
||||
},
|
||||
state: Setting.get('notification_sender'),
|
||||
preferences: { online_service_disable: true },
|
||||
frontend: false
|
||||
)
|
||||
|
||||
Setting.create_or_update(
|
||||
title: 'Elasticsearch Endpoint URL',
|
||||
name: 'es_url',
|
||||
area: 'SearchIndex::Elasticsearch',
|
||||
description: 'Define endpoint of Elastic Search.',
|
||||
state: Setting.get('es_url'),
|
||||
preferences: { online_service_disable: true },
|
||||
frontend: false
|
||||
)
|
||||
Setting.create_or_update(
|
||||
title: 'Elasticsearch Endpoint User',
|
||||
name: 'es_user',
|
||||
area: 'SearchIndex::Elasticsearch',
|
||||
description: 'Define http basic auth user of Elasticsearch.',
|
||||
state: Setting.get('es_user'),
|
||||
preferences: { online_service_disable: true },
|
||||
frontend: false
|
||||
)
|
||||
Setting.create_or_update(
|
||||
title: 'Elastic Search Endpoint Password',
|
||||
name: 'es_password',
|
||||
area: 'SearchIndex::Elasticsearch',
|
||||
description: 'Define http basic auth password of Elasticsearch.',
|
||||
state: Setting.get('es_password'),
|
||||
preferences: { online_service_disable: true },
|
||||
frontend: false
|
||||
)
|
||||
Setting.create_or_update(
|
||||
title: 'Elastic Search Endpoint Index',
|
||||
name: 'es_index',
|
||||
area: 'SearchIndex::Elasticsearch',
|
||||
description: 'Define Elasticsearch index name.',
|
||||
state: Setting.get('es_index'),
|
||||
preferences: { online_service_disable: true },
|
||||
frontend: false
|
||||
)
|
||||
Setting.create_or_update(
|
||||
title: 'Elastic Search Attachment Extentions',
|
||||
name: 'es_attachment_ignore',
|
||||
area: 'SearchIndex::Elasticsearch',
|
||||
description: 'Define attachment extentions which are ignored for Elasticsearch.',
|
||||
state: Setting.get('es_attachment_ignore'),
|
||||
preferences: { online_service_disable: true },
|
||||
frontend: false
|
||||
)
|
||||
Setting.create_or_update(
|
||||
title: 'Elastic Search Attachment Size',
|
||||
name: 'es_attachment_max_size_in_mb',
|
||||
area: 'SearchIndex::Elasticsearch',
|
||||
description: 'Define max. attachment size for Elasticsearch.',
|
||||
state: Setting.get('es_attachment_max_size_in_mb'),
|
||||
preferences: { online_service_disable: true },
|
||||
frontend: false
|
||||
)
|
||||
|
||||
end
|
||||
|
||||
end
|
Loading…
Reference in a new issue