chore: Split Inbox Settings Page Component (#4664)
Clean up the Inbox settings page component as the logic was growing complex. - Moved subpages like collaborators and configuration to new components - Moved Assignment settings to the collaborators tab - Introduced a new inbox seeder to quickly preview setting pages of all inbox types when in development
This commit is contained in:
@@ -17,6 +17,7 @@ class Seeders::AccountSeeder
|
||||
|
||||
def seed!
|
||||
seed_canned_responses
|
||||
seed_inboxes
|
||||
end
|
||||
|
||||
def seed_canned_responses(count: 50)
|
||||
@@ -24,4 +25,65 @@ class Seeders::AccountSeeder
|
||||
account.canned_responses.create(content: Faker::Quote.fortune_cookie, short_code: Faker::Alphanumeric.alpha(number: 10))
|
||||
end
|
||||
end
|
||||
|
||||
def seed_inboxes
|
||||
seed_website_inbox
|
||||
seed_facebook_inbox
|
||||
seed_twitter_inbox
|
||||
seed_whatsapp_inbox
|
||||
seed_sms_inbox
|
||||
seed_email_inbox
|
||||
seed_api_inbox
|
||||
seed_telegram_inbox
|
||||
seed_line_inbox
|
||||
end
|
||||
|
||||
def seed_website_inbox
|
||||
channel = Channel::WebWidget.create!(account: account, website_url: 'https://acme.inc')
|
||||
Inbox.create!(channel: channel, account: account, name: 'Acme Website')
|
||||
end
|
||||
|
||||
def seed_facebook_inbox
|
||||
channel = Channel::FacebookPage.create!(account: account, user_access_token: 'test', page_access_token: 'test', page_id: 'test')
|
||||
Inbox.create!(channel: channel, account: account, name: 'Acme Facebook')
|
||||
end
|
||||
|
||||
def seed_twitter_inbox
|
||||
channel = Channel::TwitterProfile.create!(account: account, twitter_access_token: 'test', twitter_access_token_secret: 'test', profile_id: '123')
|
||||
Inbox.create!(channel: channel, account: account, name: 'Acme Twitter')
|
||||
end
|
||||
|
||||
def seed_whatsapp_inbox
|
||||
channel = Channel::Whatsapp.create!(account: account, phone_number: '+123456789')
|
||||
Inbox.create!(channel: channel, account: account, name: 'Acme Whatsapp')
|
||||
end
|
||||
|
||||
def seed_sms_inbox
|
||||
channel = Channel::Sms.create!(account: account, phone_number: '+123456789')
|
||||
Inbox.create!(channel: channel, account: account, name: 'Acme SMS')
|
||||
end
|
||||
|
||||
def seed_email_inbox
|
||||
channel = Channel::Email.create!(account: account, email: 'test@acme.inc', forward_to_email: 'test_fwd@acme.inc')
|
||||
Inbox.create!(channel: channel, account: account, name: 'Acme Email')
|
||||
end
|
||||
|
||||
def seed_api_inbox
|
||||
channel = Channel::Api.create!(account: account)
|
||||
Inbox.create!(channel: channel, account: account, name: 'Acme API')
|
||||
end
|
||||
|
||||
def seed_telegram_inbox
|
||||
# rubocop:disable Rails/SkipsModelValidations
|
||||
Channel::Telegram.insert({ account_id: account.id, bot_name: 'Acme', bot_token: 'test', created_at: Time.now.utc, updated_at: Time.now.utc },
|
||||
returning: %w[id])
|
||||
channel = Channel::Telegram.find_by(bot_token: 'test')
|
||||
Inbox.create!(channel: channel, account: account, name: 'Acme Telegram')
|
||||
# rubocop:enable Rails/SkipsModelValidations
|
||||
end
|
||||
|
||||
def seed_line_inbox
|
||||
channel = Channel::Line.create!(account: account, line_channel_id: 'test', line_channel_secret: 'test', line_channel_token: 'test')
|
||||
Inbox.create!(channel: channel, account: account, name: 'Acme Line')
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user