2017-04-26 11:28:32 +00:00
Setting . create_if_not_exists (
title : 'Application secret' ,
name : 'application_secret' ,
area : 'Core' ,
description : 'Defines the random application secret.' ,
options : { } ,
state : SecureRandom . hex ( 128 ) ,
preferences : {
permission : [ 'admin' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'System Init Done' ,
name : 'system_init_done' ,
area : 'Core' ,
description : 'Defines if application is in init mode.' ,
options : { } ,
state : false ,
preferences : { online_service_disable : true } ,
frontend : true
)
Setting . create_if_not_exists (
title : 'App Version' ,
name : 'app_version' ,
area : 'Core::WebApp' ,
description : 'Only used internally to propagate current web app version to clients.' ,
options : { } ,
state : '' ,
preferences : { online_service_disable : true } ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Maintenance Mode' ,
name : 'maintenance_mode' ,
area : 'Core::WebApp' ,
description : 'Enable or disable the maintenance mode of Zammad. If enabled, all non-administrators get logged out and only administrators can start a new session.' ,
options : { } ,
state : false ,
preferences : {
permission : [ 'admin.maintenance' ] ,
} ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Maintenance Login' ,
name : 'maintenance_login' ,
area : 'Core::WebApp' ,
description : 'Put a message on the login page. To change it, click on the text area below and change it inline.' ,
options : { } ,
state : false ,
preferences : {
permission : [ 'admin.maintenance' ] ,
} ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Maintenance Login' ,
name : 'maintenance_login_message' ,
area : 'Core::WebApp' ,
description : 'Message for login page.' ,
options : { } ,
state : 'Something about to share. Click here to change.' ,
preferences : {
permission : [ 'admin.maintenance' ] ,
} ,
frontend : true
)
Setting . create_if_not_exists (
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 : false ,
preferences : { online_service_disable : true } ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Online Service' ,
name : 'system_online_service' ,
area : 'Core' ,
description : 'Defines if application is used as online service.' ,
options : { } ,
state : false ,
preferences : { online_service_disable : true } ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Product Name' ,
name : 'product_name' ,
area : 'System::Branding' ,
description : 'Defines the name of the application, shown in the web interface, tabs and title bar of the web browser.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'product_name' ,
tag : 'input' ,
} ,
] ,
} ,
preferences : {
render : true ,
prio : 1 ,
placeholder : true ,
permission : [ 'admin.branding' ] ,
} ,
state : 'Zammad Helpdesk' ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Logo' ,
name : 'product_logo' ,
area : 'System::Branding' ,
description : 'Defines the logo of the application, shown in the web interface.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'product_logo' ,
tag : 'input' ,
} ,
] ,
} ,
preferences : {
prio : 3 ,
controller : 'SettingsAreaLogo' ,
permission : [ 'admin.branding' ] ,
} ,
state : 'logo.svg' ,
frontend : true
)
Setting . create_if_not_exists (
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 ,
placeholder : true ,
permission : [ 'admin.branding' ] ,
} ,
frontend : true
)
Setting . create_or_update (
title : 'Pretty Date' ,
name : 'pretty_date_format' ,
area : 'System::Branding' ,
description : 'Defines pretty date format.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'pretty_date_format' ,
tag : 'select' ,
options : {
'relative' : 'relative - e. g. "2 hours ago" or "2 days and 15 minutes ago"' ,
'absolute' : 'absolute - e. g. "Monday 09:30" or "Tuesday 23. Feb 14:20"' ,
} ,
} ,
] ,
} ,
preferences : {
render : true ,
prio : 10 ,
permission : [ 'admin.branding' ] ,
} ,
state : 'relative' ,
frontend : true
)
options = { }
( 10 .. 99 ) . each { | item |
options [ item ] = item
}
system_id = rand ( 10 .. 99 )
Setting . create_if_not_exists (
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 : options ,
} ,
] ,
} ,
state : system_id ,
preferences : {
online_service_disable : true ,
placeholder : true ,
authentication : true ,
permission : [ 'admin.system' ] ,
} ,
frontend : true
)
Setting . create_if_not_exists (
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 : 'zammad.example.com' ,
preferences : {
online_service_disable : true ,
placeholder : true ,
permission : [ 'admin.system' ] ,
} ,
frontend : true
)
Setting . create_if_not_exists (
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 : '6042' ,
preferences : { online_service_disable : true } ,
frontend : true
)
Setting . create_if_not_exists (
title : 'HTTP type' ,
name : 'http_type' ,
area : 'System::Base' ,
description : 'Define the http protocol of your instance.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'http_type' ,
tag : 'select' ,
options : {
'https' = > 'https' ,
'http' = > 'http' ,
} ,
} ,
] ,
} ,
state : 'http' ,
preferences : {
online_service_disable : true ,
placeholder : true ,
permission : [ 'admin.system' ] ,
} ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Storage Mechanism' ,
name : 'storage_provider' ,
area : 'System::Storage' ,
description : '"Database" stores all attachments in the database (not recommended for storing large amounts of data). "Filesystem" stores the data in 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_provider' ,
tag : 'select' ,
tranlate : true ,
options : {
'DB' = > 'Database' ,
'File' = > 'Filesystem' ,
} ,
} ,
] ,
} ,
state : 'DB' ,
preferences : {
controller : 'SettingsAreaStorageProvider' ,
online_service_disable : true ,
permission : [ 'admin.system' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Image Service' ,
name : 'image_backend' ,
area : 'System::Services' ,
description : 'Defines the backend for user and organization image lookups.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'image_backend' ,
tag : 'select' ,
options : {
'' = > '-' ,
'Service::Image::Zammad' = > 'Zammad Image Service' ,
} ,
} ,
] ,
} ,
state : 'Service::Image::Zammad' ,
preferences : {
prio : 1 ,
permission : [ 'admin.system' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Geo IP Service' ,
name : 'geo_ip_backend' ,
area : 'System::Services' ,
description : 'Defines the backend for geo IP lookups. Shows also location of an IP address if an IP address is shown.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'geo_ip_backend' ,
tag : 'select' ,
options : {
'' = > '-' ,
'Service::GeoIp::Zammad' = > 'Zammad GeoIP Service' ,
} ,
} ,
] ,
} ,
state : 'Service::GeoIp::Zammad' ,
preferences : {
prio : 2 ,
permission : [ 'admin.system' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Geo Location Service' ,
name : 'geo_location_backend' ,
area : 'System::Services' ,
description : 'Defines the backend for geo location lookups to store geo locations for addresses.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'geo_location_backend' ,
tag : 'select' ,
options : {
'' = > '-' ,
'Service::GeoLocation::Gmaps' = > 'Google Maps' ,
} ,
} ,
] ,
} ,
state : 'Service::GeoLocation::Gmaps' ,
preferences : {
prio : 3 ,
permission : [ 'admin.system' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Geo Calendar Service' ,
name : 'geo_calendar_backend' ,
area : 'System::Services' ,
description : 'Defines the backend for geo calendar lookups. Used for initial calendar succession.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'geo_calendar_backend' ,
tag : 'select' ,
options : {
'' = > '-' ,
'Service::GeoCalendar::Zammad' = > 'Zammad GeoCalendar Service' ,
} ,
} ,
] ,
} ,
state : 'Service::GeoCalendar::Zammad' ,
preferences : {
prio : 2 ,
permission : [ 'admin.system' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Proxy Settings' ,
name : 'proxy' ,
area : 'System::Network' ,
description : 'Address of the proxy server for http and https resources.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'proxy' ,
tag : 'input' ,
placeholder : 'proxy.example.com:3128' ,
} ,
] ,
} ,
state : '' ,
preferences : {
online_service_disable : true ,
controller : 'SettingsAreaProxy' ,
prio : 1 ,
permission : [ 'admin.system' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Proxy User' ,
name : 'proxy_username' ,
area : 'System::Network' ,
description : 'Username for proxy connection.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'proxy_username' ,
tag : 'input' ,
} ,
] ,
} ,
state : '' ,
preferences : {
disabled : true ,
online_service_disable : true ,
prio : 2 ,
permission : [ 'admin.system' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Proxy Password' ,
name : 'proxy_password' ,
area : 'System::Network' ,
description : 'Password for proxy connection.' ,
options : {
form : [
{
display : '' ,
null : false ,
2017-07-27 10:05:54 +00:00
name : 'proxy_password' ,
2017-04-26 11:28:32 +00:00
tag : 'input' ,
} ,
] ,
} ,
state : '' ,
preferences : {
disabled : true ,
online_service_disable : true ,
prio : 3 ,
permission : [ 'admin.system' ] ,
} ,
frontend : false
)
2017-07-27 10:05:54 +00:00
Setting . create_if_not_exists (
title : 'No Proxy' ,
name : 'proxy_no' ,
area : 'System::Network' ,
description : 'No proxy for the following hosts.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'proxy_no' ,
tag : 'input' ,
} ,
] ,
} ,
state : 'localhost,127.0.0.0,::1' ,
preferences : {
disabled : true ,
online_service_disable : true ,
prio : 4 ,
permission : [ 'admin.system' ] ,
} ,
frontend : false
)
2017-04-26 11:28:32 +00:00
Setting . create_if_not_exists (
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 : false ,
preferences : {
prio : 1 ,
permission : [ 'admin.system' ] ,
} ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Client storage' ,
name : 'ui_client_storage' ,
area : 'System::UI' ,
description : 'Use client storage to cache data to enhance performance of application.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'ui_client_storage' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : false ,
preferences : {
prio : 2 ,
permission : [ 'admin.system' ] ,
} ,
frontend : true
)
Setting . create_if_not_exists (
2017-07-05 05:18:19 +00:00
title : 'Note - default visibility' ,
name : 'ui_ticket_zoom_article_note_new_internal' ,
2017-04-26 11:28:32 +00:00
area : 'UI::TicketZoom' ,
2017-07-05 05:18:19 +00:00
description : 'Default visibility for new note.' ,
2017-04-26 11:28:32 +00:00
options : {
form : [
{
display : '' ,
null : true ,
2017-07-05 05:18:19 +00:00
name : 'ui_ticket_zoom_article_note_new_internal' ,
2017-04-26 11:28:32 +00:00
tag : 'boolean' ,
translate : true ,
options : {
true = > 'internal' ,
false = > 'public' ,
} ,
} ,
] ,
} ,
state : true ,
preferences : {
2017-07-05 05:18:19 +00:00
prio : 100 ,
permission : [ 'admin.ui' ] ,
} ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Email - subject field' ,
name : 'ui_ticket_zoom_article_email_subject' ,
area : 'UI::TicketZoom' ,
description : 'Use subject field for emails. If disabled, the ticket title will be used as subject.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'ui_ticket_zoom_article_email_subject' ,
tag : 'boolean' ,
translate : true ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : false ,
preferences : {
prio : 200 ,
permission : [ 'admin.ui' ] ,
} ,
frontend : true
)
2017-07-13 11:09:16 +00:00
Setting . create_if_not_exists (
title : 'Email - full quote' ,
name : 'ui_ticket_zoom_article_email_full_quote' ,
area : 'UI::TicketZoom' ,
description : 'Enable if you want to quote the full email in your answer. The quoted email will be put at the end of your answer. If you just want to quote a certain phrase, just mark the text and press reply (this feature is always available).' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'ui_ticket_zoom_article_email_full_quote' ,
tag : 'boolean' ,
translate : true ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : false ,
preferences : {
prio : 220 ,
permission : [ 'admin.ui' ] ,
} ,
frontend : true
)
2017-07-05 05:18:19 +00:00
Setting . create_if_not_exists (
title : 'Twitter - tweet initials' ,
name : 'ui_ticket_zoom_article_twitter_initials' ,
area : 'UI::TicketZoom' ,
description : 'Add sender initials to end of a tweet.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'ui_ticket_zoom_article_twitter_initials' ,
tag : 'boolean' ,
translate : true ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : true ,
preferences : {
prio : 300 ,
2017-04-26 11:28:32 +00:00
permission : [ 'admin.ui' ] ,
} ,
frontend : true
)
Setting . create_if_not_exists (
title : 'New User Accounts' ,
name : 'user_create_account' ,
area : 'Security::Base' ,
description : 'Enables users to create their own account via web interface.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'user_create_account' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : true ,
preferences : {
permission : [ 'admin.security' ] ,
} ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Lost Password' ,
name : 'user_lost_password' ,
area : 'Security::Base' ,
description : 'Activates lost password feature for users.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'user_lost_password' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : true ,
preferences : {
permission : [ 'admin.security' ] ,
} ,
frontend : true
)
2017-07-14 22:35:44 +00:00
Setting . create_if_not_exists (
title : 'User email for muliple users' ,
name : 'user_email_multiple_use' ,
area : 'Model::User' ,
description : 'Allow to use email address for muliple users.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'user_email_multiple_use' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : false ,
preferences : {
permission : [ 'admin' ] ,
} ,
frontend : false
)
2017-04-26 11:28:32 +00:00
Setting . create_if_not_exists (
title : 'Authentication via %s' ,
name : 'auth_ldap' ,
area : 'Security::Authentication' ,
description : 'Enables user authentication via %s.' ,
preferences : {
title_i18n : [ 'LDAP' ] ,
description_i18n : [ 'LDAP' ] ,
permission : [ 'admin.security' ] ,
} ,
state : {
adapter : 'Auth::Ldap' ,
host : 'localhost' ,
port : 389 ,
bind_dn : 'cn=Manager,dc=example,dc=org' ,
bind_pw : 'example' ,
uid : 'mail' ,
base : 'dc=example,dc=org' ,
always_filter : '' ,
always_roles : %w( Admin Agent ) ,
always_groups : [ 'Users' ] ,
sync_params : {
firstname : 'sn' ,
lastname : 'givenName' ,
email : 'mail' ,
login : 'mail' ,
} ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Authentication via %s' ,
name : 'auth_twitter' ,
area : 'Security::ThirdPartyAuthentication' ,
description : 'Enables user authentication via %s. Register your app first at [%s](%s).' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'auth_twitter' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
preferences : {
controller : 'SettingsAreaSwitch' ,
sub : [ 'auth_twitter_credentials' ] ,
title_i18n : [ 'Twitter' ] ,
description_i18n : [ 'Twitter' , 'Twitter Developer Site' , 'https://dev.twitter.com/apps' ] ,
permission : [ 'admin.security' ] ,
} ,
state : false ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Twitter App Credentials' ,
name : 'auth_twitter_credentials' ,
area : 'Security::ThirdPartyAuthentication::Twitter' ,
description : 'App credentials for Twitter.' ,
options : {
form : [
{
display : 'Twitter Key' ,
null : true ,
name : 'key' ,
tag : 'input' ,
} ,
{
display : 'Twitter Secret' ,
null : true ,
name : 'secret' ,
tag : 'input' ,
} ,
] ,
} ,
state : { } ,
preferences : {
permission : [ 'admin.security' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Authentication via %s' ,
name : 'auth_facebook' ,
area : 'Security::ThirdPartyAuthentication' ,
description : 'Enables user authentication via %s. Register your app first at [%s](%s).' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'auth_facebook' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
preferences : {
controller : 'SettingsAreaSwitch' ,
sub : [ 'auth_facebook_credentials' ] ,
title_i18n : [ 'Facebook' ] ,
description_i18n : [ 'Facebook' , 'Facebook Developer Site' , 'https://developers.facebook.com/apps/' ] ,
permission : [ 'admin.security' ] ,
} ,
state : false ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Facebook App Credentials' ,
name : 'auth_facebook_credentials' ,
area : 'Security::ThirdPartyAuthentication::Facebook' ,
description : 'App credentials for Facebook.' ,
options : {
form : [
{
display : 'App ID' ,
null : true ,
name : 'app_id' ,
tag : 'input' ,
} ,
{
display : 'App Secret' ,
null : true ,
name : 'app_secret' ,
tag : 'input' ,
} ,
] ,
} ,
state : { } ,
preferences : {
permission : [ 'admin.security' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Authentication via %s' ,
name : 'auth_google_oauth2' ,
area : 'Security::ThirdPartyAuthentication' ,
description : 'Enables user authentication via %s. Register your app first at [%s](%s).' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'auth_google_oauth2' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
preferences : {
controller : 'SettingsAreaSwitch' ,
sub : [ 'auth_google_oauth2_credentials' ] ,
title_i18n : [ 'Google' ] ,
description_i18n : [ 'Google' , 'Google API Console Site' , 'https://console.developers.google.com/apis/credentials' ] ,
permission : [ 'admin.security' ] ,
} ,
state : false ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Google App Credentials' ,
name : 'auth_google_oauth2_credentials' ,
area : 'Security::ThirdPartyAuthentication::Google' ,
description : 'Enables user authentication via Google.' ,
options : {
form : [
{
display : 'Client ID' ,
null : true ,
name : 'client_id' ,
tag : 'input' ,
} ,
{
display : 'Client Secret' ,
null : true ,
name : 'client_secret' ,
tag : 'input' ,
} ,
] ,
} ,
state : { } ,
preferences : {
permission : [ 'admin.security' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Authentication via %s' ,
name : 'auth_linkedin' ,
area : 'Security::ThirdPartyAuthentication' ,
description : 'Enables user authentication via %s. Register your app first at [%s](%s).' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'auth_linkedin' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
preferences : {
controller : 'SettingsAreaSwitch' ,
sub : [ 'auth_linkedin_credentials' ] ,
title_i18n : [ 'LinkedIn' ] ,
description_i18n : [ 'LinkedIn' , 'Linkedin Developer Site' , 'https://www.linkedin.com/developer/apps' ] ,
permission : [ 'admin.security' ] ,
} ,
state : false ,
frontend : true
)
Setting . create_if_not_exists (
title : 'LinkedIn App Credentials' ,
name : 'auth_linkedin_credentials' ,
area : 'Security::ThirdPartyAuthentication::Linkedin' ,
description : 'Enables user authentication via LinkedIn.' ,
options : {
form : [
{
display : 'App ID' ,
null : true ,
name : 'app_id' ,
tag : 'input' ,
} ,
{
display : 'App Secret' ,
null : true ,
name : 'app_secret' ,
tag : 'input' ,
} ,
] ,
} ,
state : { } ,
preferences : {
permission : [ 'admin.security' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Authentication via %s' ,
name : 'auth_github' ,
area : 'Security::ThirdPartyAuthentication' ,
description : 'Enables user authentication via %s. Register your app first at [%s](%s).' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'auth_github' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
preferences : {
controller : 'SettingsAreaSwitch' ,
sub : [ 'auth_github_credentials' ] ,
title_i18n : [ 'Github' ] ,
description_i18n : [ 'Github' , 'Github OAuth Applications' , 'https://github.com/settings/applications' ] ,
permission : [ 'admin.security' ] ,
} ,
state : false ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Github App Credentials' ,
name : 'auth_github_credentials' ,
area : 'Security::ThirdPartyAuthentication::Github' ,
description : 'Enables user authentication via Github.' ,
options : {
form : [
{
display : 'App ID' ,
null : true ,
name : 'app_id' ,
tag : 'input' ,
} ,
{
display : 'App Secret' ,
null : true ,
name : 'app_secret' ,
tag : 'input' ,
} ,
] ,
} ,
state : { } ,
preferences : {
permission : [ 'admin.security' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Authentication via %s' ,
name : 'auth_gitlab' ,
area : 'Security::ThirdPartyAuthentication' ,
description : 'Enables user authentication via %s. Register your app first at [%s](%s).' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'auth_gitlab' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
preferences : {
controller : 'SettingsAreaSwitch' ,
sub : [ 'auth_gitlab_credentials' ] ,
title_i18n : [ 'Gitlab' ] ,
description_i18n : [ 'Gitlab' , 'Gitlab Applications' , 'https://your-gitlab-host/admin/applications' ] ,
permission : [ 'admin.security' ] ,
} ,
state : false ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Gitlab App Credentials' ,
name : 'auth_gitlab_credentials' ,
area : 'Security::ThirdPartyAuthentication::Gitlab' ,
description : 'Enables user authentication via Gitlab.' ,
options : {
form : [
{
display : 'App ID' ,
null : true ,
name : 'app_id' ,
tag : 'input' ,
} ,
{
display : 'App Secret' ,
null : true ,
name : 'app_secret' ,
tag : 'input' ,
} ,
{
display : 'Site' ,
null : true ,
name : 'site' ,
tag : 'input' ,
placeholder : 'https://gitlab.YOURDOMAIN.com' ,
} ,
] ,
} ,
state : { } ,
preferences : {
permission : [ 'admin.security' ] ,
} ,
frontend : false
)
2017-07-13 15:08:53 +00:00
Setting . create_if_not_exists (
title : 'Authentication via %s' ,
name : 'auth_microsoft_office365' ,
area : 'Security::ThirdPartyAuthentication' ,
description : 'Enables user authentication via %s. Register your app first at [%s](%s).' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'auth_microsoft_office365' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
preferences : {
controller : 'SettingsAreaSwitch' ,
sub : [ 'auth_microsoft_office365_credentials' ] ,
title_i18n : [ 'Office 365' ] ,
description_i18n : [ 'Office 365' , 'Microsoft Application Registration Portal' , 'https://apps.dev.microsoft.com' ] ,
permission : [ 'admin.security' ] ,
} ,
state : false ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Office 365 App Credentials' ,
name : 'auth_microsoft_office365_credentials' ,
area : 'Security::ThirdPartyAuthentication::Office365' ,
description : 'Enables user authentication via Office 365.' ,
options : {
form : [
{
display : 'App ID' ,
null : true ,
name : 'app_id' ,
tag : 'input' ,
} ,
{
display : 'App Secret' ,
null : true ,
name : 'app_secret' ,
tag : 'input' ,
} ,
] ,
} ,
state : { } ,
preferences : {
permission : [ 'admin.security' ] ,
} ,
frontend : false
)
2017-04-26 11:28:32 +00:00
Setting . create_if_not_exists (
title : 'Authentication via %s' ,
name : 'auth_oauth2' ,
area : 'Security::ThirdPartyAuthentication' ,
description : 'Enables user authentication via generic OAuth2. Register your app first.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'auth_oauth2' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
preferences : {
controller : 'SettingsAreaSwitch' ,
sub : [ 'auth_oauth2_credentials' ] ,
title_i18n : [ 'Generic OAuth2' ] ,
permission : [ 'admin.security' ] ,
} ,
state : false ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Generic OAuth2 App Credentials' ,
name : 'auth_oauth2_credentials' ,
area : 'Security::ThirdPartyAuthentication::GenericOAuth' ,
description : 'Enables user authentication via generic OAuth2.' ,
options : {
form : [
{
display : 'Name' ,
null : true ,
name : 'name' ,
tag : 'input' ,
placeholder : 'Some Provider Name' ,
} ,
{
display : 'App ID' ,
null : true ,
name : 'app_id' ,
tag : 'input' ,
} ,
{
display : 'App Secret' ,
null : true ,
name : 'app_secret' ,
tag : 'input' ,
} ,
{
display : 'Site' ,
null : true ,
name : 'site' ,
tag : 'input' ,
2017-07-19 05:57:27 +00:00
placeholder : 'https://oauth.YOURDOMAIN.com' ,
2017-04-26 11:28:32 +00:00
} ,
{
display : 'authorize_url' ,
null : true ,
name : 'authorize_url' ,
tag : 'input' ,
placeholder : '/oauth/authorize' ,
} ,
{
display : 'token_url' ,
null : true ,
name : 'token_url' ,
tag : 'input' ,
placeholder : '/oauth/token' ,
} ,
] ,
} ,
state : { } ,
preferences : {
permission : [ 'admin.security' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Minimum length' ,
name : 'password_min_size' ,
area : 'Security::Password' ,
description : 'Password needs to have at least a minimal number of characters.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'password_min_size' ,
tag : 'select' ,
options : {
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 : 6 ,
preferences : {
permission : [ 'admin.security' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : '2 lower and 2 upper characters' ,
name : 'password_min_2_lower_2_upper_characters' ,
area : 'Security::Password' ,
description : 'Password needs to contain 2 lower and 2 upper characters.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'password_min_2_lower_2_upper_characters' ,
tag : 'select' ,
options : {
1 = > 'yes' ,
0 = > 'no' ,
} ,
} ,
] ,
} ,
state : 0 ,
preferences : {
permission : [ 'admin.security' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Digit required' ,
name : 'password_need_digit' ,
area : 'Security::Password' ,
description : 'Password needs to contain at least one digit.' ,
options : {
form : [
{
display : 'Needed' ,
null : true ,
name : 'password_need_digit' ,
tag : 'select' ,
options : {
1 = > 'yes' ,
0 = > 'no' ,
} ,
} ,
] ,
} ,
state : 1 ,
preferences : {
permission : [ 'admin.security' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Maximum failed logins' ,
name : 'password_max_login_failed' ,
area : 'Security::Password' ,
description : 'Number of failed logins after account will be deactivated.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'password_max_login_failed' ,
tag : 'select' ,
options : {
4 = > ' 4' ,
5 = > ' 5' ,
6 = > ' 6' ,
7 = > ' 7' ,
8 = > ' 8' ,
9 = > ' 9' ,
10 = > '10' ,
11 = > '11' ,
13 = > '13' ,
14 = > '14' ,
15 = > '15' ,
16 = > '16' ,
17 = > '17' ,
18 = > '18' ,
19 = > '19' ,
20 = > '20' ,
} ,
} ,
] ,
} ,
state : 10 ,
preferences : {
permission : [ 'admin.security' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Ticket Hook' ,
name : 'ticket_hook' ,
area : 'Ticket::Base' ,
description : 'The identifier for a ticket, e. g. Ticket#, Call#, MyTicket#. The default is Ticket#.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'ticket_hook' ,
tag : 'input' ,
} ,
] ,
} ,
preferences : {
render : true ,
placeholder : true ,
authentication : true ,
permission : [ 'admin.ticket' ] ,
} ,
state : 'Ticket#' ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Ticket Hook Divider' ,
name : 'ticket_hook_divider' ,
area : 'Ticket::Base::Shadow' ,
description : 'The divider between TicketHook and ticket number. E. g. \': \'.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'ticket_hook_divider' ,
tag : 'input' ,
} ,
] ,
} ,
state : '' ,
preferences : {
permission : [ 'admin.ticket' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Ticket Hook Position' ,
name : 'ticket_hook_position' ,
area : 'Ticket::Base' ,
description : " The format of the subject.
* ** Right ** means ** Some Subject [ Ticket #12345]**
* ** Left ** means ** [ Ticket #12345] Some Subject**
* ** None ** means ** Some Subject ** ( without ticket number ) . In the last case you should enable * postmaster_follow_up_search_in * to recognize follow - ups based on email headers and / or body . " ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'ticket_hook_position' ,
tag : 'select' ,
translate : true ,
options : {
'left' = > 'left' ,
'right' = > 'right' ,
'none' = > 'none' ,
} ,
} ,
] ,
} ,
state : 'right' ,
preferences : {
controller : 'SettingsAreaTicketHookPosition' ,
permission : [ 'admin.ticket' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Ticket Number Format' ,
name : 'ticket_number' ,
area : 'Ticket::Number' ,
description : " Selects the ticket number generator module.
* ** Increment ** increments the ticket number , the SystemID and the counter are used with SystemID . Counter format ( e . g . 1010138 , 1010139 ) .
* With ** Date ** the ticket numbers will be generated by the current date , the SystemID and the counter . The format looks like Year . Month . Day . SystemID . counter ( e . g . 201206231010138 , 201206231010139 ) . " ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'ticket_number' ,
tag : 'select' ,
translate : true ,
options : {
'Ticket::Number::Increment' = > 'Increment (SystemID.Counter)' ,
'Ticket::Number::Date' = > 'Date (Year.Month.Day.SystemID.Counter)' ,
} ,
} ,
] ,
} ,
state : 'Ticket::Number::Increment' ,
preferences : {
settings_included : %w( ticket_number_increment ticket_number_date ) ,
controller : 'SettingsAreaTicketNumber' ,
permission : [ 'admin.ticket' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Ticket Number Increment' ,
name : 'ticket_number_increment' ,
area : 'Ticket::Number' ,
description : '-' ,
options : {
form : [
{
display : 'Checksum' ,
null : true ,
name : 'checksum' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
{
display : 'Min. size of number' ,
null : true ,
name : 'min_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 : {
checksum : false ,
min_size : 5 ,
} ,
preferences : {
permission : [ 'admin.ticket' ] ,
hidden : true ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Ticket Number Increment Date' ,
name : 'ticket_number_date' ,
area : 'Ticket::Number' ,
description : '-' ,
options : {
form : [
{
display : 'Checksum' ,
null : true ,
name : 'checksum' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : {
checksum : false
} ,
preferences : {
permission : [ 'admin.ticket' ] ,
hidden : true ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Enable Ticket creation' ,
name : 'customer_ticket_create' ,
area : 'CustomerWeb::Base' ,
description : 'Defines if a customer can create tickets via the web interface.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'customer_ticket_create' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : true ,
preferences : {
authentication : true ,
permission : [ 'admin.channel_web' ] ,
} ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Group selection for Ticket creation' ,
name : 'customer_ticket_create_group_ids' ,
area : 'CustomerWeb::Base' ,
description : 'Defines groups for which a customer can create tickets via web interface. "-" means all groups are available.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'group_ids' ,
tag : 'select' ,
multiple : true ,
nulloption : true ,
relation : 'Group' ,
} ,
] ,
} ,
state : '' ,
preferences : {
authentication : true ,
permission : [ 'admin.channel_web' ] ,
} ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Enable Ticket creation' ,
name : 'form_ticket_create' ,
area : 'Form::Base' ,
description : 'Defines if tickets can be created via web form.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'form_ticket_create' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : false ,
preferences : {
permission : [ 'admin.channel_formular' ] ,
} ,
frontend : false ,
)
2017-06-28 17:19:19 +00:00
group = Group . where ( active : true ) . first
if ! group
group = Group . first
end
group_id = 1
if group
group_id = group . id
end
Setting . create_if_not_exists (
title : 'Group selection for Ticket creation' ,
name : 'form_ticket_create_group_id' ,
area : 'Form::Base' ,
description : 'Defines if group of created tickets via web form.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'form_ticket_create_group_id' ,
tag : 'select' ,
relation : 'Group' ,
} ,
] ,
} ,
state : group_id ,
preferences : {
permission : [ 'admin.channel_formular' ] ,
} ,
frontend : false ,
)
Setting . create_if_not_exists (
title : 'Limit tickets by ip per hour' ,
name : 'form_ticket_create_by_ip_per_hour' ,
area : 'Form::Base' ,
description : 'Defines limit of tickets by ip per hour via web form.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'form_ticket_create_by_ip_per_hour' ,
tag : 'input' ,
} ,
] ,
} ,
state : 20 ,
preferences : {
permission : [ 'admin.channel_formular' ] ,
} ,
frontend : false ,
)
Setting . create_if_not_exists (
title : 'Limit tickets by ip per day' ,
name : 'form_ticket_create_by_ip_per_day' ,
area : 'Form::Base' ,
description : 'Defines limit of tickets by ip per day via web form.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'form_ticket_create_by_ip_per_day' ,
tag : 'input' ,
} ,
] ,
} ,
state : 240 ,
preferences : {
permission : [ 'admin.channel_formular' ] ,
} ,
frontend : false ,
)
Setting . create_if_not_exists (
title : 'Limit tickets per day' ,
name : 'form_ticket_create_per_day' ,
area : 'Form::Base' ,
description : 'Defines limit of tickets per day via web form.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'form_ticket_create_per_day' ,
tag : 'input' ,
} ,
] ,
} ,
state : 5000 ,
preferences : {
permission : [ 'admin.channel_formular' ] ,
} ,
frontend : false ,
)
2017-04-26 11:28:32 +00:00
Setting . create_if_not_exists (
title : 'Ticket Subject Size' ,
name : 'ticket_subject_size' ,
area : 'Email::Base' ,
description : 'Max. length of the subject in an email reply.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'ticket_subject_size' ,
tag : 'input' ,
} ,
] ,
} ,
state : '110' ,
preferences : {
permission : [ 'admin.channel_email' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Ticket Subject Reply' ,
name : 'ticket_subject_re' ,
area : 'Email::Base' ,
description : 'The text at the beginning of the subject in an email reply, e. g. RE, AW, or AS.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'ticket_subject_re' ,
tag : 'input' ,
} ,
] ,
} ,
state : 'RE' ,
preferences : {
permission : [ 'admin.channel_email' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Sender Format' ,
name : 'ticket_define_email_from' ,
area : 'Email::Base' ,
description : 'Defines how the From field of emails (sent from answers and email tickets) should look like.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'ticket_define_email_from' ,
tag : 'select' ,
options : {
SystemAddressName : 'System Address Display Name' ,
AgentNameSystemAddressName : 'Agent Name + FromSeparator + System Address Display Name' ,
} ,
} ,
] ,
} ,
state : 'AgentNameSystemAddressName' ,
preferences : {
permission : [ 'admin.channel_email' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Sender Format Separator' ,
name : 'ticket_define_email_from_separator' ,
area : 'Email::Base' ,
description : 'Defines the separator between the agent\'s real name and the given group email address.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'ticket_define_email_from_separator' ,
tag : 'input' ,
} ,
] ,
} ,
state : 'via' ,
preferences : {
permission : [ 'admin.channel_email' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Maximum Email Size' ,
name : 'postmaster_max_size' ,
area : 'Email::Base' ,
description : 'Maximum 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' ,
15 = > ' 15' ,
20 = > ' 20' ,
25 = > ' 25' ,
30 = > ' 30' ,
35 = > ' 35' ,
40 = > ' 40' ,
45 = > ' 45' ,
50 = > ' 50' ,
60 = > ' 60' ,
70 = > ' 70' ,
80 = > ' 80' ,
90 = > ' 90' ,
100 = > '100' ,
125 = > '125' ,
150 = > '150' ,
} ,
} ,
] ,
} ,
state : 10 ,
preferences : {
online_service_disable : true ,
permission : [ 'admin.channel_email' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Additional follow-up detection' ,
name : 'postmaster_follow_up_search_in' ,
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.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'postmaster_follow_up_search_in' ,
tag : 'checkbox' ,
options : {
'references' = > 'References - Search for follow up also in In-Reply-To or References headers.' ,
'body' = > 'Body - Search for follow up also in mail body.' ,
'attachment' = > 'Attachment - Search for follow up also in attachments.' ,
} ,
} ,
] ,
} ,
state : [ ] ,
preferences : {
permission : [ 'admin.channel_email' ] ,
} ,
frontend : false
)
2017-05-26 13:34:32 +00:00
Setting . create_if_not_exists (
title : 'Sender based on Reply-To header' ,
name : 'postmaster_sender_based_on_reply_to' ,
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.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'postmaster_sender_based_on_reply_to' ,
tag : 'select' ,
options : {
'' = > '-' ,
'as_sender_of_email' = > 'Take reply-to header as sender/from of email.' ,
'as_sender_of_email_use_from_realname' = > 'Take reply-to header as sender/from of email and use realname of origin from.' ,
} ,
} ,
] ,
} ,
state : [ ] ,
preferences : {
permission : [ 'admin.channel_email' ] ,
} ,
frontend : false
)
2017-04-26 11:28:32 +00:00
Setting . create_if_not_exists (
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 : 'Notification Master <noreply@#{config.fqdn}>' ,
preferences : {
online_service_disable : true ,
permission : [ 'admin.channel_email' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Block Notifications' ,
name : 'send_no_auto_response_reg_exp' ,
area : 'Email::Base' ,
description : 'If this regex matches, no notification will be sent by the sender.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'send_no_auto_response_reg_exp' ,
tag : 'input' ,
} ,
] ,
} ,
state : '(mailer-daemon|postmaster|abuse|root|noreply|noreply.+?|no-reply|no-reply.+?)@.+?\..+?' ,
preferences : {
online_service_disable : true ,
permission : [ 'admin.channel_email' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'API Token Access' ,
name : 'api_token_access' ,
area : 'API::Base' ,
description : 'Enable REST API using tokens (not username/email address and password). Each user needs to create its own access tokens in user profile.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'api_token_access' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : true ,
preferences : {
permission : [ 'admin.api' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'API Password Access' ,
name : 'api_password_access' ,
area : 'API::Base' ,
description : 'Enable REST API access using the username/email address and password for the authentication user.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'api_password_access' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : true ,
preferences : {
permission : [ 'admin.api' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Monitoring Token' ,
name : 'monitoring_token' ,
area : 'HealthCheck::Base' ,
description : 'Token for monitoring.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'monitoring_token' ,
tag : 'input' ,
} ,
] ,
} ,
state : SecureRandom . urlsafe_base64 ( 40 ) ,
preferences : {
permission : [ 'admin.monitoring' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Enable Chat' ,
name : 'chat' ,
area : 'Chat::Base' ,
description : 'Enable/disable online chat.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'chat' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
preferences : {
trigger : [ 'menu:render' , 'chat:rerender' ] ,
permission : [ 'admin.channel_chat' ] ,
} ,
state : false ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Agent idle timeout' ,
name : 'chat_agent_idle_timeout' ,
area : 'Chat::Extended' ,
description : 'Idle timeout in seconds until agent is set offline automatically.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'chat_agent_idle_timeout' ,
tag : 'input' ,
} ,
] ,
} ,
state : '120' ,
preferences : {
permission : [ 'admin.channel_chat' ] ,
} ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Defines searchable models.' ,
name : 'models_searchable' ,
area : 'Models::Base' ,
description : 'Defines the searchable models.' ,
options : { } ,
state : [ ] ,
preferences : {
authentication : true ,
} ,
frontend : true ,
)
Setting . create_if_not_exists (
title : 'Default Screen' ,
name : 'default_controller' ,
area : 'Core' ,
description : 'Defines the default screen.' ,
options : { } ,
state : '#dashboard' ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Elasticsearch Endpoint URL' ,
name : 'es_url' ,
area : 'SearchIndex::Elasticsearch' ,
description : 'Defines endpoint of Elasticsearch.' ,
state : '' ,
preferences : { online_service_disable : true } ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Elasticsearch Endpoint User' ,
name : 'es_user' ,
area : 'SearchIndex::Elasticsearch' ,
description : 'Defines HTTP basic auth user of Elasticsearch.' ,
state : '' ,
preferences : { online_service_disable : true } ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Elasticsearch Endpoint Password' ,
name : 'es_password' ,
area : 'SearchIndex::Elasticsearch' ,
description : 'Defines HTTP basic auth password of Elasticsearch.' ,
state : '' ,
preferences : { online_service_disable : true } ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Elasticsearch Endpoint Index' ,
name : 'es_index' ,
area : 'SearchIndex::Elasticsearch' ,
description : 'Defines Elasticsearch index name.' ,
state : 'zammad' ,
preferences : { online_service_disable : true } ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Elasticsearch Attachment Extensions' ,
name : 'es_attachment_ignore' ,
area : 'SearchIndex::Elasticsearch' ,
description : 'Defines attachment extensions which will be ignored by Elasticsearch.' ,
state : [ '.png' , '.jpg' , '.jpeg' , '.mpeg' , '.mpg' , '.mov' , '.bin' , '.exe' , '.box' , '.mbox' ] ,
preferences : { online_service_disable : true } ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Elasticsearch Attachment Size' ,
name : 'es_attachment_max_size_in_mb' ,
area : 'SearchIndex::Elasticsearch' ,
description : 'Define max. attachment size for Elasticsearch.' ,
state : 50 ,
preferences : { online_service_disable : true } ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Import Mode' ,
name : 'import_mode' ,
area : 'Import::Base' ,
description : 'Puts Zammad into import mode (disables some triggers).' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'import_mode' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : false ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Import Backend' ,
name : 'import_backend' ,
area : 'Import::Base::Internal' ,
description : 'Set backend which is being used for import.' ,
options : { } ,
state : '' ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Ignore Escalation/SLA Information' ,
name : 'import_ignore_sla' ,
area : 'Import::Base' ,
description : 'Ignore escalation/SLA information for import.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'import_ignore_sla' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : false ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Import Endpoint' ,
name : 'import_otrs_endpoint' ,
area : 'Import::OTRS' ,
description : 'Defines OTRS endpoint to import users, tickets, states and articles.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'import_otrs_endpoint' ,
tag : 'input' ,
} ,
] ,
} ,
state : 'http://otrs_host/otrs' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Import Key' ,
name : 'import_otrs_endpoint_key' ,
area : 'Import::OTRS' ,
description : 'Defines OTRS endpoint authentication key.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'import_otrs_endpoint_key' ,
tag : 'input' ,
} ,
] ,
} ,
state : '' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Import User for HTTP basic authentication' ,
name : 'import_otrs_user' ,
area : 'Import::OTRS' ,
description : 'Defines HTTP basic authentication user (only if OTRS is protected via HTTP basic auth).' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'import_otrs_user' ,
tag : 'input' ,
} ,
] ,
} ,
state : '' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Import Password for http basic authentication' ,
name : 'import_otrs_password' ,
area : 'Import::OTRS' ,
description : 'Defines http basic authentication password (only if OTRS is protected via http basic auth).' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'import_otrs_password' ,
tag : 'input' ,
} ,
] ,
} ,
state : '' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Import Endpoint' ,
name : 'import_zendesk_endpoint' ,
area : 'Import::Zendesk' ,
description : 'Defines Zendesk endpoint to import users, ticket, states and articles.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'import_zendesk_endpoint' ,
tag : 'input' ,
} ,
] ,
} ,
state : 'https://yours.zendesk.com/api/v2' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Import Key for requesting the Zendesk API' ,
name : 'import_zendesk_endpoint_key' ,
area : 'Import::Zendesk' ,
description : 'Defines Zendesk endpoint authentication key.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'import_zendesk_endpoint_key' ,
tag : 'input' ,
} ,
] ,
} ,
state : '' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Import User for requesting the Zendesk API' ,
name : 'import_zendesk_endpoint_username' ,
area : 'Import::Zendesk' ,
description : 'Defines Zendesk endpoint authentication user.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'import_zendesk_endpoint_username' ,
tag : 'input' ,
} ,
] ,
} ,
state : '' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Import Backends' ,
name : 'import_backends' ,
area : 'Import' ,
description : 'A list of active import backends that get scheduled automatically.' ,
options : { } ,
2017-08-14 11:56:23 +00:00
state : [ 'Import::Ldap' , 'Import::Exchange' ] ,
2017-04-26 11:28:32 +00:00
preferences : {
permission : [ 'admin' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Time Accounting' ,
name : 'time_accounting' ,
area : 'Web::Base' ,
description : 'Enable time accounting.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'time_accounting' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
preferences : {
authentication : true ,
permission : [ 'admin.time_accounting' ] ,
} ,
state : false ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Time Accounting Selector' ,
name : 'time_accounting_selector' ,
area : 'Web::Base' ,
description : 'Enable time accounting for these tickets.' ,
options : {
form : [
{ } ,
] ,
} ,
preferences : {
authentication : true ,
permission : [ 'admin.time_accounting' ] ,
} ,
state : { } ,
frontend : true
)
Setting . create_if_not_exists (
title : 'New Tags' ,
name : 'tag_new' ,
area : 'Web::Base' ,
description : 'Allow users to create new tags.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'tag_new' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
preferences : {
authentication : true ,
permission : [ 'admin.tag' ] ,
} ,
state : true ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Default calendar tickets subscriptions' ,
name : 'defaults_calendar_subscriptions_tickets' ,
area : 'Defaults::CalendarSubscriptions' ,
description : 'Defines the default calendar tickets subscription settings.' ,
options : { } ,
state : {
escalation : {
own : true ,
not_assigned : false ,
} ,
new_open : {
own : true ,
not_assigned : false ,
} ,
pending : {
own : true ,
not_assigned : false ,
}
} ,
preferences : {
authentication : true ,
} ,
frontend : true
)
Setting . create_if_not_exists (
title : 'Defines translator identifier.' ,
name : 'translator_key' ,
area : 'i18n::translator_key' ,
description : 'Defines the translator identifier for contributions.' ,
options : { } ,
state : '' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Defines postmaster filter.' ,
name : '0010_postmaster_filter_trusted' ,
area : 'Postmaster::PreFilter' ,
description : 'Defines postmaster filter to remove X-Zammad headers from not trusted sources.' ,
options : { } ,
state : 'Channel::Filter::Trusted' ,
frontend : false
)
2017-05-26 13:34:32 +00:00
Setting . create_if_not_exists (
title : 'Defines postmaster filter.' ,
name : '0011_postmaster_sender_based_on_reply_to' ,
area : 'Postmaster::PreFilter' ,
description : 'Defines postmaster filter to set the sender/from of emails based on reply-to header.' ,
options : { } ,
state : 'Channel::Filter::ReplyToBasedSender' ,
frontend : false
)
2017-04-26 11:28:32 +00:00
Setting . create_if_not_exists (
title : 'Defines postmaster filter.' ,
name : '0012_postmaster_filter_sender_is_system_address' ,
area : 'Postmaster::PreFilter' ,
description : 'Defines postmaster filter to check if email has been created by Zammad itself and will set the article sender.' ,
options : { } ,
state : 'Channel::Filter::SenderIsSystemAddress' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Defines postmaster filter.' ,
name : '0014_postmaster_filter_own_notification_loop_detection' ,
area : 'Postmaster::PreFilter' ,
description : 'Define postmaster filter to check if email is a own created notification email, then ignore it to prevent email loops.' ,
options : { } ,
state : 'Channel::Filter::OwnNotificationLoopDetection' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Defines postmaster filter.' ,
name : '0015_postmaster_filter_identify_sender' ,
area : 'Postmaster::PreFilter' ,
description : 'Defines postmaster filter to identify sender user.' ,
options : { } ,
state : 'Channel::Filter::IdentifySender' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Defines postmaster filter.' ,
name : '0020_postmaster_filter_auto_response_check' ,
area : 'Postmaster::PreFilter' ,
description : 'Defines postmaster filter to identify auto responses to prevent auto replies from Zammad.' ,
options : { } ,
state : 'Channel::Filter::AutoResponseCheck' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Defines postmaster filter.' ,
name : '0030_postmaster_filter_out_of_office_check' ,
area : 'Postmaster::PreFilter' ,
description : 'Defines postmaster filter to identify out-of-office emails for follow-up detection and keeping current ticket state.' ,
options : { } ,
state : 'Channel::Filter::OutOfOfficeCheck' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Defines postmaster filter.' ,
name : '0100_postmaster_filter_follow_up_check' ,
area : 'Postmaster::PreFilter' ,
description : 'Defines postmaster filter to identify follow-ups (based on admin settings).' ,
options : { } ,
state : 'Channel::Filter::FollowUpCheck' ,
frontend : false
)
2017-05-05 09:17:34 +00:00
Setting . create_if_not_exists (
title : 'Defines postmaster filter.' ,
name : '0110_postmaster_filter_follow_up_merged' ,
area : 'Postmaster::PreFilter' ,
description : 'Defines postmaster filter to identify follow-up ticket for merged tickets.' ,
options : { } ,
state : 'Channel::Filter::FollowUpMerged' ,
frontend : false
)
2017-04-26 11:28:32 +00:00
Setting . create_if_not_exists (
title : 'Defines postmaster filter.' ,
name : '0200_postmaster_filter_follow_up_possible_check' ,
area : 'Postmaster::PreFilter' ,
description : 'Define postmaster filter to check if follow ups get created (based on admin settings).' ,
options : { } ,
state : 'Channel::Filter::FollowUpPossibleCheck' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Defines postmaster filter.' ,
2017-05-30 06:55:51 +00:00
name : '0900_postmaster_filter_bounce_follow_up_check' ,
2017-04-26 11:28:32 +00:00
area : 'Postmaster::PreFilter' ,
description : 'Defines postmaster filter to identify postmaster bounced - to handle it as follow-up of the original ticket.' ,
options : { } ,
2017-05-30 06:55:51 +00:00
state : 'Channel::Filter::BounceFollowUpCheck' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Defines postmaster filter.' ,
name : '0950_postmaster_filter_bounce_delivery_permanent_failed' ,
area : 'Postmaster::PreFilter' ,
description : 'Defines postmaster filter to identify postmaster bounced - disable sending notification on permanent deleivery failed.' ,
options : { } ,
state : 'Channel::Filter::BounceDeliveryPermanentFailed' ,
2017-04-26 11:28:32 +00:00
frontend : false
)
Setting . create_if_not_exists (
title : 'Defines postmaster filter.' ,
name : '1000_postmaster_filter_database_check' ,
area : 'Postmaster::PreFilter' ,
description : 'Defines postmaster filter for filters managed via admin interface.' ,
options : { } ,
state : 'Channel::Filter::Database' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Defines postmaster filter.' ,
name : '5000_postmaster_filter_icinga' ,
area : 'Postmaster::PreFilter' ,
description : 'Defines postmaster filter to manage Icinga (http://www.icinga.org) emails.' ,
options : { } ,
state : 'Channel::Filter::Icinga' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Defines postmaster filter.' ,
name : '5100_postmaster_filter_nagios' ,
area : 'Postmaster::PreFilter' ,
description : 'Defines postmaster filter to manage Nagios (http://www.nagios.org) emails.' ,
options : { } ,
state : 'Channel::Filter::Nagios' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Icinga integration' ,
name : 'icinga_integration' ,
area : 'Integration::Switch' ,
description : 'Defines if Icinga (http://www.icinga.org) is enabled or not.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'icinga_integration' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : false ,
preferences : {
prio : 1 ,
permission : [ 'admin.integration' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Sender' ,
name : 'icinga_sender' ,
area : 'Integration::Icinga' ,
description : 'Defines the sender email address of Icinga emails.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'icinga_sender' ,
tag : 'input' ,
placeholder : 'icinga@monitoring.example.com' ,
} ,
] ,
} ,
state : 'icinga@monitoring.example.com' ,
preferences : {
prio : 2 ,
permission : [ 'admin.integration' ] ,
} ,
frontend : false ,
)
Setting . create_if_not_exists (
title : 'Auto close' ,
name : 'icinga_auto_close' ,
area : 'Integration::Icinga' ,
description : 'Defines if tickets should be closed if service is recovered.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'icinga_auto_close' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : true ,
preferences : {
prio : 3 ,
permission : [ 'admin.integration' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Auto close state' ,
name : 'icinga_auto_close_state_id' ,
area : 'Integration::Icinga' ,
description : 'Defines the state of auto closed tickets.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'icinga_auto_close_state_id' ,
tag : 'select' ,
relation : 'TicketState' ,
} ,
] ,
} ,
state : 4 ,
preferences : {
prio : 4 ,
permission : [ 'admin.integration' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Nagios integration' ,
name : 'nagios_integration' ,
area : 'Integration::Switch' ,
description : 'Defines if Nagios (http://www.nagios.org) is enabled or not.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'nagios_integration' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : false ,
preferences : {
prio : 1 ,
permission : [ 'admin.integration' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Sender' ,
name : 'nagios_sender' ,
area : 'Integration::Nagios' ,
description : 'Defines the sender email address of Nagios emails.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'nagios_sender' ,
tag : 'input' ,
placeholder : 'nagios@monitoring.example.com' ,
} ,
] ,
} ,
state : 'nagios@monitoring.example.com' ,
preferences : {
prio : 2 ,
permission : [ 'admin.integration' ] ,
} ,
frontend : false ,
)
Setting . create_if_not_exists (
title : 'Auto close' ,
name : 'nagios_auto_close' ,
area : 'Integration::Nagios' ,
description : 'Defines if tickets should be closed if service is recovered.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'nagios_auto_close' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : true ,
preferences : {
prio : 3 ,
permission : [ 'admin.integration' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Auto close state' ,
name : 'nagios_auto_close_state_id' ,
area : 'Integration::Nagios' ,
description : 'Defines the state of auto closed tickets.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'nagios_auto_close_state_id' ,
tag : 'select' ,
relation : 'TicketState' ,
} ,
] ,
} ,
state : 4 ,
preferences : {
prio : 4 ,
permission : [ 'admin.integration' ] ,
} ,
frontend : false
)
2017-08-21 23:13:19 +00:00
Setting . create_if_not_exists (
title : 'Check_MK integration' ,
name : 'check_mk_integration' ,
area : 'Integration::Switch' ,
description : 'Defines if Check_MK (http://mathias-kettner.com/check_mk.html) is enabled or not.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'check_mk_integration' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : false ,
preferences : {
prio : 1 ,
permission : [ 'admin.integration' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Group' ,
name : 'check_mk_group_id' ,
area : 'Integration::CheckMK' ,
description : 'Defines the group of created tickets.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'check_mk_group_id' ,
tag : 'select' ,
relation : 'Group' ,
} ,
] ,
} ,
state : 1 ,
preferences : {
prio : 2 ,
permission : [ 'admin.integration' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Auto close' ,
name : 'check_mk_auto_close' ,
area : 'Integration::CheckMK' ,
description : 'Defines if tickets should be closed if service is recovered.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'check_mk_auto_close' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : true ,
preferences : {
prio : 3 ,
permission : [ 'admin.integration' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Auto close state' ,
name : 'check_mk_auto_close_state_id' ,
area : 'Integration::CheckMK' ,
description : 'Defines the state of auto closed tickets.' ,
options : {
form : [
{
display : '' ,
null : false ,
name : 'check_mk_auto_close_state_id' ,
tag : 'select' ,
relation : 'TicketState' ,
} ,
] ,
} ,
state : 4 ,
preferences : {
prio : 4 ,
permission : [ 'admin.integration' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Check_MK tolen' ,
name : 'check_mk_token' ,
area : 'Core' ,
description : 'Defines the Check_MK token for allowing updates.' ,
options : { } ,
state : SecureRandom . hex ( 16 ) ,
preferences : {
permission : [ 'admin.integration' ] ,
} ,
frontend : false
)
2017-04-26 11:28:32 +00:00
Setting . create_if_not_exists (
title : 'LDAP integration' ,
name : 'ldap_integration' ,
area : 'Integration::Switch' ,
description : 'Defines if LDAP is enabled or not.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'ldap_integration' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : false ,
preferences : {
prio : 1 ,
authentication : true ,
permission : [ 'admin.integration' ] ,
} ,
2017-08-14 11:56:23 +00:00
frontend : true
)
Setting . create_if_not_exists (
title : 'Exchange config' ,
name : 'exchange_config' ,
area : 'Integration::Exchange' ,
description : 'Defines the Exchange config.' ,
options : { } ,
state : { } ,
preferences : {
prio : 2 ,
permission : [ 'admin.integration' ] ,
} ,
frontend : false ,
)
Setting . create_if_not_exists (
title : 'Exchange integration' ,
name : 'exchange_integration' ,
area : 'Integration::Switch' ,
description : 'Defines if Exchange is enabled or not.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'exchange_integration' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : false ,
preferences : {
prio : 1 ,
authentication : true ,
permission : [ 'admin.integration' ] ,
} ,
2017-04-26 11:28:32 +00:00
frontend : true
)
Setting . create_if_not_exists (
title : 'LDAP config' ,
name : 'ldap_config' ,
area : 'Integration::LDAP' ,
description : 'Defines the LDAP config.' ,
options : { } ,
state : { } ,
preferences : {
prio : 2 ,
permission : [ 'admin.integration' ] ,
} ,
frontend : false ,
)
2017-09-06 06:39:02 +00:00
Setting . create_if_not_exists (
title : 'i-doit integration' ,
name : 'idoit_integration' ,
area : 'Integration::Switch' ,
description : 'Defines if i-doit (http://www.i-doit) is enabled or not.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'idoit_integration' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : false ,
preferences : {
prio : 1 ,
authentication : true ,
permission : [ 'admin.integration' ] ,
} ,
frontend : true
)
Setting . create_if_not_exists (
title : 'i-doit config' ,
name : 'idoit_config' ,
area : 'Integration::Idoit' ,
description : 'Defines the i-doit config.' ,
options : { } ,
state : { } ,
preferences : {
prio : 2 ,
permission : [ 'admin.integration' ] ,
} ,
frontend : false ,
)
2017-04-26 11:28:32 +00:00
Setting . create_if_not_exists (
title : 'Defines sync transaction backend.' ,
name : '0100_trigger' ,
area : 'Transaction::Backend::Sync' ,
description : 'Defines the transaction backend to execute triggers.' ,
options : { } ,
state : 'Transaction::Trigger' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Defines transaction backend.' ,
name : '0100_notification' ,
area : 'Transaction::Backend::Async' ,
description : 'Defines the transaction backend to send agent notifications.' ,
options : { } ,
state : 'Transaction::Notification' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Defines transaction backend.' ,
name : '1000_signature_detection' ,
area : 'Transaction::Backend::Async' ,
description : 'Defines the transaction backend to detect customer signatures in emails.' ,
options : { } ,
state : 'Transaction::SignatureDetection' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Defines transaction backend.' ,
name : '6000_slack_webhook' ,
area : 'Transaction::Backend::Async' ,
description : 'Defines the transaction backend which posts messages to Slack (http://www.slack.com).' ,
options : { } ,
state : 'Transaction::Slack' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Slack integration' ,
name : 'slack_integration' ,
area : 'Integration::Switch' ,
description : 'Defines if Slack (http://www.slack.org) is enabled or not.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'slack_integration' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : false ,
preferences : {
prio : 1 ,
permission : [ 'admin.integration' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Slack config' ,
name : 'slack_config' ,
area : 'Integration::Slack' ,
description : 'Defines the slack config.' ,
options : { } ,
state : {
items : [ ]
} ,
preferences : {
prio : 2 ,
permission : [ 'admin.integration' ] ,
} ,
frontend : false ,
)
Setting . create_if_not_exists (
title : 'sipgate.io integration' ,
name : 'sipgate_integration' ,
area : 'Integration::Switch' ,
description : 'Defines if sipgate.io (http://www.sipgate.io) is enabled or not.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'sipgate_integration' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : false ,
preferences : {
prio : 1 ,
trigger : [ 'menu:render' , 'cti:reload' ] ,
authentication : true ,
permission : [ 'admin.integration' ] ,
} ,
frontend : true
)
Setting . create_if_not_exists (
title : 'sipgate.io config' ,
name : 'sipgate_config' ,
area : 'Integration::Sipgate' ,
description : 'Defines the sipgate.io config.' ,
options : { } ,
state : { } ,
preferences : {
prio : 2 ,
permission : [ 'admin.integration' ] ,
} ,
frontend : false ,
)
Setting . create_if_not_exists (
title : 'Clearbit integration' ,
name : 'clearbit_integration' ,
area : 'Integration::Switch' ,
description : 'Defines if Clearbit (http://www.clearbit.com) is enabled or not.' ,
options : {
form : [
{
display : '' ,
null : true ,
name : 'clearbit_integration' ,
tag : 'boolean' ,
options : {
true = > 'yes' ,
false = > 'no' ,
} ,
} ,
] ,
} ,
state : false ,
preferences : {
prio : 1 ,
permission : [ 'admin.integration' ] ,
} ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Clearbit config' ,
name : 'clearbit_config' ,
area : 'Integration::Clearbit' ,
description : 'Defines the Clearbit config.' ,
options : { } ,
state : { } ,
frontend : false ,
preferences : {
prio : 2 ,
permission : [ 'admin.integration' ] ,
} ,
)
Setting . create_if_not_exists (
title : 'Defines transaction backend.' ,
name : '9000_clearbit_enrichment' ,
area : 'Transaction::Backend::Async' ,
description : 'Defines the transaction backend which will enrich customer and organization information from Clearbit (http://www.clearbit.com).' ,
options : { } ,
state : 'Transaction::ClearbitEnrichment' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Defines transaction backend.' ,
name : '9100_cti_caller_id_detection' ,
area : 'Transaction::Backend::Async' ,
description : 'Defines the transaction backend which detects caller IDs in objects and store them for CTI lookups.' ,
options : { } ,
state : 'Transaction::CtiCallerIdDetection' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Defines transaction backend.' ,
name : '9200_karma' ,
area : 'Transaction::Backend::Async' ,
description : 'Defines the transaction backend which creates the karma score.' ,
options : { } ,
state : 'Transaction::Karma' ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Defines karma levels.' ,
name : 'karma_levels' ,
area : 'Core::Karma' ,
description : 'Defines the karma levels.' ,
options : { } ,
state : [
{
name : 'Beginner' ,
start : 0 ,
end : 499 ,
} ,
{
name : 'Newbie' ,
start : 500 ,
end : 1999 ,
} ,
{
name : 'Intermediate' ,
start : 2000 ,
end : 4999 ,
} ,
{
name : 'Professional' ,
start : 5000 ,
end : 6999 ,
} ,
{
name : 'Expert' ,
start : 7000 ,
end : 8999 ,
} ,
{
name : 'Master' ,
start : 9000 ,
end : 18_999 ,
} ,
{
name : 'Evangelist' ,
start : 19_000 ,
end : 45_999 ,
} ,
{
name : 'Hero' ,
start : 50_000 ,
end : nil ,
} ,
] ,
frontend : false
)
Setting . create_if_not_exists (
title : 'Set limit of agents' ,
name : 'system_agent_limit' ,
area : 'Core::Online' ,
description : 'Defines the limit of the agents.' ,
options : { } ,
state : false ,
preferences : { online_service_disable : true } ,
frontend : false
)