51 lines
1.3 KiB
Ruby
51 lines
1.3 KiB
Ruby
class DashboardController < ActionController::Base
|
|
include SwitchLocale
|
|
|
|
before_action :set_global_config
|
|
around_action :switch_locale
|
|
before_action :ensure_installation_onboarding, only: [:index]
|
|
after_action :allow_iframe_requests
|
|
|
|
layout 'vueapp'
|
|
|
|
def index; end
|
|
|
|
private
|
|
|
|
def set_global_config
|
|
@global_config = GlobalConfig.get(
|
|
'LOGO',
|
|
'LOGO_THUMBNAIL',
|
|
'INSTALLATION_NAME',
|
|
'WIDGET_BRAND_URL',
|
|
'TERMS_URL',
|
|
'PRIVACY_URL',
|
|
'DISPLAY_MANIFEST',
|
|
'CREATE_NEW_ACCOUNT_FROM_DASHBOARD',
|
|
'CHATWOOT_INBOX_TOKEN',
|
|
'API_CHANNEL_NAME',
|
|
'API_CHANNEL_THUMBNAIL',
|
|
'ANALYTICS_TOKEN',
|
|
'ANALYTICS_HOST',
|
|
'DIRECT_UPLOADS_ENABLED',
|
|
'HCAPTCHA_SITE_KEY',
|
|
'LOGOUT_REDIRECT_LINK',
|
|
'DISABLE_USER_PROFILE_UPDATE'
|
|
).merge(app_config)
|
|
end
|
|
|
|
def ensure_installation_onboarding
|
|
redirect_to '/installation/onboarding' if ::Redis::Alfred.get(::Redis::Alfred::CHATWOOT_INSTALLATION_ONBOARDING)
|
|
end
|
|
|
|
def allow_iframe_requests
|
|
response.headers.delete('X-Frame-Options')
|
|
end
|
|
|
|
def app_config
|
|
{ APP_VERSION: Chatwoot.config[:version],
|
|
VAPID_PUBLIC_KEY: VapidService.public_key,
|
|
ENABLE_ACCOUNT_SIGNUP: GlobalConfigService.load('ENABLE_ACCOUNT_SIGNUP', 'false'),
|
|
FB_APP_ID: GlobalConfigService.load('FB_APP_ID', '') }
|
|
end
|
|
end
|