Fixed some english texts.
This commit is contained in:
parent
5a6e824c3a
commit
30c9caae00
58 changed files with 676 additions and 245 deletions
|
@ -3,7 +3,7 @@ class App.FirstStepsClues extends App.Controller
|
|||
{
|
||||
container: '.js-dashboardMenuItem'
|
||||
headline: 'Dashboard'
|
||||
text: 'Here you see a quick overview about your and other agents performance.'
|
||||
text: 'Here you see a quick overview of your and other agents\' performance.'
|
||||
actions: [
|
||||
'hover'
|
||||
]
|
||||
|
@ -11,7 +11,7 @@ class App.FirstStepsClues extends App.Controller
|
|||
{
|
||||
container: '.search-holder'
|
||||
headline: 'Search'
|
||||
text: 'Here you can search for ticket, customers and organizations. Use the wildcard §*§ to find everything. E. g. §smi*§ or §rosent*l§. You also can use ||double quotes|| for searching phrases §"some phrase"§.'
|
||||
text: 'Here you can search for tickets, customers and organizations. Use the wildcard §*§ to find everything. E. g. §smi*§ or §rosent*l§. You also can use ||double quotes|| for searching phrases §"some phrase"§.'
|
||||
actions: []
|
||||
}
|
||||
{
|
||||
|
@ -35,7 +35,7 @@ class App.FirstStepsClues extends App.Controller
|
|||
{
|
||||
container: '.js-overviewsMenuItem'
|
||||
headline: 'Overviews'
|
||||
text: 'Here you find your ticket overviews for open, my assigned or escalated tickets.'
|
||||
text: 'Here you find your ticket overviews for open, assigned and escalated tickets.'
|
||||
actions: [
|
||||
'hover'
|
||||
]
|
||||
|
|
|
@ -23,7 +23,7 @@ App.Config.set(
|
|||
{
|
||||
name: 'Icinga'
|
||||
target: '#system/integration/icinga'
|
||||
description: 'A open source monitoring tool.'
|
||||
description: 'An open source monitoring tool.'
|
||||
controller: Index
|
||||
state: State
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ App.Config.set(
|
|||
{
|
||||
name: 'Nagios'
|
||||
target: '#system/integration/nagios'
|
||||
description: 'A open source monitoring tool.'
|
||||
description: 'An open source monitoring tool.'
|
||||
controller: Index
|
||||
state: State
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ class Index extends App.ControllerIntegrationBase
|
|||
featureConfig: 'slack_config'
|
||||
description: [
|
||||
['This service sends notifications to your %s channel.', 'Slack']
|
||||
['To setup this Service you need to create a new |"Incoming webhook"| in your %s integration panel, and enter the Webhook URL below.', 'Slack']
|
||||
['To set up this service you need to create a new |"Incoming webhook"| in your %s integration panel, and enter the web hook URL below.', 'Slack']
|
||||
]
|
||||
events:
|
||||
'click .js-submit': 'update'
|
||||
|
@ -26,8 +26,8 @@ class Index extends App.ControllerIntegrationBase
|
|||
escalation_warning: '5. Ticket Escalation Warning'
|
||||
|
||||
configureAttributes = [
|
||||
{ name: 'types', display: 'Trigger', tag: 'checkbox', options: options, 'null': false, class: 'vertical', note: 'Where notification is sent.' },
|
||||
{ name: 'group_ids', display: 'Group', tag: 'select', relation: 'Group', multiple: true, 'null': false, note: 'Only for this groups.' },
|
||||
{ name: 'types', display: 'Trigger', tag: 'checkbox', options: options, 'null': false, class: 'vertical', note: 'When notification is being sent.' },
|
||||
{ name: 'group_ids', display: 'Group', tag: 'select', relation: 'Group', multiple: true, 'null': false, note: 'Only for these groups.' },
|
||||
{ name: 'webhook', display: 'Webhook', tag: 'input', type: 'url', limit: 200, 'null': false, placeholder: 'https://hooks.slack.com/services/...' },
|
||||
{ name: 'username', display: 'Username', tag: 'input', type: 'text', limit: 100, 'null': false, placeholder: 'username' },
|
||||
{ name: 'channel', display: 'Channel', tag: 'input', type: 'text', limit: 100, 'null': true, placeholder: '#channel' },
|
||||
|
|
|
@ -9,7 +9,7 @@ class Security extends App.ControllerTabs
|
|||
{ name: 'Base', 'target': 'base', controller: App.SettingsArea, params: { area: 'Security::Base' } }
|
||||
{ name: 'Password', 'target': 'password', controller: App.SettingsArea, params: { area: 'Security::Password' } }
|
||||
#{ name: 'Authentication', 'target': 'auth', controller: App.SettingsArea, params: { area: 'Security::Authentication' } }
|
||||
{ name: 'Third-Party Applications', 'target': 'third_party_auth', controller: App.SettingsArea, params: { area: 'Security::ThirdPartyAuthentication' } }
|
||||
{ name: 'Third-party Applications', 'target': 'third_party_auth', controller: App.SettingsArea, params: { area: 'Security::ThirdPartyAuthentication' } }
|
||||
]
|
||||
@render()
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@ class CalendarSubscriptions extends App.ControllerSubContent
|
|||
=>
|
||||
@notify(
|
||||
type: 'success'
|
||||
msg: App.i18n.translateContent('Successfully!')
|
||||
msg: App.i18n.translateContent('Successful!')
|
||||
)
|
||||
true
|
||||
)
|
||||
|
|
|
@ -55,7 +55,7 @@ class Index extends App.ControllerSubContent
|
|||
App.Event.trigger('ui:rerender')
|
||||
@notify(
|
||||
type: 'success'
|
||||
msg: App.i18n.translateContent('Successfully!')
|
||||
msg: App.i18n.translateContent('Successful!')
|
||||
)
|
||||
,
|
||||
true
|
||||
|
|
|
@ -75,7 +75,7 @@ class Index extends App.ControllerSubContent
|
|||
success: (data, status, xhr) =>
|
||||
@notify(
|
||||
type: 'success'
|
||||
msg: App.i18n.translateContent('Successfully!')
|
||||
msg: App.i18n.translateContent('Successful!')
|
||||
)
|
||||
update = =>
|
||||
@render()
|
||||
|
|
|
@ -172,7 +172,7 @@ class Index extends App.ControllerSubContent
|
|||
App.Event.trigger('ui:rerender')
|
||||
@notify(
|
||||
type: 'success'
|
||||
msg: App.i18n.translateContent('Successfully!')
|
||||
msg: App.i18n.translateContent('Successful!')
|
||||
)
|
||||
,
|
||||
true
|
||||
|
|
|
@ -85,7 +85,7 @@ class Index extends App.ControllerContent
|
|||
el: @el.find('.sidebar')
|
||||
data:
|
||||
header: App.i18n.translateInline('What can you do here?')
|
||||
html: App.i18n.translateInline('The way to communicate with us is this thing called "Ticket".') + ' ' + App.i18n.translateInline('Here you can create one.')
|
||||
html: App.i18n.translateInline('The way to communicate with us is this thing called "ticket".') + ' ' + App.i18n.translateInline('Here you can create one.')
|
||||
)
|
||||
|
||||
cancel: ->
|
||||
|
|
|
@ -32,7 +32,7 @@ class Success extends App.ControllerContent
|
|||
|
||||
render: =>
|
||||
@renderScreenSuccess(
|
||||
detail: 'Woo hoo! Your email is verified!'
|
||||
detail: 'Woo hoo! Your email address has been verified!'
|
||||
)
|
||||
delay = =>
|
||||
@navigate '#'
|
||||
|
|
|
@ -14,7 +14,7 @@ class Index extends App.ControllerSubContent
|
|||
objects: 'Macros'
|
||||
navupdate: '#macros'
|
||||
notes: [
|
||||
'TextModules are ...'
|
||||
'Text modules are ...'
|
||||
]
|
||||
buttons: [
|
||||
{ name: 'New Macro', 'data-type': 'new', class: 'btn--success' }
|
||||
|
|
|
@ -426,7 +426,7 @@ class App.Navigation extends App.ControllerWidgetPermanent
|
|||
navheader = false
|
||||
if prio is 80
|
||||
divider = true
|
||||
navheader = 'Recent Viewed'
|
||||
navheader = 'Recently viewed'
|
||||
|
||||
prio++
|
||||
NavBarRight['RecendViewed::' + item.o_id + item.object + '-' + prio ] = {
|
||||
|
|
|
@ -523,4 +523,4 @@ class Sidebar extends App.Controller
|
|||
@ui.storeParams()
|
||||
|
||||
App.Config.set('report', Index, 'Routes')
|
||||
App.Config.set('Reporting', { prio: 8000, parent: '', name: 'Reporing', translate: true, target: '#report', icon: 'report', permission: ['report'] }, 'NavBarRight')
|
||||
App.Config.set('Reporting', { prio: 8000, parent: '', name: 'Reporting', translate: true, target: '#report', icon: 'report', permission: ['report'] }, 'NavBarRight')
|
||||
|
|
|
@ -111,7 +111,7 @@ class Remove extends App.ControllerModal
|
|||
head: 'Confirm'
|
||||
|
||||
content: ->
|
||||
App.i18n.translateContent('Tab has changed, you really want to close it?')
|
||||
App.i18n.translateContent('Tab has changed, do you really want to close it?')
|
||||
|
||||
onSubmit: =>
|
||||
@close()
|
||||
|
|
|
@ -14,10 +14,10 @@ class Index extends App.ControllerSubContent
|
|||
objects: 'TextModules'
|
||||
navupdate: '#text_modules'
|
||||
notes: [
|
||||
'TextModules are ...'
|
||||
'Text modules are ...'
|
||||
]
|
||||
buttons: [
|
||||
{ name: 'New TextModule', 'data-type': 'new', class: 'btn--success' }
|
||||
{ name: 'New text module', 'data-type': 'new', class: 'btn--success' }
|
||||
]
|
||||
container: @el.closest('.content')
|
||||
)
|
||||
|
|
|
@ -1139,7 +1139,7 @@ class BulkForm extends App.Controller
|
|||
@holder.find('.table-overview').find('[name="bulk"]:checked').prop('checked', false)
|
||||
App.Event.trigger 'notify', {
|
||||
type: 'success'
|
||||
msg: App.i18n.translateContent('Bulk-Action executed!')
|
||||
msg: App.i18n.translateContent('Bulk action executed!')
|
||||
}
|
||||
|
||||
class App.OverviewSettings extends App.ControllerModal
|
||||
|
|
|
@ -267,7 +267,7 @@ App.Config.set(
|
|||
{
|
||||
key: '.'
|
||||
hotkeys: true
|
||||
description: 'Copy current object number (e. g. Ticket#) into clipboard'
|
||||
description: 'Copy current object number (e. g. Ticket#) to clipboard'
|
||||
callback: (shortcut, lastKey, modifier) ->
|
||||
App.Event.trigger('keyboard_shortcuts_close')
|
||||
text = $('.active.content .js-objectNumber').first().data('number') || ''
|
||||
|
@ -299,7 +299,7 @@ App.Config.set(
|
|||
keyPrefix: '3x'
|
||||
key: '.'
|
||||
hotkeys: true
|
||||
description: '...add object link url'
|
||||
description: '...add object link URL'
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ class Widget extends App.Controller
|
|||
if data.taskbar_id isnt App.TaskManager.TaskbarId()
|
||||
@error = new App.SessionMessage(
|
||||
head: 'Session'
|
||||
message: 'A new session with your account was created. This session will be stopped to prevent a conflict.'
|
||||
message: 'A new session was created with your account. This session will be stopped to prevent a conflict.'
|
||||
keyboard: false
|
||||
backdrop: true
|
||||
buttonClose: false
|
||||
|
|
|
@ -47,7 +47,7 @@ class Modal extends App.ControllerModal
|
|||
|
||||
content: =>
|
||||
if !@sent
|
||||
return App.i18n.translateContent('Your account is not verified. Please click the link in the verification email.')
|
||||
return App.i18n.translateContent('Your account has not been verified. Please click the link in the verification email.')
|
||||
content = App.i18n.translateContent('We\'ve sent an email to _%s_. Click the link in the email to verify your account.', @user.email)
|
||||
content += '<br><br>'
|
||||
content += App.i18n.translateContent('If you don\'t see the email, check other places it might be, like your junk, spam, social, or other folders.')
|
||||
|
|
|
@ -5,7 +5,7 @@ class App.Calendar extends App.Model
|
|||
|
||||
@configure_attributes = [
|
||||
{ name: 'name', display: 'Name', tag: 'input', type: 'text', limit: 100, null: false },
|
||||
{ name: 'timezone', display: 'Timezone', tag: 'timezone', null: false }
|
||||
{ name: 'timezone', display: 'Time zone', tag: 'timezone', null: false }
|
||||
{ name: 'business_hours', display: 'Business Hours', tag: 'business_hours', null: true }
|
||||
{ name: 'ical_url', display: 'Holidays iCalendar Feed', tag: 'ical_feed', placeholder: 'http://example.com/public_holidays.ical', null: true }
|
||||
{ name: 'public_holidays',display: 'Holidays', tag: 'holiday_selector', null: true }
|
||||
|
@ -25,4 +25,4 @@ Ein **Kalender** wird benötigt um Eskalationen oder Auswertungen anhand von Ges
|
|||
Definieren Sie einen **"Standard"-Kalender** welcher Systemweit gültig ist. Nur in den angegebenen Geschäftszeiten werden Eskalations-Benachrichtigungen an Agenten versendet.
|
||||
|
||||
Haben Sie Kunden für welche Sie unterschiedliche Geschäftszeiten einhalten müssen, so können Sie mehrere Kalender anlegen. Die Zuweisung zu den Kunden-Tickets geschieht über die **SLAs**.
|
||||
'''
|
||||
'''
|
||||
|
|
|
@ -12,7 +12,7 @@ class App.EmailAddress extends App.Model
|
|||
)
|
||||
|
||||
@configure_attributes = [
|
||||
{ name: 'realname', display: 'Realname', tag: 'input', type: 'text', limit: 250, null: false },
|
||||
{ name: 'realname', display: 'Real name', tag: 'input', type: 'text', limit: 250, null: false },
|
||||
{ name: 'email', display: 'Email', tag: 'input', type: 'email', limit: 250, null: false },
|
||||
{ name: 'channel_id', display: 'Channel', tag: 'select', multiple: false, null: true, relation: 'Channel', nulloption: true, filter: @filterChannel, do_not_log: true },
|
||||
{ name: 'note', display: 'Note', tag: 'textarea', note: 'Notes are visible to agents only, never to customers.', limit: 250, null: true },
|
||||
|
|
|
@ -15,10 +15,10 @@ class App.Ticket extends App.Model
|
|||
{ name: 'article_count', display: 'Article#', readonly: 1, width: '12%' },
|
||||
{ name: 'escalation_at', display: 'Escalation', tag: 'datetime', null: true, readonly: 1, width: '110px', class: 'escalation' },
|
||||
{ name: 'last_contact_at', display: 'Last contact', tag: 'datetime', null: true, readonly: 1, width: '110px' },
|
||||
{ name: 'last_contact_agent_at', display: 'Last contact (Agent)', tag: 'datetime', null: true, readonly: 1, width: '110px' },
|
||||
{ name: 'last_contact_customer_at', display: 'Last contact (Customer)', tag: 'datetime', null: true, readonly: 1, width: '110px' },
|
||||
{ name: 'last_contact_agent_at', display: 'Last contact (agent)', tag: 'datetime', null: true, readonly: 1, width: '110px' },
|
||||
{ name: 'last_contact_customer_at', display: 'Last contact (customer)', tag: 'datetime', null: true, readonly: 1, width: '110px' },
|
||||
{ name: 'first_response_at', display: 'First response', tag: 'datetime', null: true, readonly: 1, width: '110px' },
|
||||
{ name: 'close_at', display: 'Close time', tag: 'datetime', null: true, readonly: 1, width: '110px' },
|
||||
{ name: 'close_at', display: 'Closing time', tag: 'datetime', null: true, readonly: 1, width: '110px' },
|
||||
{ name: 'created_by_id', display: 'Created by', relation: 'User', readonly: 1 },
|
||||
{ name: 'created_at', display: 'Created at', tag: 'datetime', width: '110px', align: 'right', readonly: 1 },
|
||||
{ name: 'updated_by_id', display: 'Updated by', relation: 'User', readonly: 1 },
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<h2><%- @T('Token Access') %> (HTTP Token Authentication)</h2>
|
||||
</div>
|
||||
|
||||
<p><%- @T('Enable REST API using tokens (not username/email address and password). Each user need to create own access tokens in user profile.') %></p>
|
||||
<p><%- @T('Enable REST API using tokens (not username/email address and password). Each user needs to create own access tokens in user profile.') %></p>
|
||||
|
||||
<p><%- @T('Example') %>:</p>
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
</div>
|
||||
<% if calendar.last_log: %><div class="action-row"><div class="alert alert--danger"><%= calendar.last_log %></div></div><% end %>
|
||||
<div class="action-row">
|
||||
<div class="label"><%- @T('Timezone') %></div> <%= calendar.timezone %>
|
||||
<div class="label"><%- @T('Time zone') %></div> <%= calendar.timezone %>
|
||||
</div>
|
||||
<div class="action-block action-block--flex">
|
||||
<div class="label"><%- @T('Business Hours') %></div>
|
||||
|
@ -86,4 +86,4 @@
|
|||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<p><%- @T('You can create chat widgets for your webpages to allow visitors to chat with you.') %></p>
|
||||
<p><%- @T('You can create chat widgets for your web pages to allow visitors to chat with you.') %></p>
|
||||
|
||||
<h2><%- @T('Topics') %></h2>
|
||||
<p><%- @T('You can create multiple chat topics.') %></p>
|
||||
|
@ -133,13 +133,13 @@
|
|||
|
||||
<h2><%- @T('Usage') %></h2>
|
||||
|
||||
<p><%- marked(@T('Insert the widget-code into the source code of every page the chat should be visible on. It should be placed at the end of the page source code before the §</body>§ closing tag.')) %></p>
|
||||
<p><%- marked(@T('Insert the widget code into the source code of every page the chat shall be visible on. It should be placed at the end of the page\'s source code before the §</body>§ closing tag.')) %></p>
|
||||
|
||||
<h3><%- @T('Requirements') %></h3>
|
||||
<p><%- @T("Zammad Chat requires jQuery. If you don't already use it on your website include it like this:") %></p>
|
||||
<pre><code class="language-html js-code"><script src="https://code.jquery.com/jquery-2.1.4.min.js"></script></code></pre>
|
||||
|
||||
<h3><%- @T('Auto-show chat') %> (<%- @T('default') %>)</h3>
|
||||
<h3><%- @T('Automatically show chat') %> (<%- @T('default') %>)</h3>
|
||||
<p><%- @T('The chat will show up once the connection to the server got established and if there is someone online to chat with.') %></p>
|
||||
|
||||
<pre><code class="language-html js-paramsBlock"><script src="<%= @baseurl %>/assets/chat/chat.min.js"></script>
|
||||
|
@ -199,4 +199,4 @@ $(function() {
|
|||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<div class="action">
|
||||
<div class="action-flow">
|
||||
<div class="action-block">
|
||||
<%- @T('Notice') %>: <%- @T('Unlinked Email Addresses, assign it to a channel or delete it.') %></h3>
|
||||
<%- @T('Notice') %>: <%- @T('Unassigned email addresses, assign them to a channel or delete them.') %></h3>
|
||||
<ul class="list">
|
||||
<% for email_address in @not_used_email_addresses: %>
|
||||
<li class="list-item" data-id="<%= email_address.id %>">
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<p><%- @T('With form you can add a formular to your web page witch directly generates a Ticket for you.') %></p>
|
||||
<p><%- @T('With form you can add a form to your web page which directly generates a ticket for you.') %></p>
|
||||
|
||||
<h2><%- @T('Designer') %></h2>
|
||||
<form class="js-params">
|
||||
|
@ -87,7 +87,7 @@
|
|||
<%- @Icon('checkbox', 'icon-unchecked') %>
|
||||
<%- @Icon('checkbox-checked', 'icon-checked') %>
|
||||
</span>
|
||||
<%- @T('Load no CSS for form. You need to generate your own CSS for the form.') %>
|
||||
<%- @T('Don\'t load CSS for form. You need to generate your own CSS for the form.') %>
|
||||
</label>
|
||||
<tr>
|
||||
<td>
|
||||
|
@ -115,7 +115,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<p><%- @T('You need to add the following Java Script code snipped to your web page') %>:</p>
|
||||
<p><%- @T('You need to add the following Javascript code snippet to your web page') %>:</p>
|
||||
|
||||
<pre><code class="language-html js-paramsBlock"><button id="feedback-form">Feedback</button>
|
||||
|
||||
|
@ -128,4 +128,4 @@ $(function() {
|
|||
});
|
||||
});
|
||||
</script></code></pre>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="span12">
|
||||
<p><%- @T('You have not created a Ticket yet.') %></p>
|
||||
<p><%- @T('The way to communicate with us is this thing called "Ticket".') %></p>
|
||||
<p><%- @T('You have not created a ticket yet.') %></p>
|
||||
<p><%- @T('The way to communicate with us is this thing called "ticket".') %></p>
|
||||
<p><%- @T('Please click the button below to create your first one.') %></p>
|
||||
|
||||
<p><a class="btn btn--primary" href="#customer_ticket_new"><%- @T('Create your first Ticket') %></a></p>
|
||||
<p><a class="btn btn--primary" href="#customer_ticket_new"><%- @T('Create your first ticket') %></a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -9,11 +9,11 @@
|
|||
<div class="sidebar optional">
|
||||
<h2><%- @T('Activity Stream') %></h2>
|
||||
<div class="activity-description">
|
||||
<p><%- @T('Here you will find latest activities in your system.') %></p>
|
||||
<p><%- @T('Here you will find the latest activities of your system.') %></p>
|
||||
<p><%- @T('E. g. recent changed tickets, users or organizations.') %></p>
|
||||
</div>
|
||||
<div class="activity-entries js-activityContent">
|
||||
<p><%- @T('Here you will find latest activities in your system.') %></p>
|
||||
<p><%- @T('Here you will find the latest activities of your system.') %></p>
|
||||
<p><%- @T('E. g. recent changed tickets, users or organizations.') %></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<p><%- @T('A Test Ticket has been created, you can find it in your overview "%s" %l.', @overviewName, @overviewUrl) %></p>
|
||||
<p><%- @T('A test ticket has been created, you can find it in your overview "%s" %l.', @overviewName, @overviewUrl) %></p>
|
||||
<div class="centered">
|
||||
<a class="btn btn--success flex" href="<%- @ticketUrl %>"><%- @T('Open Ticket# %s', @ticketNumber) %></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -57,11 +57,11 @@
|
|||
</div>
|
||||
<div class="column">
|
||||
<div class="in-process stat-widget vertical">
|
||||
<div class="stat-title"><%- @T('Your Tickets in process') %></div>
|
||||
<div class="stat-title"><%- @T('Your tickets in process') %></div>
|
||||
<div class="stat-graphic">
|
||||
<%- @Icon('in-process', "in-process-icon #{@StatsTicketInProcess.state}-color") %>
|
||||
</div>
|
||||
<div class="stat-label" title="<%- @T('%s of your Tickets are currently in process.', @StatsTicketInProcess.in_process) %>"><%- @T('%s% are currently in process', @StatsTicketInProcess.percent) %></div>
|
||||
<div class="stat-label" title="<%- @T('%s of your tickets are currently in process.', @StatsTicketInProcess.in_process) %>"><%- @T('%s% are currently in process', @StatsTicketInProcess.percent) %></div>
|
||||
<div class="stat-detail"><%- @T('Average: %s%', @StatsTicketInProcess.average_per_agent) %></div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -74,4 +74,4 @@
|
|||
<div class="stat-label"><%- @T('%s% are being reopened', @StatsTicketReopen.percent) %></div>
|
||||
<div class="stat-detail"><%- @T('Average: %s%', @StatsTicketReopen.average_per_agent) %></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div class="article-attachment">
|
||||
<div class="attachmentPlaceholder">
|
||||
<span class="attachmentPlaceholder-inputHolder fileUpload">
|
||||
<%- @T('select attachment..') %>
|
||||
<%- @T('select attachment...') %>
|
||||
<input multiple="multiple" type="file" name="file" style="">
|
||||
</span>
|
||||
</div>
|
||||
|
@ -20,6 +20,6 @@
|
|||
</div>
|
||||
<div class="fit dropArea">
|
||||
<div class="dropArea-inner">
|
||||
<%- @T('Drop Files here') %>
|
||||
<%- @T('Drop files here') %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
</select>
|
||||
<%- @Icon('arrow-down') %>
|
||||
</div>
|
||||
<span class="text-small text-muted">(<%- @T('iCalendar links from Google, will get fetched once a day') %>)</span>
|
||||
<span class="text-small text-muted">(<%- @T('iCalendar links from Google will get fetched once a day') %>)</span>
|
||||
</div>
|
||||
|
||||
<div class="settings-row">
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<div class="wizard-slide">
|
||||
<h2><%- @T('Connect Channels') %></h2>
|
||||
<div class="wizard-body vertical center">
|
||||
<p class="help-block help-block--center"><%- @T('Setup the communication channels you want to use with your Zammad.') %></p>
|
||||
<p class="help-block help-block--center"><%- @T('Set up the communication channels you want to use with your Zammad.') %></p>
|
||||
<div class="wizard-buttonList vertical">
|
||||
|
||||
<% for adapter in @adapters: %>
|
||||
|
@ -22,4 +22,4 @@
|
|||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<li>
|
||||
<a href="#manage/overviews">Overviews</a>
|
||||
<li>
|
||||
<a href="#manage/text_modules">TextModules</a>
|
||||
<a href="#manage/text_modules">Text modules</a>
|
||||
|
||||
<li>
|
||||
<a href="#manage/slas">SLAs</a>
|
||||
|
@ -72,15 +72,15 @@
|
|||
</div>
|
||||
</div>
|
||||
<ul class="nav nav-tabs" role="tablist">
|
||||
|
||||
|
||||
<li class="active"><a href="#c-account" role="tab" data-toggle="tab" aria-expanded="true">Accounts</a></li>
|
||||
|
||||
|
||||
<li><a href="#c-filter" role="tab" data-toggle="tab">Filter</a></li>
|
||||
|
||||
|
||||
<li><a href="#c-signature" role="tab" data-toggle="tab">Signatures</a></li>
|
||||
|
||||
|
||||
<li><a href="#c-setting" role="tab" data-toggle="tab">Settings</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="c-account"></div>
|
||||
|
@ -90,4 +90,4 @@
|
|||
<div class="small loading icon"></div>
|
||||
<div class="page-loading-label">Loading Email Settings</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<li>
|
||||
<a href="#manage/overviews">Overviews</a>
|
||||
<li>
|
||||
<a href="#manage/text_modules">TextModules</a>
|
||||
<a href="#manage/text_modules">Text modules</a>
|
||||
|
||||
<li class="active">
|
||||
<a href="#manage/slas">SLAs</a>
|
||||
|
@ -87,4 +87,4 @@
|
|||
Drohenden Unterschreitungen oder Unterschreitungen werden in einer eigenen Ansicht in den Übersichten angezeigt. Zudem können <strong>E-Mail Benachrichtigungen</strong> konfiguriert werden.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -2,28 +2,28 @@
|
|||
<h2>Profile</h2>
|
||||
|
||||
<ul class="nav nav-pills nav-stacked">
|
||||
<li><a href="#profile/language">Language</a></li>
|
||||
<li><a href="#profile/avatar">Avatar</a></li>
|
||||
<li><a href="#profile/password">Password</a></li>
|
||||
<li><a href="#profile/notifications">Notifications</a></li>
|
||||
<li class="active"><a href="#profile/calendar">Calendar</a></li>
|
||||
<li><a href="#profile/linked">Linked Accounts</a></li>
|
||||
<li><a href="#profile/language"><%- @t('Language') %></a></li>
|
||||
<li><a href="#profile/avatar"><%- @t('Avatar') %></a></li>
|
||||
<li><a href="#profile/password"><%- @t('Password') %></a></li>
|
||||
<li><a href="#profile/notifications"><%- @t('Notifications') %></a></li>
|
||||
<li class="active"><a href="#profile/calendar"><%- @t('Calendar') %></a></li>
|
||||
<li><a href="#profile/linked"><%- @t('Linked Accounts') %></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="main flex">
|
||||
<div class="page-header">
|
||||
<div class="page-header-title">
|
||||
<h1>Calendar</h1>
|
||||
<h1><%- @t('Calendar') %></h1>
|
||||
</div>
|
||||
</div>
|
||||
<h2>Ticket Subscriptions</h2>
|
||||
<h2><%- @t('Ticket Subscriptions') %></h2>
|
||||
|
||||
<p>See your tickets from within your favorite calendar by adding the following <b>url</b> to your calendar app.</p>
|
||||
<p><%- @t('See your tickets from within your favorite calendar by adding the following URL to your calendar app.') %></p>
|
||||
|
||||
<h3>Url</h3>
|
||||
<h3><%- @t('URL') %></h3>
|
||||
<div class="output-input">
|
||||
<output class="js-output">Subscription to all my tickets:</output>
|
||||
<output class="js-output"><%- @t('Subscription to all my tickets:') %></output>
|
||||
<input class="form-control js-select" readonly value="https://company.zammad.com/ical/tickets">
|
||||
</div>
|
||||
|
||||
|
@ -31,30 +31,30 @@
|
|||
<table class="settings-list">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="white-space: nowrap;">Status Type
|
||||
<th colspan="2">Options
|
||||
<th width="100%">Direct URL
|
||||
<th style="white-space: nowrap;"><%- @t('Status Type') %></th>
|
||||
<th colspan="2"><%- @t('Options') %></th>
|
||||
<th width="100%"><%- @t('Direct URL') %>/th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>new/open
|
||||
<td><label class="inline-label"><input type="checkbox" name="new_open/own" checked> Own</label>
|
||||
<td><label class="inline-label"><input type="checkbox" name="new_open/not_assigned"> Not Assigned</label>
|
||||
<td><input class="form-control form-control--borderless js-select" readonly value="https://company.zammad.com/ical/tickets/new_open">
|
||||
<td><%- @t('new/open') %></td>
|
||||
<td><label class="inline-label"><input type="checkbox" name="new_open/own" checked> <%- @t('Own') %></label></td>
|
||||
<td><label class="inline-label"><input type="checkbox" name="new_open/not_assigned"> <%- @t('Not Assigned') %></label>/td>
|
||||
<td><input class="form-control form-control--borderless js-select" readonly value="https://company.zammad.com/ical/tickets/new_open"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>pending
|
||||
<td><label class="inline-label"><input type="checkbox" name="pending/own" checked> Own</label>
|
||||
<td><label class="inline-label"><input type="checkbox" name="pending/not_assigned"> Not Assigned</label>
|
||||
<td><input class="form-control form-control--borderless js-select" readonly value="https://company.zammad.com/ical/tickets/pending">
|
||||
<td><%- @t('pending') %></td>
|
||||
<td><label class="inline-label"><input type="checkbox" name="pending/own" checked> <%- @t('Own') %></label></td>
|
||||
<td><label class="inline-label"><input type="checkbox" name="pending/not_assigned"> <%- @t('Not Assigned') %></label></td>
|
||||
<td><input class="form-control form-control--borderless js-select" readonly value="https://company.zammad.com/ical/tickets/pending"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>escalating
|
||||
<td><label class="inline-label"><input type="checkbox" name="escalating/own" checked> Own</label>
|
||||
<td><label class="inline-label"><input type="checkbox" name="escalating/not_assigned"> Not Assigned</label>
|
||||
<td><input class="form-control form-control--borderless js-select" readonly value="https://company.zammad.com/ical/tickets/escalating">
|
||||
<td><%- @t('escalating') %></td>
|
||||
<td><label class="inline-label"><input type="checkbox" name="escalating/own" checked> <%- @t('Own') %></label></td>
|
||||
<td><label class="inline-label"><input type="checkbox" name="escalating/not_assigned"> <%- @t('Not Assigned') %></label></td>
|
||||
<td><input class="form-control form-control--borderless js-select" readonly value="https://company.zammad.com/ical/tickets/escalating"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<div class="js-textarea articleNewEdit-body" contenteditable="true"><%- @content %></div>
|
||||
<!-- .textBubble grows with textarea (and expanding clone) -->
|
||||
<div class="attachments"></div>
|
||||
|
||||
|
||||
<!-- <div>
|
||||
<div class="attachment">
|
||||
<div class="attachment-name u-highlight">sega-genesis-box.gif</div>
|
||||
|
@ -53,7 +53,7 @@
|
|||
</div>
|
||||
<div class="fit dropArea">
|
||||
<div class="dropArea-inner">
|
||||
<%- @T('Drop Files here') %>
|
||||
<%- @T('Drop files here') %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -61,4 +61,4 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -467,7 +467,7 @@
|
|||
|
||||
<div class="article-attachment">
|
||||
<div class="attachmentPlaceholder">
|
||||
<span class="attachmentPlaceholder-hint">Enter Answer or</span> <span class="attachmentPlaceholder-inputHolder">select attachment.. <input multiple="multiple" name="file" style="position: absolute; right: 0px; top: 0px; font-family: Arial; font-size: 118px; margin: 0px; padding: 0px; cursor: pointer; opacity: 0;" type="file"></span>
|
||||
<span class="attachmentPlaceholder-hint">Enter Answer or</span> <span class="attachmentPlaceholder-inputHolder">select attachment... <input multiple="multiple" name="file" style="position: absolute; right: 0px; top: 0px; font-family: Arial; font-size: 118px; margin: 0px; padding: 0px; cursor: pointer; opacity: 0;" type="file"></span>
|
||||
</div>
|
||||
|
||||
<div class="attachmentUpload hide">
|
||||
|
@ -487,7 +487,7 @@
|
|||
|
||||
<div class="dropArea">
|
||||
<div class="dropArea-inner">
|
||||
Drop Files here
|
||||
Drop files here
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<li>
|
||||
<a href="#manage/overviews">Overviews</a>
|
||||
<li>
|
||||
<a href="#manage/text_modules">TextModules</a>
|
||||
<a href="#manage/text_modules">Text modules</a>
|
||||
|
||||
<li class="active">
|
||||
<a href="#manage/slas">SLAs</a>
|
||||
|
@ -121,4 +121,4 @@
|
|||
<div class="sla-edit btn js-edit">Edit</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<li>
|
||||
<a href="#manage/overviews">Overviews</a>
|
||||
<li>
|
||||
<a href="#manage/text_modules">TextModules</a>
|
||||
<a href="#manage/text_modules">Text modules</a>
|
||||
|
||||
<li class="active">
|
||||
<a href="#manage/slas">SLAs</a>
|
||||
|
@ -124,4 +124,4 @@
|
|||
<div class="sla-edit btn js-edit">Edit</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
</li>
|
||||
|
||||
<li>
|
||||
<a href="#manage/text_modules">TextModules</a>
|
||||
<a href="#manage/text_modules">Text modules</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
@ -205,4 +205,4 @@
|
|||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
</div>
|
||||
<h2>@<%- @T('Login') %></h2>
|
||||
</div>
|
||||
<p><%- @T('Put a message on the login page. To change it, click on the text area below and change it inline.') %></p>
|
||||
<p><%- @T('Put a message on the login page. To change it, click on the text area below and change it in-line.') %></p>
|
||||
<div class="js-loginPreview"></div>
|
||||
</div>
|
||||
|
||||
|
@ -55,4 +55,4 @@
|
|||
<button class="btn btn--primary js-submit"><%- @T('Send to clients') %></button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<p>
|
||||
<%- @T('Changes were made that require a database update.') %>
|
||||
<%- @T('This might take some time where the system can\'t be used.') %>
|
||||
<%- @T('Please update database changes only in a maintenance timeslot.') %>
|
||||
<%- @T('Please execute database changes only in a maintenance time-slot.') %>
|
||||
</p>
|
||||
<p>
|
||||
<%- @T('Changes') %>:
|
||||
|
@ -78,4 +78,4 @@
|
|||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<div class="page-content">
|
||||
<h2><%- @T('Ticket Subscriptions') %></h2>
|
||||
|
||||
<p><%- @T('See your tickets from within your favorite calendar by adding the following url to your calendar app.') %></p>
|
||||
<p><%- @T('See your tickets from within your favorite calendar by adding the following URL to your calendar app.') %></p>
|
||||
|
||||
<h3><label for="calendar-subscription-url"><%- @T('URL') %></label></h3>
|
||||
<form class="form--flexibleWidth">
|
||||
|
@ -69,4 +69,4 @@
|
|||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<div class="js-date js-formPreferencesItem hidden" data-backend="Ticket::Number::Date">
|
||||
<label class="formGroup-label"><%- @T('Options') %></label>
|
||||
<div><%- @T('With Checksum the counter will be appended with a checksum at the end. The format looks like "%s" (e. g. %s).', 'Year.Month.Day.SystemID.Counter.CheckSum', '2012070110101520, 2012070110101535') %></div>
|
||||
<div><%- @T('With Checksum, a checksum will be appended to the counter. The format looks like "%s" (e. g. %s).', 'Year.Month.Day.SystemID.Counter.CheckSum', '2012070110101520, 2012070110101535') %></div>
|
||||
<br>
|
||||
<form class="js-formItem"></form>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<div class="js-increment js-formPreferencesItem hidden" data-backend="Ticket::Number::Increment">
|
||||
<label class="formGroup-label"><%- @T('Options') %></label>
|
||||
<div><%- @T('With Checksum the counter will be appended with a checksum at the end. The format looks like "%s" (e. g. %s).', 'SystemID.Counter.CheckSum', '10101384, 10101392') %></div>
|
||||
<div><%- @T('With Checksum, a checksum will be appended to the counter. The format looks like "%s" (e. g. %s).', 'SystemID.Counter.CheckSum', '10101384, 10101392') %></div>
|
||||
<br>
|
||||
<form class="js-formItem"></form>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
<div class="attachmentPlaceholder">
|
||||
<span class="attachmentPlaceholder-hint"><%- @T('Enter Answer or') %></span>
|
||||
<span class="attachmentPlaceholder-inputHolder">
|
||||
<%- @T('select attachment..') %>
|
||||
<%- @T('select attachment...') %>
|
||||
<input multiple="multiple" type="file" name="file" style="position: absolute; right: 0px; top: 0px; font-family: Arial; font-size: 118px; margin: 0px; padding: 0px; cursor: pointer; opacity: 0;">
|
||||
</span>
|
||||
</div>
|
||||
|
@ -81,10 +81,10 @@
|
|||
</div>
|
||||
<div class="dropArea">
|
||||
<div class="dropArea-inner">
|
||||
<%- @T('Drop Files here') %>
|
||||
<%- @T('Drop files here') %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</form>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
<div class="box box--message">
|
||||
<h2><%- @T('Inline translation') %></h2>
|
||||
<p><%- @T('To do easier translations you can enable and disable inline translation feature by pressing "%s".', 'ctrl+alt+t') %></p>
|
||||
<p><%- @T('To make translations easier you can enable and disable the inline translation feature by pressing "%s".', 'ctrl+alt+t') %></p>
|
||||
<p><%- @T('Text with disabled inline translations looks like') %> <button class="btn btn-primary"><%- @Ti('Some Text') %></button></p>
|
||||
<p><%- @T('Text with enabled inline translations looks like') %> <button class="btn btn-primary"><span class="translation" contenteditable="true"><%- @Ti('Some Text') %></button></span></p>
|
||||
<p><%- @T('Just click into the marker and update the words just in place. Enjoy!') %></p>
|
||||
|
@ -21,4 +21,4 @@
|
|||
|
||||
<div class="js-ToDo"></div>
|
||||
<div class="js-List"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<h2><%- @T('Date & Datetime') %></h2>
|
||||
<h2><%- @T('Date & Time') %></h2>
|
||||
<table class="translationOverview js-translated table table-striped table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
|
@ -46,4 +46,4 @@
|
|||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
</div>
|
||||
<div class="popover-content js-content">
|
||||
<div class="activity-placeholder js-noNotifications">
|
||||
<%- @T("No unread Notifications for you. :) ") %>
|
||||
<%- @T("No unread notifications for you. :) ") %>
|
||||
</div>
|
||||
<div class="js-items"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<hr>
|
||||
<form>
|
||||
<div class="form-group">
|
||||
<label class="" for="template_name"><%- @T('Save as Template') %></label>
|
||||
<label class="" for="template_name"><%- @T('Save as template') %></label>
|
||||
<input type="text" name="template_name" id="template_name" class="form-control" value="<%= @template.name %>"/>
|
||||
</div>
|
||||
<button type="submit" class="btn" data-type="template_save"><%- @T('Save') %></button>
|
||||
|
@ -22,4 +22,4 @@
|
|||
<p><%- @T('With templates you can pre-fill ticket attributes.') %></p>
|
||||
<p><%- @T('Choose attributes and then save them as a new template.') %></p>
|
||||
<p><a class="create u-clickable"><%- @T('Save new template') %></a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -21,5 +21,5 @@
|
|||
</div>
|
||||
<% end %>
|
||||
<% if @ticket_ids.length > @ticket_ids_show.length: %>
|
||||
<a href="#" class="js-showAll"><%- @T('Show all ...') %></a>
|
||||
<% end %>
|
||||
<a href="#" class="js-showAll"><%- @T('Show all...') %></a>
|
||||
<% end %>
|
||||
|
|
|
@ -61,13 +61,13 @@ class FirstStepsController < ApplicationController
|
|||
location: '#channels/email',
|
||||
},
|
||||
{
|
||||
name: 'Invite Agents/Colleagues to help working on Tickets',
|
||||
name: 'Invite agents/colleagues to help working on tickets',
|
||||
checked: invite_agents,
|
||||
location: '#',
|
||||
class: 'js-inviteAgent',
|
||||
},
|
||||
{
|
||||
name: 'Invite Customers to create issues in Zammad',
|
||||
name: 'Invite customers to create issues in Zammad',
|
||||
checked: invite_customers,
|
||||
location: '#',
|
||||
class: 'js-inviteCustomer',
|
||||
|
@ -154,7 +154,7 @@ class FirstStepsController < ApplicationController
|
|||
class: 'js-testTicket',
|
||||
},
|
||||
{
|
||||
name: 'Invite Customers to create issues in Zammad',
|
||||
name: 'Invite customers to create issues in Zammad',
|
||||
checked: invite_customers,
|
||||
location: '#',
|
||||
class: 'js-inviteCustomer',
|
||||
|
|
|
@ -47,7 +47,7 @@ class Report
|
|||
},
|
||||
{
|
||||
name: 'reopened',
|
||||
display: 'Re-Open',
|
||||
display: 'Reopened',
|
||||
selected: false,
|
||||
dataDownload: true,
|
||||
adapter: Report::TicketReopened,
|
||||
|
|
431
db/migrate/20170123000002_fixed_translation.rb
Normal file
431
db/migrate/20170123000002_fixed_translation.rb
Normal file
|
@ -0,0 +1,431 @@
|
|||
class FixedTranslation < ActiveRecord::Migration
|
||||
def up
|
||||
|
||||
# return if it's a new setup
|
||||
return if !Setting.find_by(name: 'system_init_done')
|
||||
|
||||
settings_update = [
|
||||
{
|
||||
'name' => 'app_version',
|
||||
'title' => nil,
|
||||
'description' => 'Only used internally to propagate current web app version to clients.',
|
||||
},
|
||||
{
|
||||
'name' => 'websocket_port',
|
||||
'title' => 'Websocket port',
|
||||
'description' => nil,
|
||||
},
|
||||
{
|
||||
'name' => 'http_type',
|
||||
'title' => 'HTTP type',
|
||||
'description' => 'Defines the type of protocol used by the web server to serve the application. If https protocol will be used instead of plain http, it must be specified in here. Since this has no effect on the web server\'s settings or behavior, it will not change the method of access to the application and, if it is wrong, it will not prevent you from logging into the application. This setting is used as a variable, #{setting.http_type} which is found in all forms of messaging used by the application, to build links to the tickets within your system.',
|
||||
},
|
||||
{
|
||||
'name' => 'storage_provider',
|
||||
'title' => nil,
|
||||
'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.',
|
||||
},
|
||||
{
|
||||
'name' => 'geo_ip_backend',
|
||||
'title' => nil,
|
||||
'description' => 'Defines the backend for geo IP lookups. Shows also location of an IP address if an IP address is shown.',
|
||||
},
|
||||
{
|
||||
'name' => 'geo_calendar_backend',
|
||||
'title' => nil,
|
||||
'description' => 'Defines the backend for geo calendar lookups. Used for initial calendar succession.',
|
||||
},
|
||||
{
|
||||
'name' => 'ui_client_storage',
|
||||
'title' => nil,
|
||||
'description' => 'Use client storage to cache data to enhance performance of application.',
|
||||
},
|
||||
{
|
||||
'name' => 'auth_oauth2',
|
||||
'title' => nil,
|
||||
'description' => 'Enables user authentication via generic OAuth2. Register your app first.',
|
||||
},
|
||||
{
|
||||
'name' => 'auth_oauth2_credentials',
|
||||
'title' => nil,
|
||||
'description' => 'Enables user authentication via generic OAuth2.',
|
||||
},
|
||||
{
|
||||
'name' => 'password_min_size',
|
||||
'title' => 'Minimum length',
|
||||
'description' => 'Password needs to have at least a minimal number of characters.',
|
||||
},
|
||||
{
|
||||
'name' => 'password_need_digit',
|
||||
'title' => nil,
|
||||
'description' => 'Password needs to contain at least one digit.',
|
||||
},
|
||||
{
|
||||
'name' => 'password_max_login_failed',
|
||||
'title' => 'Maximum failed logins',
|
||||
'description' => 'Number of failed logins after account will be deactivated.',
|
||||
},
|
||||
{
|
||||
'name' => 'ticket_hook',
|
||||
'title' => nil,
|
||||
'description' => 'The identifier for a ticket, e. g. Ticket#, Call#, MyTicket#. The default is Ticket#.',
|
||||
},
|
||||
{
|
||||
'name' => 'ticket_hook_divider',
|
||||
'title' => nil,
|
||||
'description' => 'The divider between TicketHook and ticket number. E. g. \': \'.',
|
||||
},
|
||||
{
|
||||
'name' => 'ticket_hook_position',
|
||||
'title' => nil,
|
||||
'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.",
|
||||
},
|
||||
{
|
||||
'name' => 'customer_ticket_create_group_ids',
|
||||
'title' => nil,
|
||||
'description' => 'Defines groups for which a customer can create tickets via web interface. "-" means all groups are available.',
|
||||
},
|
||||
{
|
||||
'name' => 'form_ticket_create',
|
||||
'title' => nil,
|
||||
'description' => 'Defines if tickets can be created via web form.',
|
||||
},
|
||||
{
|
||||
'name' => 'ticket_subject_size',
|
||||
'title' => nil,
|
||||
'description' => 'Max. length of the subject in an email reply.',
|
||||
},
|
||||
{
|
||||
'name' => 'ticket_subject_re',
|
||||
'title' => nil,
|
||||
'description' => 'The text at the beginning of the subject in an email reply, e. g. RE, AW, or AS.',
|
||||
},
|
||||
{
|
||||
'name' => 'ticket_define_email_from',
|
||||
'title' => nil,
|
||||
'description' => 'Defines how the From field of emails (sent from answers and email tickets) should look like.',
|
||||
},
|
||||
{
|
||||
'name' => 'ticket_define_email_from_separator',
|
||||
'title' => nil,
|
||||
'description' => 'Defines the separator between the agent\'s real name and the given group email address.',
|
||||
},
|
||||
{
|
||||
'name' => 'postmaster_max_size',
|
||||
'title' => 'Maximum Email Size',
|
||||
'description' => 'Maximum size in MB of emails.',
|
||||
},
|
||||
{
|
||||
'name' => 'postmaster_follow_up_search_in',
|
||||
'title' => 'Additional follow-up detection',
|
||||
'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.',
|
||||
},
|
||||
{
|
||||
'name' => 'send_no_auto_response_reg_exp',
|
||||
'title' => nil,
|
||||
'description' => 'If this regex matches, no notification will be sent by the sender.',
|
||||
},
|
||||
{
|
||||
'name' => 'api_token_access',
|
||||
'title' => nil,
|
||||
'description' => 'Enable REST API using tokens (not username/email address and password). Each user needs to create its own access tokens in user profile.',
|
||||
},
|
||||
{
|
||||
'name' => 'monitoring_token',
|
||||
'title' => nil,
|
||||
'description' => 'Token for monitoring.',
|
||||
},
|
||||
{
|
||||
'name' => 'chat',
|
||||
'title' => nil,
|
||||
'description' => 'Enable/disable online chat.',
|
||||
},
|
||||
{
|
||||
'name' => 'chat_agent_idle_timeout',
|
||||
'title' => nil,
|
||||
'description' => 'Idle timeout in seconds until agent is set offline automatically.',
|
||||
},
|
||||
{
|
||||
'name' => 'models_searchable',
|
||||
'title' => 'Defines searchable models.',
|
||||
'description' => 'Defines the searchable models.',
|
||||
},
|
||||
{
|
||||
'name' => 'default_controller',
|
||||
'title' => nil,
|
||||
'description' => 'Defines the default screen.',
|
||||
},
|
||||
{
|
||||
'name' => 'es_url',
|
||||
'title' => nil,
|
||||
'description' => 'Defines endpoint of Elasticsearch.',
|
||||
},
|
||||
{
|
||||
'name' => 'es_user',
|
||||
'title' => nil,
|
||||
'description' => 'Defines HTTP basic auth user of Elasticsearch.',
|
||||
},
|
||||
{
|
||||
'name' => 'es_password',
|
||||
'title' => 'Elasticsearch Endpoint Password',
|
||||
'description' => 'Defines HTTP basic auth password of Elasticsearch.',
|
||||
},
|
||||
{
|
||||
'name' => 'es_index',
|
||||
'title' => 'Elasticsearch Endpoint Index',
|
||||
'description' => 'Defines Elasticsearch index name.',
|
||||
},
|
||||
{
|
||||
'name' => 'es_attachment_ignore',
|
||||
'title' => 'Elasticsearch Attachment Extensions',
|
||||
'description' => 'Defines attachment extensions which will be ignored by Elasticsearch.',
|
||||
},
|
||||
{
|
||||
'name' => 'es_attachment_max_size_in_mb',
|
||||
'title' => 'Elasticsearch Attachment Size',
|
||||
'description' => nil,
|
||||
},
|
||||
{
|
||||
'name' => 'import_mode',
|
||||
'title' => nil,
|
||||
'description' => 'Puts Zammad into import mode (disables some triggers).',
|
||||
},
|
||||
{
|
||||
'name' => 'import_backend',
|
||||
'title' => nil,
|
||||
'description' => 'Set backend which is being used for import.',
|
||||
},
|
||||
{
|
||||
'name' => 'import_ignore_sla',
|
||||
'title' => nil,
|
||||
'description' => 'Ignore escalation/SLA information for import.',
|
||||
},
|
||||
{
|
||||
'name' => 'import_otrs_endpoint',
|
||||
'title' => nil,
|
||||
'description' => 'Defines OTRS endpoint to import users, tickets, states and articles.',
|
||||
},
|
||||
{
|
||||
'name' => 'import_otrs_endpoint_key',
|
||||
'title' => nil,
|
||||
'description' => 'Defines OTRS endpoint authentication key.',
|
||||
},
|
||||
{
|
||||
'name' => 'import_otrs_user',
|
||||
'title' => 'Import User for HTTP basic authentication',
|
||||
'description' => 'Defines HTTP basic authentication user (only if OTRS is protected via HTTP basic auth).',
|
||||
},
|
||||
{
|
||||
'name' => 'import_zendesk_endpoint_key',
|
||||
'title' => nil,
|
||||
'description' => 'Defines Zendesk endpoint authentication key.',
|
||||
},
|
||||
{
|
||||
'name' => 'import_zendesk_endpoint_username',
|
||||
'title' => nil,
|
||||
'description' => 'Defines Zendesk endpoint authentication user.',
|
||||
},
|
||||
{
|
||||
'name' => 'time_accounting_selector',
|
||||
'title' => nil,
|
||||
'description' => 'Enable time accounting for these tickets.',
|
||||
},
|
||||
{
|
||||
'name' => 'tag_new',
|
||||
'title' => nil,
|
||||
'description' => 'Allow users to create new tags.',
|
||||
},
|
||||
{
|
||||
'name' => 'defaults_calendar_subscriptions_tickets',
|
||||
'title' => nil,
|
||||
'description' => 'Defines the default calendar tickets subscription settings.',
|
||||
},
|
||||
{
|
||||
'name' => 'translator_key',
|
||||
'title' => 'Defines translator identifier.',
|
||||
'description' => nil,
|
||||
},
|
||||
{
|
||||
'name' => '0010_postmaster_filter_trusted',
|
||||
'title' => 'Defines postmaster filter.',
|
||||
'description' => 'Defines postmaster filter to remove X-Zammad headers from not trusted sources.',
|
||||
},
|
||||
{
|
||||
'name' => '0012_postmaster_filter_sender_is_system_address',
|
||||
'title' => 'Defines postmaster filter.',
|
||||
'description' => 'Defines postmaster filter to check if email has been created by Zammad itself and will set the article sender.',
|
||||
},
|
||||
{
|
||||
'name' => '0015_postmaster_filter_identify_sender',
|
||||
'title' => 'Defines postmaster filter.',
|
||||
'description' => 'Defines postmaster filter to identify sender user.',
|
||||
},
|
||||
{
|
||||
'name' => '0020_postmaster_filter_auto_response_check',
|
||||
'title' => 'Defines postmaster filter.',
|
||||
'description' => 'Defines postmaster filter to identify auto responses to prevent auto replies from Zammad.',
|
||||
},
|
||||
{
|
||||
'name' => '0030_postmaster_filter_out_of_office_check',
|
||||
'title' => 'Defines postmaster filter.',
|
||||
'description' => 'Defines postmaster filter to identify out-of-office emails for follow-up detection and keeping current ticket state.',
|
||||
},
|
||||
{
|
||||
'name' => '0100_postmaster_filter_follow_up_check',
|
||||
'title' => 'Defines postmaster filter.',
|
||||
'description' => 'Defines postmaster filter to identify follow-ups (based on admin settings).',
|
||||
},
|
||||
{
|
||||
'name' => '0900_postmaster_filter_bounce_check',
|
||||
'title' => 'Defines postmaster filter.',
|
||||
'description' => 'Defines postmaster filter to identify postmaster bounced - to handle it as follow-up of the original ticket.',
|
||||
},
|
||||
{
|
||||
'name' => '1000_postmaster_filter_database_check',
|
||||
'title' => 'Defines postmaster filter.',
|
||||
'description' => 'Defines postmaster filter for filters managed via admin interface.',
|
||||
},
|
||||
{
|
||||
'name' => '5000_postmaster_filter_icinga',
|
||||
'title' => 'Defines postmaster filter.',
|
||||
'description' => 'Defines postmaster filter to manage Icinga (http://www.icinga.org) emails.',
|
||||
},
|
||||
{
|
||||
'name' => '5100_postmaster_filter_nagios',
|
||||
'title' => 'Defines postmaster filter.',
|
||||
'description' => 'Defines postmaster filter to manage Nagios (http://www.nagios.org) emails.',
|
||||
},
|
||||
{
|
||||
'name' => 'icinga_integration',
|
||||
'title' => nil,
|
||||
'description' => 'Defines if Icinga (http://www.icinga.org) is enabled or not.',
|
||||
},
|
||||
{
|
||||
'name' => 'icinga_sender',
|
||||
'title' => nil,
|
||||
'description' => 'Defines the sender email address of Icinga emails.',
|
||||
},
|
||||
{
|
||||
'name' => 'icinga_auto_close',
|
||||
'title' => nil,
|
||||
'description' => 'Defines if tickets should be closed if service is recovered.',
|
||||
},
|
||||
{
|
||||
'name' => 'icinga_auto_close_state_id',
|
||||
'title' => nil,
|
||||
'description' => 'Defines the state of auto closed tickets.',
|
||||
},
|
||||
{
|
||||
'name' => 'nagios_integration',
|
||||
'title' => nil,
|
||||
'description' => 'Defines if Nagios (http://www.nagios.org) is enabled or not.',
|
||||
},
|
||||
{
|
||||
'name' => 'nagios_sender',
|
||||
'title' => nil,
|
||||
'description' => 'Defines the sender email address of Nagios emails.',
|
||||
},
|
||||
{
|
||||
'name' => 'nagios_auto_close',
|
||||
'title' => nil,
|
||||
'description' => 'Defines if tickets should be closed if service is recovered.',
|
||||
},
|
||||
{
|
||||
'name' => 'nagios_auto_close_state_id',
|
||||
'title' => nil,
|
||||
'description' => 'Defines the state of auto closed tickets.',
|
||||
},
|
||||
{
|
||||
'name' => '0100_trigger',
|
||||
'title' => 'Defines sync transaction backend.',
|
||||
'description' => 'Defines the transaction backend to execute triggers.',
|
||||
},
|
||||
{
|
||||
'name' => '0100_notification',
|
||||
'title' => 'Defines transaction backend.',
|
||||
'description' => 'Defines the transaction backend to send agent notifications.',
|
||||
},
|
||||
{
|
||||
'name' => '1000_signature_detection',
|
||||
'title' => 'Defines transaction backend.',
|
||||
'description' => 'Defines the transaction backend to detect customer signatures in emails.',
|
||||
},
|
||||
{
|
||||
'name' => '6000_slack_webhook',
|
||||
'title' => 'Defines transaction backend.',
|
||||
'description' => 'Defines the transaction backend which posts messages to Slack (http://www.slack.com).',
|
||||
},
|
||||
{
|
||||
'name' => 'slack_integration',
|
||||
'title' => nil,
|
||||
'description' => 'Defines if Slack (http://www.slack.org) is enabled or not.',
|
||||
},
|
||||
{
|
||||
'name' => 'slack_config',
|
||||
'title' => nil,
|
||||
'description' => 'Defines the slack config.',
|
||||
},
|
||||
{
|
||||
'name' => 'sipgate_integration',
|
||||
'title' => nil,
|
||||
'description' => 'Defines if sipgate.io (http://www.sipgate.io) is enabled or not.',
|
||||
},
|
||||
{
|
||||
'name' => 'sipgate_config',
|
||||
'title' => nil,
|
||||
'description' => 'Defines the sipgate.io config.',
|
||||
},
|
||||
{
|
||||
'name' => 'clearbit_integration',
|
||||
'title' => nil,
|
||||
'description' => 'Defines if Clearbit (http://www.clearbit.com) is enabled or not.',
|
||||
},
|
||||
{
|
||||
'name' => 'clearbit_config',
|
||||
'title' => nil,
|
||||
'description' => 'Defines the Clearbit config.',
|
||||
},
|
||||
{
|
||||
'name' => '9000_clearbit_enrichment',
|
||||
'title' => 'Defines transaction backend.',
|
||||
'description' => 'Defines the transaction backend which will enrich customer and organization information from Clearbit (http://www.clearbit.com).',
|
||||
},
|
||||
{
|
||||
'name' => '9100_cti_caller_id_detection',
|
||||
'title' => 'Defines transaction backend.',
|
||||
'description' => 'Defines the transaction backend which detects caller IDs in objects and store them for CTI lookups.',
|
||||
},
|
||||
{
|
||||
'name' => '9200_karma',
|
||||
'title' => 'Defines transaction backend.',
|
||||
'description' => 'Defines the transaction backend which creates the karma score.',
|
||||
},
|
||||
{
|
||||
'name' => 'karma_levels',
|
||||
'title' => 'Defines karma levels.',
|
||||
'description' => 'Defines the karma levels.',
|
||||
},
|
||||
]
|
||||
|
||||
settings_update.each { |setting|
|
||||
fetched_setting = Setting.find_by(name: setting['name'] )
|
||||
next if !fetched_setting
|
||||
|
||||
if setting['title']
|
||||
fetched_setting.title = setting['title']
|
||||
end
|
||||
|
||||
if setting['description']
|
||||
fetched_setting.description = setting['description']
|
||||
end
|
||||
|
||||
fetched_setting.save!
|
||||
}
|
||||
|
||||
Translation.sync
|
||||
|
||||
end
|
||||
end
|
220
db/seeds.rb
220
db/seeds.rb
|
@ -36,7 +36,7 @@ Setting.create_if_not_exists(
|
|||
title: 'App Version',
|
||||
name: 'app_version',
|
||||
area: 'Core::WebApp',
|
||||
description: 'Only used for internal, to propagate current web app version to clients.',
|
||||
description: 'Only used internally to propagate current web app version to clients.',
|
||||
options: {},
|
||||
state: '',
|
||||
preferences: { online_service_disable: true },
|
||||
|
@ -223,7 +223,7 @@ Setting.create_if_not_exists(
|
|||
frontend: true
|
||||
)
|
||||
Setting.create_if_not_exists(
|
||||
title: 'websocket port',
|
||||
title: 'Websocket port',
|
||||
name: 'websocket_port',
|
||||
area: 'System::WebSocket',
|
||||
description: 'Defines the port of the websocket server.',
|
||||
|
@ -242,10 +242,10 @@ Setting.create_if_not_exists(
|
|||
frontend: true
|
||||
)
|
||||
Setting.create_if_not_exists(
|
||||
title: 'http type',
|
||||
title: 'HTTP type',
|
||||
name: 'http_type',
|
||||
area: 'System::Base',
|
||||
description: 'Defines the type of protocol, used by the web server, to serve the application. If https protocol will be used instead of plain http, it must be specified in here. Since this has no affect on the web server\'s settings or behavior, it will not change the method of access to the application and, if it is wrong, it will not prevent you from logging into the application. This setting is used as a variable, #{setting.http_type} which is found in all forms of messaging used by the application, to build links to the tickets within your system.',
|
||||
description: 'Defines the type of protocol used by the web server to serve the application. If https protocol will be used instead of plain http, it must be specified in here. Since this has no effect on the web server\'s settings or behavior, it will not change the method of access to the application and, if it is wrong, it will not prevent you from logging into the application. This setting is used as a variable, #{setting.http_type} which is found in all forms of messaging used by the application, to build links to the tickets within your system.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -273,7 +273,7 @@ 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 on the filesystem. You can switch between the modules even on a system that is already in production without any loss of data.',
|
||||
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: [
|
||||
{
|
||||
|
@ -329,7 +329,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Geo IP Service',
|
||||
name: 'geo_ip_backend',
|
||||
area: 'System::Services',
|
||||
description: 'Defines the backend for geo IP lookups. Show also location of an IP address if an IP address is shown.',
|
||||
description: 'Defines the backend for geo IP lookups. Shows also location of an IP address if an IP address is shown.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -383,7 +383,7 @@ 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 inital calendar succession.',
|
||||
description: 'Defines the backend for geo calendar lookups. Used for initial calendar succession.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -510,7 +510,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Client storage',
|
||||
name: 'ui_client_storage',
|
||||
area: 'System::UI',
|
||||
description: 'Use client storage to cache data to perform speed of application.',
|
||||
description: 'Use client storage to cache data to enhance performance of application.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -994,7 +994,7 @@ 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,',
|
||||
description: 'Enables user authentication via generic OAuth2. Register your app first.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1022,7 +1022,7 @@ 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.',
|
||||
description: 'Enables user authentication via generic OAuth2.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1075,10 +1075,10 @@ Setting.create_if_not_exists(
|
|||
)
|
||||
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Minimal size',
|
||||
title: 'Minimum length',
|
||||
name: 'password_min_size',
|
||||
area: 'Security::Password',
|
||||
description: 'Password needs to have at least minimal size of characters.',
|
||||
description: 'Password needs to have at least a minimal number of characters.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1143,7 +1143,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Digit required',
|
||||
name: 'password_need_digit',
|
||||
area: 'Security::Password',
|
||||
description: 'Password needs to have at least one digit.',
|
||||
description: 'Password needs to contain at least one digit.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1165,10 +1165,10 @@ Setting.create_if_not_exists(
|
|||
frontend: false
|
||||
)
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Maximal failed logins',
|
||||
title: 'Maximum failed logins',
|
||||
name: 'password_max_login_failed',
|
||||
area: 'Security::Password',
|
||||
description: 'Maximal failed logins after account is inactive.',
|
||||
description: 'Number of failed logins after account will be deactivated.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1208,7 +1208,7 @@ 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#.',
|
||||
description: 'The identifier for a ticket, e. g. Ticket#, Call#, MyTicket#. The default is Ticket#.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1232,7 +1232,7 @@ 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 \': \'.',
|
||||
description: 'The divider between TicketHook and ticket number. E. g. \': \'.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1256,7 +1256,7 @@ Setting.create_if_not_exists(
|
|||
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 followups based on email headers and/or body.",
|
||||
* **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: [
|
||||
{
|
||||
|
@ -1427,7 +1427,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Group selection for Ticket creation',
|
||||
name: 'customer_ticket_create_group_ids',
|
||||
area: 'CustomerWeb::Base',
|
||||
description: 'Defines groups where customer can create tickets via web interface. "-" means all groups are available.',
|
||||
description: 'Defines groups for which a customer can create tickets via web interface. "-" means all groups are available.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1453,7 +1453,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Enable Ticket creation',
|
||||
name: 'form_ticket_create',
|
||||
area: 'Form::Base',
|
||||
description: 'Defines if ticket can get created via web form.',
|
||||
description: 'Defines if tickets can be created via web form.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1479,7 +1479,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Ticket Subject Size',
|
||||
name: 'ticket_subject_size',
|
||||
area: 'Email::Base',
|
||||
description: 'Max size of the subject in an email reply.',
|
||||
description: 'Max. length of the subject in an email reply.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1500,7 +1500,7 @@ 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.',
|
||||
description: 'The text at the beginning of the subject in an email reply, e. g. RE, AW, or AS.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1522,7 +1522,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Sender Format',
|
||||
name: 'ticket_define_email_from',
|
||||
area: 'Email::Base',
|
||||
description: 'Defines how the From field from the emails (sent from answers and email tickets) should look like.',
|
||||
description: 'Defines how the From field of emails (sent from answers and email tickets) should look like.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1548,7 +1548,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Sender Format Separator',
|
||||
name: 'ticket_define_email_from_separator',
|
||||
area: 'Email::Base',
|
||||
description: 'Defines the separator between the agents real name and the given group email address.',
|
||||
description: 'Defines the separator between the agent\'s real name and the given group email address.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1567,10 +1567,10 @@ Setting.create_if_not_exists(
|
|||
)
|
||||
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Max. Email Size',
|
||||
title: 'Maximum Email Size',
|
||||
name: 'postmaster_max_size',
|
||||
area: 'Email::Base',
|
||||
description: 'Maximal size in MB of emails.',
|
||||
description: 'Maximum size in MB of emails.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1617,10 +1617,10 @@ Setting.create_if_not_exists(
|
|||
)
|
||||
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Additional follow up detection',
|
||||
title: 'Additional follow-up detection',
|
||||
name: 'postmaster_follow_up_search_in',
|
||||
area: 'Email::Base',
|
||||
description: 'In default the follow up check is done via the subject of an email. With this setting you can add more fields where the follow up check is executed.',
|
||||
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: [
|
||||
{
|
||||
|
@ -1670,7 +1670,7 @@ 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 send by the sender.',
|
||||
description: 'If this regex matches, no notification will be sent by the sender.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1693,7 +1693,7 @@ 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 need to create own access tokens in user profile.',
|
||||
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: [
|
||||
{
|
||||
|
@ -1744,7 +1744,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Monitoring Token',
|
||||
name: 'monitoring_token',
|
||||
area: 'HealthCheck::Base',
|
||||
description: 'Token for Monitoring.',
|
||||
description: 'Token for monitoring.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1766,7 +1766,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Enable Chat',
|
||||
name: 'chat',
|
||||
area: 'Chat::Base',
|
||||
description: 'Enable/Disable online chat.',
|
||||
description: 'Enable/disable online chat.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1793,7 +1793,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Agent idle timeout',
|
||||
name: 'chat_agent_idle_timeout',
|
||||
area: 'Chat::Extended',
|
||||
description: 'Idle timeout in seconds till agent is set offline automatically.',
|
||||
description: 'Idle timeout in seconds until agent is set offline automatically.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1812,10 +1812,10 @@ Setting.create_if_not_exists(
|
|||
)
|
||||
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Define searchable models.',
|
||||
title: 'Defines searchable models.',
|
||||
name: 'models_searchable',
|
||||
area: 'Models::Base',
|
||||
description: 'Define the models which can be searched for.',
|
||||
description: 'Defines the searchable models.',
|
||||
options: {},
|
||||
state: [],
|
||||
preferences: {
|
||||
|
@ -1828,7 +1828,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Default Screen',
|
||||
name: 'default_controller',
|
||||
area: 'Core',
|
||||
description: 'Defines the default controller.',
|
||||
description: 'Defines the default screen.',
|
||||
options: {},
|
||||
state: '#dashboard',
|
||||
frontend: true
|
||||
|
@ -1838,7 +1838,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Elasticsearch Endpoint URL',
|
||||
name: 'es_url',
|
||||
area: 'SearchIndex::Elasticsearch',
|
||||
description: 'Define endpoint of Elastic Search.',
|
||||
description: 'Defines endpoint of Elasticsearch.',
|
||||
state: '',
|
||||
preferences: { online_service_disable: true },
|
||||
frontend: false
|
||||
|
@ -1847,40 +1847,40 @@ Setting.create_if_not_exists(
|
|||
title: 'Elasticsearch Endpoint User',
|
||||
name: 'es_user',
|
||||
area: 'SearchIndex::Elasticsearch',
|
||||
description: 'Define http basic auth user of Elasticsearch.',
|
||||
description: 'Defines HTTP basic auth user of Elasticsearch.',
|
||||
state: '',
|
||||
preferences: { online_service_disable: true },
|
||||
frontend: false
|
||||
)
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Elastic Search Endpoint Password',
|
||||
title: 'Elasticsearch Endpoint Password',
|
||||
name: 'es_password',
|
||||
area: 'SearchIndex::Elasticsearch',
|
||||
description: 'Define http basic auth password of Elasticsearch.',
|
||||
description: 'Defines HTTP basic auth password of Elasticsearch.',
|
||||
state: '',
|
||||
preferences: { online_service_disable: true },
|
||||
frontend: false
|
||||
)
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Elastic Search Endpoint Index',
|
||||
title: 'Elasticsearch Endpoint Index',
|
||||
name: 'es_index',
|
||||
area: 'SearchIndex::Elasticsearch',
|
||||
description: 'Define Elasticsearch index name.',
|
||||
description: 'Defines Elasticsearch index name.',
|
||||
state: 'zammad',
|
||||
preferences: { online_service_disable: true },
|
||||
frontend: false
|
||||
)
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Elastic Search Attachment Extentions',
|
||||
title: 'Elasticsearch Attachment Extensions',
|
||||
name: 'es_attachment_ignore',
|
||||
area: 'SearchIndex::Elasticsearch',
|
||||
description: 'Define attachment extentions which are ignored for 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: 'Elastic Search Attachment Size',
|
||||
title: 'Elasticsearch Attachment Size',
|
||||
name: 'es_attachment_max_size_in_mb',
|
||||
area: 'SearchIndex::Elasticsearch',
|
||||
description: 'Define max. attachment size for Elasticsearch.',
|
||||
|
@ -1893,7 +1893,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Import Mode',
|
||||
name: 'import_mode',
|
||||
area: 'Import::Base',
|
||||
description: 'Set system in import mode (disable some triggers).',
|
||||
description: 'Puts Zammad into import mode (disables some triggers).',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1915,7 +1915,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Import Backend',
|
||||
name: 'import_backend',
|
||||
area: 'Import::Base::Internal',
|
||||
description: 'Set backend which is used for import.',
|
||||
description: 'Set backend which is being used for import.',
|
||||
options: {},
|
||||
state: '',
|
||||
frontend: true
|
||||
|
@ -1924,7 +1924,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Ignore Escalation/SLA Information',
|
||||
name: 'import_ignore_sla',
|
||||
area: 'Import::Base',
|
||||
description: 'Ignore Escalation/SLA Information form import system.',
|
||||
description: 'Ignore escalation/SLA information for import.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1947,7 +1947,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Import Endpoint',
|
||||
name: 'import_otrs_endpoint',
|
||||
area: 'Import::OTRS',
|
||||
description: 'Defines OTRS endpoint to import users, ticket, states and articles.',
|
||||
description: 'Defines OTRS endpoint to import users, tickets, states and articles.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1965,7 +1965,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Import Key',
|
||||
name: 'import_otrs_endpoint_key',
|
||||
area: 'Import::OTRS',
|
||||
description: 'Defines OTRS endpoint auth key.',
|
||||
description: 'Defines OTRS endpoint authentication key.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -1981,10 +1981,10 @@ Setting.create_if_not_exists(
|
|||
)
|
||||
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Import User for http basic authentication',
|
||||
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).',
|
||||
description: 'Defines HTTP basic authentication user (only if OTRS is protected via HTTP basic auth).',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -2040,7 +2040,7 @@ 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 auth key.',
|
||||
description: 'Defines Zendesk endpoint authentication key.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -2059,7 +2059,7 @@ 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 auth key.',
|
||||
description: 'Defines Zendesk endpoint authentication user.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -2105,7 +2105,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Time Accounting Selector',
|
||||
name: 'time_accounting_selector',
|
||||
area: 'Web::Base',
|
||||
description: 'Enable time accounting for this tickets.',
|
||||
description: 'Enable time accounting for these tickets.',
|
||||
options: {
|
||||
form: [
|
||||
{},
|
||||
|
@ -2123,7 +2123,7 @@ Setting.create_if_not_exists(
|
|||
title: 'New Tags',
|
||||
name: 'tag_new',
|
||||
area: 'Web::Base',
|
||||
description: 'Allow users to crate new tags.',
|
||||
description: 'Allow users to create new tags.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -2147,10 +2147,10 @@ Setting.create_if_not_exists(
|
|||
)
|
||||
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Default calendar Tickets subscriptions',
|
||||
title: 'Default calendar tickets subscriptions',
|
||||
name: 'defaults_calendar_subscriptions_tickets',
|
||||
area: 'Defaults::CalendarSubscriptions',
|
||||
description: 'Defines the default calendar Tickets subscription settings.',
|
||||
description: 'Defines the default calendar tickets subscription settings.',
|
||||
options: {},
|
||||
state: {
|
||||
escalation: {
|
||||
|
@ -2173,7 +2173,7 @@ Setting.create_if_not_exists(
|
|||
)
|
||||
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Define translator identifier.',
|
||||
title: 'Defines translator identifier.',
|
||||
name: 'translator_key',
|
||||
area: 'i18n::translator_key',
|
||||
description: 'Defines the translator identifier for contributions.',
|
||||
|
@ -2183,61 +2183,61 @@ Setting.create_if_not_exists(
|
|||
)
|
||||
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Define postmaster filter.',
|
||||
title: 'Defines postmaster filter.',
|
||||
name: '0010_postmaster_filter_trusted',
|
||||
area: 'Postmaster::PreFilter',
|
||||
description: 'Define postmaster filter to remove X-Zammad-Headers from not trusted sources.',
|
||||
description: 'Defines postmaster filter to remove X-Zammad headers from not trusted sources.',
|
||||
options: {},
|
||||
state: 'Channel::Filter::Trusted',
|
||||
frontend: false
|
||||
)
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Define postmaster filter.',
|
||||
title: 'Defines postmaster filter.',
|
||||
name: '0012_postmaster_filter_sender_is_system_address',
|
||||
area: 'Postmaster::PreFilter',
|
||||
description: 'Define postmaster filter to check if email got created via email as Zammad.',
|
||||
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: 'Define postmaster filter.',
|
||||
title: 'Defines postmaster filter.',
|
||||
name: '0015_postmaster_filter_identify_sender',
|
||||
area: 'Postmaster::PreFilter',
|
||||
description: 'Define postmaster filter to identify sender user.',
|
||||
description: 'Defines postmaster filter to identify sender user.',
|
||||
options: {},
|
||||
state: 'Channel::Filter::IdentifySender',
|
||||
frontend: false
|
||||
)
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Define postmaster filter.',
|
||||
title: 'Defines postmaster filter.',
|
||||
name: '0020_postmaster_filter_auto_response_check',
|
||||
area: 'Postmaster::PreFilter',
|
||||
description: 'Define postmaster filter to identify auto responses to prevent auto replies from Zammad.',
|
||||
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: 'Define postmaster filter.',
|
||||
title: 'Defines postmaster filter.',
|
||||
name: '0030_postmaster_filter_out_of_office_check',
|
||||
area: 'Postmaster::PreFilter',
|
||||
description: 'Define postmaster filter to identify out of office emails for follow up detection and keeping current ticket state.',
|
||||
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: 'Define postmaster filter.',
|
||||
title: 'Defines postmaster filter.',
|
||||
name: '0100_postmaster_filter_follow_up_check',
|
||||
area: 'Postmaster::PreFilter',
|
||||
description: 'Define postmaster filter to identify follow ups (based on admin settings).',
|
||||
description: 'Defines postmaster filter to identify follow-ups (based on admin settings).',
|
||||
options: {},
|
||||
state: 'Channel::Filter::FollowUpCheck',
|
||||
frontend: false
|
||||
)
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Define postmaster filter.',
|
||||
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).',
|
||||
|
@ -2246,37 +2246,37 @@ Setting.create_if_not_exists(
|
|||
frontend: false
|
||||
)
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Define postmaster filter.',
|
||||
title: 'Defines postmaster filter.',
|
||||
name: '0900_postmaster_filter_bounce_check',
|
||||
area: 'Postmaster::PreFilter',
|
||||
description: 'Define postmaster filter to identify postmaster bounced - to handle it as follow up of origin ticket.',
|
||||
description: 'Defines postmaster filter to identify postmaster bounced - to handle it as follow-up of the original ticket.',
|
||||
options: {},
|
||||
state: 'Channel::Filter::BounceCheck',
|
||||
frontend: false
|
||||
)
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Define postmaster filter.',
|
||||
title: 'Defines postmaster filter.',
|
||||
name: '1000_postmaster_filter_database_check',
|
||||
area: 'Postmaster::PreFilter',
|
||||
description: 'Define postmaster filter for filters managed via admin interface.',
|
||||
description: 'Defines postmaster filter for filters managed via admin interface.',
|
||||
options: {},
|
||||
state: 'Channel::Filter::Database',
|
||||
frontend: false
|
||||
)
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Define postmaster filter.',
|
||||
title: 'Defines postmaster filter.',
|
||||
name: '5000_postmaster_filter_icinga',
|
||||
area: 'Postmaster::PreFilter',
|
||||
description: 'Define postmaster filter for manage Icinga (http://www.icinga.org) emails.',
|
||||
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: 'Define postmaster filter.',
|
||||
title: 'Defines postmaster filter.',
|
||||
name: '5100_postmaster_filter_nagios',
|
||||
area: 'Postmaster::PreFilter',
|
||||
description: 'Define postmaster filter for manage Nagios (http://www.nagios.org) emails.',
|
||||
description: 'Defines postmaster filter to manage Nagios (http://www.nagios.org) emails.',
|
||||
options: {},
|
||||
state: 'Channel::Filter::Nagios',
|
||||
frontend: false
|
||||
|
@ -2285,7 +2285,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Icinga integration',
|
||||
name: 'icinga_integration',
|
||||
area: 'Integration::Switch',
|
||||
description: 'Define if Icinga (http://www.icinga.org) is enabled or not.',
|
||||
description: 'Defines if Icinga (http://www.icinga.org) is enabled or not.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -2311,7 +2311,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Sender',
|
||||
name: 'icinga_sender',
|
||||
area: 'Integration::Icinga',
|
||||
description: 'Define the sender email address of Icinga emails.',
|
||||
description: 'Defines the sender email address of Icinga emails.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -2334,7 +2334,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Auto close',
|
||||
name: 'icinga_auto_close',
|
||||
area: 'Integration::Icinga',
|
||||
description: 'Define if tickets should be closed if service is recovered.',
|
||||
description: 'Defines if tickets should be closed if service is recovered.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -2360,7 +2360,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Auto close state',
|
||||
name: 'icinga_auto_close_state_id',
|
||||
area: 'Integration::Icinga',
|
||||
description: 'Define the ticket state of auto closed tickets.',
|
||||
description: 'Defines the state of auto closed tickets.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -2383,7 +2383,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Nagios integration',
|
||||
name: 'nagios_integration',
|
||||
area: 'Integration::Switch',
|
||||
description: 'Define if Nagios (http://www.nagios.org) is enabled or not.',
|
||||
description: 'Defines if Nagios (http://www.nagios.org) is enabled or not.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -2409,7 +2409,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Sender',
|
||||
name: 'nagios_sender',
|
||||
area: 'Integration::Nagios',
|
||||
description: 'Define the sender email address of Nagios emails.',
|
||||
description: 'Defines the sender email address of Nagios emails.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -2432,7 +2432,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Auto close',
|
||||
name: 'nagios_auto_close',
|
||||
area: 'Integration::Nagios',
|
||||
description: 'Define if tickets should be closed if service is recovered.',
|
||||
description: 'Defines if tickets should be closed if service is recovered.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -2458,7 +2458,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Auto close state',
|
||||
name: 'nagios_auto_close_state_id',
|
||||
area: 'Integration::Nagios',
|
||||
description: 'Define the ticket state of auto closed tickets.',
|
||||
description: 'Defines the state of auto closed tickets.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -2478,37 +2478,37 @@ Setting.create_if_not_exists(
|
|||
frontend: false
|
||||
)
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Define sync transaction backend.',
|
||||
title: 'Defines sync transaction backend.',
|
||||
name: '0100_trigger',
|
||||
area: 'Transaction::Backend::Sync',
|
||||
description: 'Define the transaction backend to execute triggers.',
|
||||
description: 'Defines the transaction backend to execute triggers.',
|
||||
options: {},
|
||||
state: 'Transaction::Trigger',
|
||||
frontend: false
|
||||
)
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Define transaction backend.',
|
||||
title: 'Defines transaction backend.',
|
||||
name: '0100_notification',
|
||||
area: 'Transaction::Backend::Async',
|
||||
description: 'Define the transaction backend to send agent notifications.',
|
||||
description: 'Defines the transaction backend to send agent notifications.',
|
||||
options: {},
|
||||
state: 'Transaction::Notification',
|
||||
frontend: false
|
||||
)
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Define transaction backend.',
|
||||
title: 'Defines transaction backend.',
|
||||
name: '1000_signature_detection',
|
||||
area: 'Transaction::Backend::Async',
|
||||
description: 'Define the transaction backend to detect customers signature in email.',
|
||||
description: 'Defines the transaction backend to detect customer signatures in emails.',
|
||||
options: {},
|
||||
state: 'Transaction::SignatureDetection',
|
||||
frontend: false
|
||||
)
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Define transaction backend.',
|
||||
title: 'Defines transaction backend.',
|
||||
name: '6000_slack_webhook',
|
||||
area: 'Transaction::Backend::Async',
|
||||
description: 'Define the transaction backend which posts messages to (http://www.slack.com).',
|
||||
description: 'Defines the transaction backend which posts messages to Slack (http://www.slack.com).',
|
||||
options: {},
|
||||
state: 'Transaction::Slack',
|
||||
frontend: false
|
||||
|
@ -2517,7 +2517,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Slack integration',
|
||||
name: 'slack_integration',
|
||||
area: 'Integration::Switch',
|
||||
description: 'Define if Slack (http://www.slack.org) is enabled or not.',
|
||||
description: 'Defines if Slack (http://www.slack.org) is enabled or not.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -2543,7 +2543,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Slack config',
|
||||
name: 'slack_config',
|
||||
area: 'Integration::Slack',
|
||||
description: 'Define the slack config.',
|
||||
description: 'Defines the slack config.',
|
||||
options: {},
|
||||
state: {
|
||||
items: []
|
||||
|
@ -2558,7 +2558,7 @@ Setting.create_if_not_exists(
|
|||
title: 'sipgate.io integration',
|
||||
name: 'sipgate_integration',
|
||||
area: 'Integration::Switch',
|
||||
description: 'Define if sipgate.io (http://www.sipgate.io) is enabled or not.',
|
||||
description: 'Defines if sipgate.io (http://www.sipgate.io) is enabled or not.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -2586,7 +2586,7 @@ Setting.create_if_not_exists(
|
|||
title: 'sipgate.io config',
|
||||
name: 'sipgate_config',
|
||||
area: 'Integration::Sipgate',
|
||||
description: 'Define the sipgate.io config.',
|
||||
description: 'Defines the sipgate.io config.',
|
||||
options: {},
|
||||
state: {},
|
||||
preferences: {
|
||||
|
@ -2599,7 +2599,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Clearbit integration',
|
||||
name: 'clearbit_integration',
|
||||
area: 'Integration::Switch',
|
||||
description: 'Define if Clearbit (http://www.clearbit.com) is enabled or not.',
|
||||
description: 'Defines if Clearbit (http://www.clearbit.com) is enabled or not.',
|
||||
options: {
|
||||
form: [
|
||||
{
|
||||
|
@ -2625,7 +2625,7 @@ Setting.create_if_not_exists(
|
|||
title: 'Clearbit config',
|
||||
name: 'clearbit_config',
|
||||
area: 'Integration::Clearbit',
|
||||
description: 'Define the Clearbit config.',
|
||||
description: 'Defines the Clearbit config.',
|
||||
options: {},
|
||||
state: {},
|
||||
frontend: false,
|
||||
|
@ -2635,37 +2635,37 @@ Setting.create_if_not_exists(
|
|||
},
|
||||
)
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Define transaction backend.',
|
||||
title: 'Defines transaction backend.',
|
||||
name: '9000_clearbit_enrichment',
|
||||
area: 'Transaction::Backend::Async',
|
||||
description: 'Define the transaction backend which will enrich customer and organization informations from (http://www.clearbit.com).',
|
||||
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: 'Define transaction backend.',
|
||||
title: 'Defines transaction backend.',
|
||||
name: '9100_cti_caller_id_detection',
|
||||
area: 'Transaction::Backend::Async',
|
||||
description: 'Define 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 store them for CTI lookups.',
|
||||
options: {},
|
||||
state: 'Transaction::CtiCallerIdDetection',
|
||||
frontend: false
|
||||
)
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Define transaction backend.',
|
||||
title: 'Defines transaction backend.',
|
||||
name: '9200_karma',
|
||||
area: 'Transaction::Backend::Async',
|
||||
description: 'Define the transaction backend which creates the karma score.',
|
||||
description: 'Defines the transaction backend which creates the karma score.',
|
||||
options: {},
|
||||
state: 'Transaction::Karma',
|
||||
frontend: false
|
||||
)
|
||||
Setting.create_if_not_exists(
|
||||
title: 'Define karma levels.',
|
||||
title: 'Defines karma levels.',
|
||||
name: 'karma_levels',
|
||||
area: 'Core::Karma',
|
||||
description: 'Define the karma levels.',
|
||||
description: 'Defines the karma levels.',
|
||||
options: {},
|
||||
state: [
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue