Maintenance: Improved translatable source strings in Settings.

This commit is contained in:
Martin Gruner 2022-01-21 16:00:17 +01:00 committed by Rolf Schmidt
parent ff246de1d7
commit fd816b3c71
3 changed files with 745 additions and 342 deletions

View file

@ -0,0 +1,346 @@
# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
class SettingUpdates < ActiveRecord::Migration[6.0]
def change # rubocop:disable Metrics/AbcSize
return if !Setting.exists?(name: 'system_init_done')
settings_update = [
{
title: __('2 lower case and 2 upper case characters'),
name: 'password_min_2_lower_2_upper_characters',
description: __('Password needs to contain 2 lower case and 2 upper case characters.'),
},
{
title: __('User email for multiple users'),
name: 'user_email_multiple_use',
description: __('Allow using one email address for multiple users.'),
},
{
title: __('sipgate.io alternative FQDN'),
name: 'sipgate_alternative_fqdn',
description: __('Alternative FQDN for callbacks if you operate Zammad in an internal network.'),
},
{
title: __('Auto Assignment'),
name: 'ticket_auto_assignment',
},
{
title: __('BCC address for all outgoing emails'),
name: 'system_bcc',
description: __('To archive all outgoing emails from Zammad to external, you can store a BCC email address here.'),
},
{
title: __('Additional follow-up detection'),
name: 'postmaster_follow_up_search_in',
description: __('By default, the follow-up check is done via the subject of an email. This setting lets you add more fields for which the follow-up check will be executed.'),
},
{
title: __('Note - default visibility'),
name: 'ui_ticket_zoom_article_note_new_internal',
description: __('Defines the default visibility for new notes.'),
},
{
title: __('Defines postmaster filter.'),
name: '0014_postmaster_filter_own_notification_loop_detection',
description: __('Defines postmaster filter to check if the email is a self-created notification email, then ignore it to prevent email loops.'),
},
{
title: __('HTTP type'),
name: 'http_type',
description: __('Defines the HTTP protocol of your instance.'),
},
{
title: __('Defines the timeframe during which a self-created note can be deleted.'),
name: 'ui_ticket_zoom_article_delete_timeframe',
},
{
title: __('Import Endpoint'),
name: 'import_freshdesk_endpoint',
description: __('Defines a Freshdesk endpoint to import users, tickets, states, and articles.'),
},
{
title: __('Import Endpoint'),
name: 'import_kayako_endpoint',
description: __('Defines a Kayako endpoint to import users, tickets, states, and articles.'),
},
{
title: __('Import Endpoint'),
name: 'import_otrs_endpoint',
description: __('Defines an OTRS endpoint to import users, tickets, states, and articles.'),
},
{
title: __('Import Endpoint'),
name: 'import_zendesk_endpoint',
description: __('Defines a Zendesk endpoint to import users, tickets, states, and articles.'),
},
{
title: __('Stats Backend'),
name: 'Stats::TicketWaitingTime',
description: __('Defines a dashboard stats backend that gets scheduled automatically.'),
},
{
title: __('Stats Backend'),
name: 'Stats::TicketEscalation',
description: __('Defines a dashboard stats backend that gets scheduled automatically.'),
},
{
title: __('Stats Backend'),
name: 'Stats::TicketChannelDistribution',
description: __('Defines a dashboard stats backend that gets scheduled automatically.'),
},
{
title: __('Stats Backend'),
name: 'Stats::TicketLoadMeasure',
description: __('Defines a dashboard stats backend that gets scheduled automatically.'),
},
{
title: __('Stats Backend'),
name: 'Stats::TicketInProcess',
description: __('Defines a dashboard stats backend that gets scheduled automatically.'),
},
{
title: __('Stats Backend'),
name: 'Stats::TicketReopen',
description: __('Defines a dashboard stats backend that gets scheduled automatically.'),
},
{
title: __('Import Password for HTTP basic authentication'),
name: 'import_otrs_password',
description: __('Defines HTTP basic authentication password (only if OTRS is protected via HTTP basic auth).'),
},
{
title: __('Developer System'),
name: 'developer_mode',
description: __('Defines if the application is in developer mode (all users have the same password and password reset will work without email delivery).'),
},
{
title: __('Group selection for ticket creation'),
name: 'form_ticket_create_group_id',
description: __('Defines the group of tickets created via web form.'),
},
{
title: __('Limit tickets by IP per day'),
name: 'form_ticket_create_by_ip_per_day',
description: __('Defines a limit for how many tickets can be created via web form from one IP address per day.'),
},
{
title: __('Limit tickets by IP per hour'),
name: 'form_ticket_create_by_ip_per_hour',
description: __('Defines a limit for how many tickets can be created via web form from one IP address per hour.'),
},
{
title: __('Limit tickets per day'),
name: 'form_ticket_create_per_day',
description: __('Defines a limit for how many tickets can be created via web form per day.'),
},
{
title: __('Defines postmaster filter.'),
name: '5400_postmaster_filter_jira_check',
description: __('Defines postmaster filter to identify Jira mails for correct follow-ups.'),
},
{
title: __('Defines postmaster filter.'),
name: '5401_postmaster_filter_jira_check',
description: __('Defines postmaster filter to identify Jira mails for correct follow-ups.'),
},
{
title: __('Defines postmaster filter.'),
name: '0950_postmaster_filter_bounce_delivery_permanent_failed',
description: __('Defines postmaster filter to identify postmaster bounces; and disables sending notification if delivery fails permanently.'),
},
{
title: __('Defines postmaster filter.'),
name: '0955_postmaster_filter_bounce_delivery_temporary_failed',
description: __('Defines postmaster filter to identify postmaster bounces; and reopens tickets if delivery fails permanently.'),
},
{
title: __('Defines postmaster filter.'),
name: '0900_postmaster_filter_bounce_follow_up_check',
description: __('Defines postmaster filter to identify postmaster bounces; and handles them as follow-up of the original tickets'),
},
{
title: __('Defines postmaster filter.'),
name: '5400_postmaster_filter_service_now_check',
description: __('Defines postmaster filter to identify ServiceNow mails for correct follow-ups.'),
},
{
title: __('Defines postmaster filter.'),
name: '5401_postmaster_filter_service_now_check',
description: __('Defines postmaster filter to identify ServiceNow mails for correct follow-ups.'),
},
{
title: __('Defines postmaster filter.'),
name: '0005_postmaster_filter_trusted',
description: __('Defines postmaster filter to remove X-Zammad headers from untrustworthy sources.'),
},
{
title: __('HTML Email CSS Font'),
name: 'html_email_css_font',
description: __('Defines the CSS font information for HTML emails.'),
},
{
title: __('Geo IP Service'),
name: 'geo_ip_backend',
description: __('Defines the backend for geo IP lookups. Also shows location of an IP address if it is traceable.'),
},
{
title: __('CTI config'),
name: 'cti_config',
description: __('Defines the CTI config.'),
},
{
title: __('Set agent limit'),
name: 'system_agent_limit',
description: __('Defines the agent limit.'),
},
{
title: __('Product Name'),
name: 'product_name',
description: __('Defines the name of the application, shown in the web interface, tabs, and title bar of the web browser.'),
},
{
title: __('Define postmaster filter.'),
name: '5500_postmaster_internal_article_check',
description: __('Defines postmaster filter which sets the articles visibility to internal if it is a rely to an internal article or the last outgoing email is internal.'),
},
{
title: __('CTI customer last activity'),
name: 'cti_customer_last_activity',
description: __('Defines the duration of customer activity (in seconds) on a call until the user profile dialog is shown.'),
},
{
title: __('Slack config'),
name: 'slack_config',
description: __('Defines the Slack config.'),
},
{
title: __('Auto-close state'),
name: 'icinga_auto_close_state_id',
description: __('Defines the state of auto-closed tickets.'),
},
{
title: __('Auto-close state'),
name: 'nagios_auto_close_state_id',
description: __('Defines the state of auto-closed tickets.'),
},
{
title: __('Auto-close state'),
name: 'check_mk_auto_close_state_id',
description: __('Defines the state of auto-closed tickets.'),
},
{
title: __('Auto-close state'),
name: 'check_mk_auto_close_state_id',
description: __('Defines the state of auto-closed tickets.'),
},
{
title: __('Locale'),
name: 'locale_default',
description: __('Defines the default system language.'),
},
{
title: __('Timezone'),
name: 'timezone_default',
description: __('Defines the default system timezone.'),
},
{
title: __('Defines transaction backend.'),
name: '9100_cti_caller_id_detection',
description: __('Defines the transaction backend which detects caller IDs in objects and stores them for CTI lookups.'),
},
{
title: __('User Organization Selector - email'),
name: 'ui_user_organization_selector_with_email',
description: __('Defines if the email should be displayed in the result of the user/organization widget.'),
},
{
title: __('GitHub App Credentials'),
name: 'auth_github_credentials',
description: __('Enables user authentication via GitHub.'),
},
{
title: __('Customer selection based on sender and receiver list'),
name: 'postmaster_sender_is_agent_search_for_customer',
description: __('If the sender is an agent, set the first user in the recipient list as the customer.'),
},
{
title: __('Import API key for requesting the Freshdesk API'),
name: 'import_freshdesk_endpoint_key',
description: __('Defines Freshdesk endpoint authentication API key.'),
},
{
title: __('Import API key for requesting the Zendesk API'),
name: 'import_zendesk_endpoint_key',
description: __('Defines Zendesk endpoint authentication API key.'),
},
{
title: __('Knowledge Base active'),
name: 'kb_active',
description: __('Defines if Knowledge Base navbar button is enabled.'),
},
{
title: __('Knowledge Base active publicly'),
name: 'kb_active_publicly',
description: __('Defines if Knowledge Base navbar button is enabled for users without Knowledge Base permission.'),
},
{
title: __('Knowledge Base multilingual support'),
name: 'kb_multi_lingual_support',
description: __('Support of multilingual Knowledge Base.'),
},
{
title: __('Maximum Email Size'),
name: 'postmaster_max_size',
description: __('Defines the maximum accepted email size in MB.'),
},
{
title: __('Maximum failed logins'),
name: 'password_max_login_failed',
description: __('Defines after how many failed logins accounts will be deactivated.'),
},
{
title: __('Sender based on Reply-To header'),
name: 'postmaster_sender_based_on_reply_to',
description: __('Set/overwrite sender/from of email based on "Reply-To" header. Useful to set correct customer if email is received from a third-party system on behalf of a customer.'),
},
{
title: __('Ticket Last Contact Behaviour'),
name: 'ticket_last_contact_behaviour',
description: __('Sets the last customer contact based on either the last contact of the customer in general or on the last contact of the customer that has not received a response.'),
},
{
title: __('CTI Token'),
name: 'cti_token',
description: __('Token for CTI.'),
},
{
title: __('CTI integration'),
name: 'cti_integration',
description: __('Defines if generic CTI integration is enabled or not.'),
},
{
title: __('Placetel Token'),
name: 'placetel_token',
description: __('Defines the token for Placetel.'),
},
]
settings_update.each do |setting|
fetched_setting = Setting.find_by(name: setting[:name])
next if !fetched_setting
if setting[:title]
# "Updating title of #{setting[:name]} to #{setting[:title]}"
fetched_setting.title = setting[:title]
end
if setting[:description]
# "Updating description of #{setting[:name]} to #{setting[:description]}"
fetched_setting.description = setting[:description]
end
fetched_setting.save!
end
end
end

View file

@ -63,7 +63,7 @@ Setting.create_if_not_exists(
area: 'Core::WebApp', area: 'Core::WebApp',
description: __('Message for login page.'), description: __('Message for login page.'),
options: {}, options: {},
state: __('Something about to share. Click here to change.'), state: __('This is a default maintenance message. Click here to change.'),
preferences: { preferences: {
permission: ['admin.maintenance'], permission: ['admin.maintenance'],
}, },
@ -73,7 +73,7 @@ Setting.create_if_not_exists(
title: __('Developer System'), title: __('Developer System'),
name: 'developer_mode', name: 'developer_mode',
area: 'Core::Develop', 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).'), description: __('Defines if the application is in developer mode (all users have the same password and password reset will work without email delivery).'),
options: {}, options: {},
state: Rails.env.development?, state: Rails.env.development?,
preferences: { online_service_disable: true }, preferences: { online_service_disable: true },
@ -93,7 +93,7 @@ Setting.create_if_not_exists(
title: __('Product Name'), title: __('Product Name'),
name: 'product_name', name: 'product_name',
area: 'System::Branding', area: 'System::Branding',
description: __('Defines the name of the application, shown in the web interface, tabs and title bar of the web browser.'), description: __('Defines the name of the application, shown in the web interface, tabs, and title bar of the web browser.'),
options: { options: {
form: [ form: [
{ {
@ -163,7 +163,7 @@ Setting.create_if_not_exists(
title: __('Locale'), title: __('Locale'),
name: 'locale_default', name: 'locale_default',
area: 'System::Branding', area: 'System::Branding',
description: __('Defines the system default language.'), description: __('Defines the default system language.'),
options: { options: {
form: [ form: [
{ {
@ -183,7 +183,7 @@ Setting.create_if_not_exists(
title: __('Timezone'), title: __('Timezone'),
name: 'timezone_default', name: 'timezone_default',
area: 'System::Branding', area: 'System::Branding',
description: __('Defines the system default timezone.'), description: __('Defines the default system timezone.'),
options: { options: {
form: [ form: [
{ {
@ -311,7 +311,7 @@ Setting.create_if_not_exists(
title: __('HTTP type'), title: __('HTTP type'),
name: 'http_type', name: 'http_type',
area: 'System::Base', area: 'System::Base',
description: __('Define the http protocol of your instance.'), description: __('Defines the HTTP protocol of your instance.'),
options: { options: {
form: [ form: [
{ {
@ -395,7 +395,7 @@ Setting.create_if_not_exists(
title: __('Geo IP Service'), title: __('Geo IP Service'),
name: 'geo_ip_backend', name: 'geo_ip_backend',
area: 'System::Services', area: 'System::Services',
description: __('Defines the backend for geo IP lookups. Shows also location of an IP address if an IP address is shown.'), description: __('Defines the backend for geo IP lookups. Also shows location of an IP address if it is traceable.'),
options: { options: {
form: [ form: [
{ {
@ -652,7 +652,7 @@ Setting.create_if_not_exists(
title: __('User Organization Selector - email'), title: __('User Organization Selector - email'),
name: 'ui_user_organization_selector_with_email', name: 'ui_user_organization_selector_with_email',
area: 'UI::UserOrganizatiomSelector', area: 'UI::UserOrganizatiomSelector',
description: __('Display of the e-mail in the result of the user/organization widget.'), description: __('Defines if the email should be displayed in the result of the user/organization widget.'),
options: { options: {
form: [ form: [
{ {
@ -679,7 +679,7 @@ Setting.create_if_not_exists(
title: __('Note - default visibility'), title: __('Note - default visibility'),
name: 'ui_ticket_zoom_article_note_new_internal', name: 'ui_ticket_zoom_article_note_new_internal',
area: 'UI::TicketZoom', area: 'UI::TicketZoom',
description: __('Default visibility for new note.'), description: __('Defines the default visibility for new notes.'),
options: { options: {
form: [ form: [
{ {
@ -1153,10 +1153,10 @@ Setting.create_if_not_exists(
frontend: true frontend: true
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('User email for muliple users'), title: __('User email for multiple users'),
name: 'user_email_multiple_use', name: 'user_email_multiple_use',
area: 'Model::User', area: 'Model::User',
description: __('Allow to use email address for muliple users.'), description: __('Allow using one email address for multiple users.'),
options: { options: {
form: [ form: [
{ {
@ -1289,7 +1289,7 @@ Setting.create_if_not_exists(
controller: 'SettingsAreaSwitch', controller: 'SettingsAreaSwitch',
sub: ['auth_twitter_credentials'], sub: ['auth_twitter_credentials'],
title_i18n: ['Twitter'], title_i18n: ['Twitter'],
description_i18n: ['Twitter', __('Twitter Developer Site'), 'https://dev.twitter.com/apps'], description_i18n: ['Twitter', 'Twitter Developer Site', 'https://dev.twitter.com/apps'], # rubocop:disable Zammad/DetectTranslatableString
permission: ['admin.security'], permission: ['admin.security'],
}, },
state: false, state: false,
@ -1352,7 +1352,7 @@ Setting.create_if_not_exists(
controller: 'SettingsAreaSwitch', controller: 'SettingsAreaSwitch',
sub: ['auth_facebook_credentials'], sub: ['auth_facebook_credentials'],
title_i18n: ['Facebook'], title_i18n: ['Facebook'],
description_i18n: ['Facebook', __('Facebook Developer Site'), 'https://developers.facebook.com/apps/'], description_i18n: ['Facebook', 'Facebook Developer Site', 'https://developers.facebook.com/apps/'], # rubocop:disable Zammad/DetectTranslatableString
permission: ['admin.security'], permission: ['admin.security'],
}, },
state: false, state: false,
@ -1417,7 +1417,7 @@ Setting.create_if_not_exists(
controller: 'SettingsAreaSwitch', controller: 'SettingsAreaSwitch',
sub: ['auth_google_oauth2_credentials'], sub: ['auth_google_oauth2_credentials'],
title_i18n: ['Google'], title_i18n: ['Google'],
description_i18n: ['Google', __('Google API Console Site'), 'https://console.cloud.google.com/apis/credentials'], description_i18n: ['Google', 'Google API Console Site', 'https://console.cloud.google.com/apis/credentials'], # rubocop:disable Zammad/DetectTranslatableString
permission: ['admin.security'], permission: ['admin.security'],
}, },
state: false, state: false,
@ -1481,7 +1481,7 @@ Setting.create_if_not_exists(
controller: 'SettingsAreaSwitch', controller: 'SettingsAreaSwitch',
sub: ['auth_linkedin_credentials'], sub: ['auth_linkedin_credentials'],
title_i18n: ['LinkedIn'], title_i18n: ['LinkedIn'],
description_i18n: ['LinkedIn', __('Linkedin Developer Site'), 'https://www.linkedin.com/developer/apps'], description_i18n: ['LinkedIn', 'LinkedIn Developer Site', 'https://www.linkedin.com/developer/apps'], # rubocop:disable Zammad/DetectTranslatableString
permission: ['admin.security'], permission: ['admin.security'],
}, },
state: false, state: false,
@ -1545,17 +1545,17 @@ Setting.create_if_not_exists(
controller: 'SettingsAreaSwitch', controller: 'SettingsAreaSwitch',
sub: ['auth_github_credentials'], sub: ['auth_github_credentials'],
title_i18n: ['Github'], title_i18n: ['Github'],
description_i18n: ['Github', __('Github OAuth Applications'), 'https://github.com/settings/applications'], description_i18n: ['Github', 'GitHub OAuth Applications', 'https://github.com/settings/applications'], # rubocop:disable Zammad/DetectTranslatableString
permission: ['admin.security'], permission: ['admin.security'],
}, },
state: false, state: false,
frontend: true frontend: true
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('Github App Credentials'), title: __('GitHub App Credentials'),
name: 'auth_github_credentials', name: 'auth_github_credentials',
area: 'Security::ThirdPartyAuthentication::Github', area: 'Security::ThirdPartyAuthentication::Github',
description: __('Enables user authentication via Github.'), description: __('Enables user authentication via GitHub.'),
options: { options: {
form: [ form: [
{ {
@ -1609,7 +1609,7 @@ Setting.create_if_not_exists(
controller: 'SettingsAreaSwitch', controller: 'SettingsAreaSwitch',
sub: ['auth_gitlab_credentials'], sub: ['auth_gitlab_credentials'],
title_i18n: ['GitLab'], title_i18n: ['GitLab'],
description_i18n: ['GitLab', __('GitLab Applications'), 'https://your-gitlab-host/admin/applications'], description_i18n: ['GitLab', 'GitLab Applications', 'https://your-gitlab-host/admin/applications'], # rubocop:disable Zammad/DetectTranslatableString
permission: ['admin.security'], permission: ['admin.security'],
}, },
state: false, state: false,
@ -1679,8 +1679,8 @@ Setting.create_if_not_exists(
preferences: { preferences: {
controller: 'SettingsAreaSwitch', controller: 'SettingsAreaSwitch',
sub: ['auth_microsoft_office365_credentials'], sub: ['auth_microsoft_office365_credentials'],
title_i18n: [__('Office 365')], title_i18n: ['Office 365'], # rubocop:disable Zammad/DetectTranslatableString
description_i18n: [__('Office 365'), __('Microsoft Application Registration Portal'), 'https://portal.azure.com'], description_i18n: ['Office 365', 'Microsoft Application Registration Portal', 'https://portal.azure.com'], # rubocop:disable Zammad/DetectTranslatableString
permission: ['admin.security'], permission: ['admin.security'],
}, },
state: false, state: false,
@ -1750,7 +1750,7 @@ Setting.create_if_not_exists(
controller: 'SettingsAreaSwitch', controller: 'SettingsAreaSwitch',
sub: ['auth_weibo_credentials'], sub: ['auth_weibo_credentials'],
title_i18n: ['Weibo'], title_i18n: ['Weibo'],
description_i18n: [__('Sina Weibo'), __('Sina Weibo Open Protal'), 'http://open.weibo.com'], description_i18n: ['Sina Weibo', 'Sina Weibo Open Portal', 'http://open.weibo.com'], # rubocop:disable Zammad/DetectTranslatableString
permission: ['admin.security'], permission: ['admin.security'],
}, },
state: false, state: false,
@ -1911,10 +1911,10 @@ Setting.create_if_not_exists(
frontend: false frontend: false
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('2 lower and 2 upper characters'), title: __('2 lower case and 2 upper case characters'),
name: 'password_min_2_lower_2_upper_characters', name: 'password_min_2_lower_2_upper_characters',
area: 'Security::Password', area: 'Security::Password',
description: __('Password needs to contain 2 lower and 2 upper characters.'), description: __('Password needs to contain 2 lower case and 2 upper case characters.'),
options: { options: {
form: [ form: [
{ {
@ -1989,7 +1989,7 @@ Setting.create_if_not_exists(
title: __('Maximum failed logins'), title: __('Maximum failed logins'),
name: 'password_max_login_failed', name: 'password_max_login_failed',
area: 'Security::Password', area: 'Security::Password',
description: __('Number of failed logins after account will be deactivated.'), description: __('Defines after how many failed logins accounts will be deactivated.'),
options: { options: {
form: [ form: [
{ {
@ -2106,7 +2106,7 @@ Setting.create_if_not_exists(
title: __('Ticket Last Contact Behaviour'), title: __('Ticket Last Contact Behaviour'),
name: 'ticket_last_contact_behaviour', name: 'ticket_last_contact_behaviour',
area: 'Ticket::Base', area: 'Ticket::Base',
description: __('Sets the last customer contact based on the last contact of a customer or on the last contact of a customer to whom an agent has not yet responded.'), description: __('Sets the last customer contact based on either the last contact of the customer in general or on the last contact of the customer that has not received a response.'),
options: { options: {
form: [ form: [
{ {
@ -2245,7 +2245,7 @@ Setting.create_if_not_exists(
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('Auto Assigment'), title: __('Auto Assignment'),
name: 'ticket_auto_assignment', name: 'ticket_auto_assignment',
area: 'Web::Base', area: 'Web::Base',
description: __('Enable ticket auto assignment.'), description: __('Enable ticket auto assignment.'),
@ -2519,10 +2519,10 @@ if group
group_id = group.id group_id = group.id
end end
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('Group selection for Ticket creation'), title: __('Group selection for ticket creation'),
name: 'form_ticket_create_group_id', name: 'form_ticket_create_group_id',
area: 'Form::Base', area: 'Form::Base',
description: __('Defines if group of created tickets via web form.'), description: __('Defines the group of tickets created via web form.'),
options: { options: {
form: [ form: [
{ {
@ -2542,10 +2542,10 @@ Setting.create_if_not_exists(
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('Limit tickets by ip per hour'), title: __('Limit tickets by IP per hour'),
name: 'form_ticket_create_by_ip_per_hour', name: 'form_ticket_create_by_ip_per_hour',
area: 'Form::Base', area: 'Form::Base',
description: __('Defines limit of tickets by ip per hour via web form.'), description: __('Defines a limit for how many tickets can be created via web form from one IP address per hour.'),
options: { options: {
form: [ form: [
{ {
@ -2563,10 +2563,10 @@ Setting.create_if_not_exists(
frontend: false, frontend: false,
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('Limit tickets by ip per day'), title: __('Limit tickets by IP per day'),
name: 'form_ticket_create_by_ip_per_day', name: 'form_ticket_create_by_ip_per_day',
area: 'Form::Base', area: 'Form::Base',
description: __('Defines limit of tickets by ip per day via web form.'), description: __('Defines a limit for how many tickets can be created via web form from one IP address per day.'),
options: { options: {
form: [ form: [
{ {
@ -2587,7 +2587,7 @@ Setting.create_if_not_exists(
title: __('Limit tickets per day'), title: __('Limit tickets per day'),
name: 'form_ticket_create_per_day', name: 'form_ticket_create_per_day',
area: 'Form::Base', area: 'Form::Base',
description: __('Defines limit of tickets per day via web form.'), description: __('Defines a limit for how many tickets can be created via web form per day.'),
options: { options: {
form: [ form: [
{ {
@ -2723,7 +2723,7 @@ Setting.create_if_not_exists(
title: __('Maximum Email Size'), title: __('Maximum Email Size'),
name: 'postmaster_max_size', name: 'postmaster_max_size',
area: 'Email::Base', area: 'Email::Base',
description: __('Maximum size in MB of emails.'), description: __('Defines the maximum accepted email size in MB.'),
options: { options: {
form: [ form: [
{ {
@ -2773,7 +2773,7 @@ Setting.create_if_not_exists(
title: __('Additional follow-up detection'), title: __('Additional follow-up detection'),
name: 'postmaster_follow_up_search_in', name: 'postmaster_follow_up_search_in',
area: 'Email::Base', area: 'Email::Base',
description: __('By default the follow-up check is done via the subject of an email. With this setting you can add more fields for which the follow-up check will be executed.'), description: __('By default, the follow-up check is done via the subject of an email. This setting lets you add more fields for which the follow-up check will be executed.'),
options: { options: {
form: [ form: [
{ {
@ -2800,7 +2800,7 @@ Setting.create_if_not_exists(
title: __('Sender based on Reply-To header'), title: __('Sender based on Reply-To header'),
name: 'postmaster_sender_based_on_reply_to', name: 'postmaster_sender_based_on_reply_to',
area: 'Email::Base', area: 'Email::Base',
description: __('Set/overwrite sender/from of email based on reply-to header. Useful to set correct customer if email is received from a third party system on behalf of a customer.'), description: __('Set/overwrite sender/from of email based on "Reply-To" header. Useful to set correct customer if email is received from a third-party system on behalf of a customer.'),
options: { options: {
form: [ form: [
{ {
@ -2827,7 +2827,7 @@ Setting.create_if_not_exists(
title: __('Customer selection based on sender and receiver list'), title: __('Customer selection based on sender and receiver list'),
name: 'postmaster_sender_is_agent_search_for_customer', name: 'postmaster_sender_is_agent_search_for_customer',
area: 'Email::Base', area: 'Email::Base',
description: __('If the sender is an agent, set the first user in the recipient list as a customer.'), description: __('If the sender is an agent, set the first user in the recipient list as the customer.'),
options: { options: {
form: [ form: [
{ {
@ -2923,10 +2923,10 @@ Setting.create_if_not_exists(
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('Bcc address for all outgoing emails'), title: __('BCC address for all outgoing emails'),
name: 'system_bcc', name: 'system_bcc',
area: 'Email::Enhanced', area: 'Email::Enhanced',
description: __('To archive all outgoing emails from Zammad to external, you can store a bcc email address here.'), description: __('To archive all outgoing emails from Zammad to external, you can store a BCC email address here.'),
options: {}, options: {},
state: '', state: '',
preferences: { online_service_disable: true }, preferences: { online_service_disable: true },
@ -3209,7 +3209,7 @@ Setting.create_if_not_exists(
title: __('Import Endpoint'), title: __('Import Endpoint'),
name: 'import_otrs_endpoint', name: 'import_otrs_endpoint',
area: 'Import::OTRS', area: 'Import::OTRS',
description: __('Defines OTRS endpoint to import users, tickets, states and articles.'), description: __('Defines an OTRS endpoint to import users, tickets, states, and articles.'),
options: { options: {
form: [ form: [
{ {
@ -3262,10 +3262,10 @@ Setting.create_if_not_exists(
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('Import Password for http basic authentication'), title: __('Import Password for HTTP basic authentication'),
name: 'import_otrs_password', name: 'import_otrs_password',
area: 'Import::OTRS', area: 'Import::OTRS',
description: __('Defines http basic authentication password (only if OTRS is protected via http basic auth).'), description: __('Defines HTTP basic authentication password (only if OTRS is protected via HTTP basic auth).'),
options: { options: {
form: [ form: [
{ {
@ -3284,7 +3284,7 @@ Setting.create_if_not_exists(
title: __('Import Endpoint'), title: __('Import Endpoint'),
name: 'import_zendesk_endpoint', name: 'import_zendesk_endpoint',
area: 'Import::Zendesk', area: 'Import::Zendesk',
description: __('Defines Zendesk endpoint to import users, ticket, states and articles.'), description: __('Defines a Zendesk endpoint to import users, tickets, states, and articles.'),
options: { options: {
form: [ form: [
{ {
@ -3299,10 +3299,10 @@ Setting.create_if_not_exists(
frontend: false frontend: false
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('Import Key for requesting the Zendesk API'), title: __('Import API key for requesting the Zendesk API'),
name: 'import_zendesk_endpoint_key', name: 'import_zendesk_endpoint_key',
area: 'Import::Zendesk', area: 'Import::Zendesk',
description: __('Defines Zendesk endpoint authentication key.'), description: __('Defines Zendesk endpoint authentication API key.'),
options: { options: {
form: [ form: [
{ {
@ -3340,7 +3340,7 @@ Setting.create_if_not_exists(
title: __('Import Endpoint'), title: __('Import Endpoint'),
name: 'import_freshdesk_endpoint', name: 'import_freshdesk_endpoint',
area: 'Import::Freshdesk', area: 'Import::Freshdesk',
description: __('Defines Freshdesk endpoint to import users, ticket, states and articles.'), description: __('Defines a Freshdesk endpoint to import users, tickets, states, and articles.'),
options: { options: {
form: [ form: [
{ {
@ -3355,10 +3355,10 @@ Setting.create_if_not_exists(
frontend: false frontend: false
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('Import Key for requesting the Freshdesk API'), title: __('Import API key for requesting the Freshdesk API'),
name: 'import_freshdesk_endpoint_key', name: 'import_freshdesk_endpoint_key',
area: 'Import::Freshdesk', area: 'Import::Freshdesk',
description: __('Defines Freshdesk endpoint authentication key.'), description: __('Defines Freshdesk endpoint authentication API key.'),
options: { options: {
form: [ form: [
{ {
@ -3377,7 +3377,7 @@ Setting.create_if_not_exists(
title: __('Import Endpoint'), title: __('Import Endpoint'),
name: 'import_kayako_endpoint', name: 'import_kayako_endpoint',
area: 'Import::Kayako', area: 'Import::Kayako',
description: __('Defines Kayako endpoint to import users, ticket, states and articles.'), description: __('Defines a Kayako endpoint to import users, tickets, states, and articles.'),
options: { options: {
form: [ form: [
{ {
@ -3432,7 +3432,7 @@ Setting.create_if_not_exists(
title: __('Import Backends'), title: __('Import Backends'),
name: 'import_backends', name: 'import_backends',
area: 'Import', area: 'Import',
description: __('A list of active import backends that get scheduled automatically.'), description: __('A list of active import backends that gets scheduled automatically.'),
options: {}, options: {},
state: ['Import::Ldap', 'Import::Exchange'], state: ['Import::Ldap', 'Import::Exchange'],
preferences: { preferences: {
@ -3588,7 +3588,7 @@ Setting.create_if_not_exists(
title: __('Defines postmaster filter.'), title: __('Defines postmaster filter.'),
name: '0005_postmaster_filter_trusted', name: '0005_postmaster_filter_trusted',
area: 'Postmaster::PreFilter', area: 'Postmaster::PreFilter',
description: __('Defines postmaster filter to remove X-Zammad headers from not trusted sources.'), description: __('Defines postmaster filter to remove X-Zammad headers from untrustworthy sources.'),
options: {}, options: {},
state: 'Channel::Filter::Trusted', state: 'Channel::Filter::Trusted',
frontend: false frontend: false
@ -3660,7 +3660,7 @@ Setting.create_if_not_exists(
title: __('Defines postmaster filter.'), title: __('Defines postmaster filter.'),
name: '0014_postmaster_filter_own_notification_loop_detection', name: '0014_postmaster_filter_own_notification_loop_detection',
area: 'Postmaster::PreFilter', area: 'Postmaster::PreFilter',
description: __('Define postmaster filter to check if email is a own created notification email, then ignore it to prevent email loops.'), description: __('Defines postmaster filter to check if the email is a self-created notification email, then ignore it to prevent email loops.'),
options: {}, options: {},
state: 'Channel::Filter::OwnNotificationLoopDetection', state: 'Channel::Filter::OwnNotificationLoopDetection',
frontend: false frontend: false
@ -3705,7 +3705,7 @@ Setting.create_if_not_exists(
title: __('Defines postmaster filter.'), title: __('Defines postmaster filter.'),
name: '0900_postmaster_filter_bounce_follow_up_check', name: '0900_postmaster_filter_bounce_follow_up_check',
area: 'Postmaster::PreFilter', area: 'Postmaster::PreFilter',
description: __('Defines postmaster filter to identify postmaster bounced - to handle it as follow-up of the original ticket.'), description: __('Defines postmaster filter to identify postmaster bounces; and handles them as follow-up of the original tickets'),
options: {}, options: {},
state: 'Channel::Filter::BounceFollowUpCheck', state: 'Channel::Filter::BounceFollowUpCheck',
frontend: false frontend: false
@ -3714,7 +3714,7 @@ Setting.create_if_not_exists(
title: __('Defines postmaster filter.'), title: __('Defines postmaster filter.'),
name: '0950_postmaster_filter_bounce_delivery_permanent_failed', name: '0950_postmaster_filter_bounce_delivery_permanent_failed',
area: 'Postmaster::PreFilter', area: 'Postmaster::PreFilter',
description: __('Defines postmaster filter to identify postmaster bounced - disable sending notification on permanent deleivery failed.'), description: __('Defines postmaster filter to identify postmaster bounces; and disables sending notification if delivery fails permanently.'),
options: {}, options: {},
state: 'Channel::Filter::BounceDeliveryPermanentFailed', state: 'Channel::Filter::BounceDeliveryPermanentFailed',
frontend: false frontend: false
@ -3723,7 +3723,7 @@ Setting.create_if_not_exists(
title: __('Defines postmaster filter.'), title: __('Defines postmaster filter.'),
name: '0955_postmaster_filter_bounce_delivery_temporary_failed', name: '0955_postmaster_filter_bounce_delivery_temporary_failed',
area: 'Postmaster::PreFilter', area: 'Postmaster::PreFilter',
description: __('Defines postmaster filter to identify postmaster bounced - reopen ticket on permanent temporary failed.'), description: __('Defines postmaster filter to identify postmaster bounces; and reopens tickets if delivery fails permanently.'),
options: {}, options: {},
state: 'Channel::Filter::BounceDeliveryTemporaryFailed', state: 'Channel::Filter::BounceDeliveryTemporaryFailed',
frontend: false frontend: false
@ -3768,7 +3768,7 @@ Setting.create_if_not_exists(
title: __('Defines postmaster filter.'), title: __('Defines postmaster filter.'),
name: '5400_postmaster_filter_service_now_check', name: '5400_postmaster_filter_service_now_check',
area: 'Postmaster::PreFilter', area: 'Postmaster::PreFilter',
description: __('Defines postmaster filter to identify service now mails for correct follow-ups.'), description: __('Defines postmaster filter to identify ServiceNow mails for correct follow-ups.'),
options: {}, options: {},
state: 'Channel::Filter::ServiceNowCheck', state: 'Channel::Filter::ServiceNowCheck',
frontend: false frontend: false
@ -3777,7 +3777,7 @@ Setting.create_if_not_exists(
title: __('Defines postmaster filter.'), title: __('Defines postmaster filter.'),
name: '5401_postmaster_filter_service_now_check', name: '5401_postmaster_filter_service_now_check',
area: 'Postmaster::PostFilter', area: 'Postmaster::PostFilter',
description: __('Defines postmaster filter to identify service now mails for correct follow-ups.'), description: __('Defines postmaster filter to identify ServiceNow mails for correct follow-ups.'),
options: {}, options: {},
state: 'Channel::Filter::ServiceNowCheck', state: 'Channel::Filter::ServiceNowCheck',
frontend: false frontend: false
@ -3786,7 +3786,7 @@ Setting.create_if_not_exists(
title: __('Defines postmaster filter.'), title: __('Defines postmaster filter.'),
name: '5400_postmaster_filter_jira_check', name: '5400_postmaster_filter_jira_check',
area: 'Postmaster::PreFilter', area: 'Postmaster::PreFilter',
description: __('Defines postmaster filter to identify jira mails for correct follow-ups.'), description: __('Defines postmaster filter to identify Jira mails for correct follow-ups.'),
options: {}, options: {},
state: 'Channel::Filter::JiraCheck', state: 'Channel::Filter::JiraCheck',
frontend: false frontend: false
@ -3795,7 +3795,7 @@ Setting.create_if_not_exists(
title: __('Defines postmaster filter.'), title: __('Defines postmaster filter.'),
name: '5401_postmaster_filter_jira_check', name: '5401_postmaster_filter_jira_check',
area: 'Postmaster::PostFilter', area: 'Postmaster::PostFilter',
description: __('Defines postmaster filter to identify jira mails for correct follow-ups.'), description: __('Defines postmaster filter to identify Jira mails for correct follow-ups.'),
options: {}, options: {},
state: 'Channel::Filter::JiraCheck', state: 'Channel::Filter::JiraCheck',
frontend: false frontend: false
@ -3804,7 +3804,7 @@ Setting.create_if_not_exists(
title: __('Define postmaster filter.'), title: __('Define postmaster filter.'),
name: '5500_postmaster_internal_article_check', name: '5500_postmaster_internal_article_check',
area: 'Postmaster::PreFilter', area: 'Postmaster::PreFilter',
description: __('Defines the postmaster filter which set the article internal if a forwarded, replied or sent email also exists with the article internal received.'), description: __('Defines postmaster filter which sets the articles visibility to internal if it is a rely to an internal article or the last outgoing email is internal.'),
options: {}, options: {},
state: 'Channel::Filter::InternalArticleCheck', state: 'Channel::Filter::InternalArticleCheck',
frontend: false frontend: false
@ -3885,10 +3885,10 @@ Setting.create_if_not_exists(
frontend: false frontend: false
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('Auto close state'), title: __('Auto-close state'),
name: 'icinga_auto_close_state_id', name: 'icinga_auto_close_state_id',
area: 'Integration::Icinga', area: 'Integration::Icinga',
description: __('Defines the state of auto closed tickets.'), description: __('Defines the state of auto-closed tickets.'),
options: { options: {
form: [ form: [
{ {
@ -3983,10 +3983,10 @@ Setting.create_if_not_exists(
frontend: false frontend: false
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('Auto close state'), title: __('Auto-close state'),
name: 'nagios_auto_close_state_id', name: 'nagios_auto_close_state_id',
area: 'Integration::Nagios', area: 'Integration::Nagios',
description: __('Defines the state of auto closed tickets.'), description: __('Defines the state of auto-closed tickets.'),
options: { options: {
form: [ form: [
{ {
@ -4081,10 +4081,10 @@ Setting.create_if_not_exists(
frontend: false frontend: false
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('Auto close state'), title: __('Auto-close state'),
name: 'check_mk_auto_close_state_id', name: 'check_mk_auto_close_state_id',
area: 'Integration::CheckMK', area: 'Integration::CheckMK',
description: __('Defines the state of auto closed tickets.'), description: __('Defines the state of auto-closed tickets.'),
options: { options: {
form: [ form: [
{ {
@ -4192,10 +4192,10 @@ Setting.create_if_not_exists(
frontend: false frontend: false
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('Auto close state'), title: __('Auto-close state'),
name: 'monit_auto_close_state_id', name: 'monit_auto_close_state_id',
area: 'Integration::Monit', area: 'Integration::Monit',
description: __('Defines the state of auto closed tickets.'), description: __('Defines the state of auto-closed tickets.'),
options: { options: {
form: [ form: [
{ {
@ -4486,7 +4486,7 @@ Setting.create_if_not_exists(
title: __('Slack config'), title: __('Slack config'),
name: 'slack_config', name: 'slack_config',
area: 'Integration::Slack', area: 'Integration::Slack',
description: __('Defines the slack config.'), description: __('Defines the Slack config.'),
options: {}, options: {},
state: { state: {
items: [] items: []
@ -4539,10 +4539,10 @@ Setting.create_if_not_exists(
frontend: false, frontend: false,
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('sipgate.io alternative fqdn'), title: __('sipgate.io alternative FQDN'),
name: 'sipgate_alternative_fqdn', name: 'sipgate_alternative_fqdn',
area: 'Integration::Sipgate::Expert', area: 'Integration::Sipgate::Expert',
description: __('Alternative FQDN for callbacks if you operate Zammad in internal network.'), description: __('Alternative FQDN for callbacks if you operate Zammad in an internal network.'),
options: { options: {
form: [ form: [
{ {
@ -4560,10 +4560,10 @@ Setting.create_if_not_exists(
frontend: false frontend: false
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('cti integration'), title: __('CTI integration'),
name: 'cti_integration', name: 'cti_integration',
area: 'Integration::Switch', area: 'Integration::Switch',
description: __('Defines if generic CTI is enabled or not.'), description: __('Defines if generic CTI integration is enabled or not.'),
options: { options: {
form: [ form: [
{ {
@ -4588,10 +4588,10 @@ Setting.create_if_not_exists(
frontend: true frontend: true
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('cti config'), title: __('CTI config'),
name: 'cti_config', name: 'cti_config',
area: 'Integration::Cti', area: 'Integration::Cti',
description: __('Defines the cti config.'), description: __('Defines the CTI config.'),
options: {}, options: {},
state: { 'outbound' => { 'routing_table' => [], 'default_caller_id' => '' }, 'inbound' => { 'block_caller_ids' => [] } }, state: { 'outbound' => { 'routing_table' => [], 'default_caller_id' => '' }, 'inbound' => { 'block_caller_ids' => [] } },
preferences: { preferences: {
@ -4604,7 +4604,7 @@ Setting.create_if_not_exists(
title: __('CTI Token'), title: __('CTI Token'),
name: 'cti_token', name: 'cti_token',
area: 'Integration::Cti', area: 'Integration::Cti',
description: __('Token for cti.'), description: __('Token for CTI.'),
options: { options: {
form: [ form: [
{ {
@ -4622,10 +4622,10 @@ Setting.create_if_not_exists(
frontend: false frontend: false
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('cti customer last activity'), title: __('CTI customer last activity'),
name: 'cti_customer_last_activity', name: 'cti_customer_last_activity',
area: 'Integration::Cti', area: 'Integration::Cti',
description: __('Defines the range in seconds of customer activity to trigger the user profile dialog on call.'), description: __('Defines the duration of customer activity (in seconds) on a call until the user profile dialog is shown.'),
options: {}, options: {},
state: 30.days, state: 30.days,
preferences: { preferences: {
@ -4677,10 +4677,10 @@ Setting.create_if_not_exists(
frontend: false, frontend: false,
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('PLACETEL Token'), title: __('Placetel Token'),
name: 'placetel_token', name: 'placetel_token',
area: 'Integration::Placetel', area: 'Integration::Placetel',
description: __('Token for Placetel.'), description: __('Defines the token for Placetel.'),
options: { options: {
form: [ form: [
{ {
@ -4749,7 +4749,7 @@ Setting.create_if_not_exists(
title: __('Defines transaction backend.'), title: __('Defines transaction backend.'),
name: '9100_cti_caller_id_detection', name: '9100_cti_caller_id_detection',
area: 'Transaction::Backend::Async', area: 'Transaction::Backend::Async',
description: __('Defines the transaction backend which detects caller IDs in objects and store them for CTI lookups.'), description: __('Defines the transaction backend which detects caller IDs in objects and stores them for CTI lookups.'),
options: {}, options: {},
state: 'Transaction::CtiCallerIdDetection', state: 'Transaction::CtiCallerIdDetection',
frontend: false frontend: false
@ -4814,10 +4814,10 @@ Setting.create_if_not_exists(
frontend: false frontend: false
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('Set limit of agents'), title: __('Set agent limit'),
name: 'system_agent_limit', name: 'system_agent_limit',
area: 'Core::Online', area: 'Core::Online',
description: __('Defines the limit of the agents.'), description: __('Defines the agent limit.'),
options: {}, options: {},
state: false, state: false,
preferences: { online_service_disable: true }, preferences: { online_service_disable: true },
@ -4828,7 +4828,7 @@ Setting.create_if_not_exists(
title: __('HTML Email CSS Font'), title: __('HTML Email CSS Font'),
name: 'html_email_css_font', name: 'html_email_css_font',
area: 'Core', area: 'Core',
description: __('Defines the CSS font information for HTML Emails.'), description: __('Defines the CSS font information for HTML emails.'),
options: {}, options: {},
state: "font-family:'Helvetica Neue', Helvetica, Arial, Geneva, sans-serif; font-size: 12px;", state: "font-family:'Helvetica Neue', Helvetica, Arial, Geneva, sans-serif; font-size: 12px;",
preferences: { preferences: {
@ -4842,7 +4842,7 @@ Setting.create_if_not_exists(
title: __('Stats Backend'), title: __('Stats Backend'),
name: 'Stats::TicketWaitingTime', name: 'Stats::TicketWaitingTime',
area: 'Dashboard::Stats', area: 'Dashboard::Stats',
description: __('Defines a dashboard stats backend that get scheduled automatically.'), description: __('Defines a dashboard stats backend that gets scheduled automatically.'),
options: {}, options: {},
state: 'Stats::TicketWaitingTime', state: 'Stats::TicketWaitingTime',
preferences: { preferences: {
@ -4857,7 +4857,7 @@ Setting.create_if_not_exists(
title: __('Stats Backend'), title: __('Stats Backend'),
name: 'Stats::TicketEscalation', name: 'Stats::TicketEscalation',
area: 'Dashboard::Stats', area: 'Dashboard::Stats',
description: __('Defines a dashboard stats backend that get scheduled automatically.'), description: __('Defines a dashboard stats backend that gets scheduled automatically.'),
options: {}, options: {},
state: 'Stats::TicketEscalation', state: 'Stats::TicketEscalation',
preferences: { preferences: {
@ -4872,7 +4872,7 @@ Setting.create_if_not_exists(
title: __('Stats Backend'), title: __('Stats Backend'),
name: 'Stats::TicketChannelDistribution', name: 'Stats::TicketChannelDistribution',
area: 'Dashboard::Stats', area: 'Dashboard::Stats',
description: __('Defines a dashboard stats backend that get scheduled automatically.'), description: __('Defines a dashboard stats backend that gets scheduled automatically.'),
options: {}, options: {},
state: 'Stats::TicketChannelDistribution', state: 'Stats::TicketChannelDistribution',
preferences: { preferences: {
@ -4887,7 +4887,7 @@ Setting.create_if_not_exists(
title: __('Stats Backend'), title: __('Stats Backend'),
name: 'Stats::TicketLoadMeasure', name: 'Stats::TicketLoadMeasure',
area: 'Dashboard::Stats', area: 'Dashboard::Stats',
description: __('Defines a dashboard stats backend that get scheduled automatically.'), description: __('Defines a dashboard stats backend that gets scheduled automatically.'),
options: {}, options: {},
state: 'Stats::TicketLoadMeasure', state: 'Stats::TicketLoadMeasure',
preferences: { preferences: {
@ -4902,7 +4902,7 @@ Setting.create_if_not_exists(
title: __('Stats Backend'), title: __('Stats Backend'),
name: 'Stats::TicketInProcess', name: 'Stats::TicketInProcess',
area: 'Dashboard::Stats', area: 'Dashboard::Stats',
description: __('Defines a dashboard stats backend that get scheduled automatically.'), description: __('Defines a dashboard stats backend that gets scheduled automatically.'),
options: {}, options: {},
state: 'Stats::TicketInProcess', state: 'Stats::TicketInProcess',
preferences: { preferences: {
@ -4917,7 +4917,7 @@ Setting.create_if_not_exists(
title: __('Stats Backend'), title: __('Stats Backend'),
name: 'Stats::TicketReopen', name: 'Stats::TicketReopen',
area: 'Dashboard::Stats', area: 'Dashboard::Stats',
description: __('Defines a dashboard stats backend that get scheduled automatically.'), description: __('Defines a dashboard stats backend that gets scheduled automatically.'),
options: {}, options: {},
state: 'Stats::TicketReopen', state: 'Stats::TicketReopen',
preferences: { preferences: {
@ -4928,10 +4928,10 @@ Setting.create_if_not_exists(
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('Kb multi-lingual support'), title: __('Knowledge Base multilingual support'),
name: 'kb_multi_lingual_support', name: 'kb_multi_lingual_support',
area: 'Kb::Core', area: 'Kb::Core',
description: __('Support of multi-lingual Knowledge Base.'), description: __('Support of multilingual Knowledge Base.'),
options: {}, options: {},
state: true, state: true,
preferences: { online_service_disable: true }, preferences: { online_service_disable: true },
@ -4939,10 +4939,10 @@ Setting.create_if_not_exists(
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('Kb active'), title: __('Knowledge Base active'),
name: 'kb_active', name: 'kb_active',
area: 'Kb::Core', area: 'Kb::Core',
description: __('Defines if KB navbar button is enabled'), description: __('Defines if Knowledge Base navbar button is enabled.'),
state: true, state: true,
preferences: { preferences: {
prio: 1, prio: 1,
@ -4954,10 +4954,10 @@ Setting.create_if_not_exists(
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('Kb active publicly'), title: __('Knowledge Base active publicly'),
name: 'kb_active_publicly', name: 'kb_active_publicly',
area: 'Kb::Core', area: 'Kb::Core',
description: __('Defines if KB navbar button is enabled for users without KB permission'), description: __('Defines if Knowledge Base navbar button is enabled for users without Knowledge Base permission.'),
state: false, state: false,
preferences: { preferences: {
prio: 1, prio: 1,
@ -4969,7 +4969,7 @@ Setting.create_if_not_exists(
) )
Setting.create_if_not_exists( Setting.create_if_not_exists(
title: __('Define timeframe where a own created note can get deleted.'), title: __('Defines the timeframe during which a self-created note can be deleted.'),
name: 'ui_ticket_zoom_article_delete_timeframe', name: 'ui_ticket_zoom_article_delete_timeframe',
area: 'UI::TicketZoomArticle', area: 'UI::TicketZoomArticle',
description: __("Set timeframe in seconds. If it's set to 0 you can delete notes without time limits"), description: __("Set timeframe in seconds. If it's set to 0 you can delete notes without time limits"),
@ -5046,7 +5046,7 @@ Setting.create_if_not_exists(
controller: 'SettingsAreaSwitch', controller: 'SettingsAreaSwitch',
sub: {}, sub: {},
title_i18n: ['SSO'], title_i18n: ['SSO'],
description_i18n: ['SSO', __('Button for Single Sign On.')], description_i18n: ['SSO'],
permission: ['admin.security'], permission: ['admin.security'],
}, },
state: false, state: false,

File diff suppressed because it is too large Load diff