Maintenance: Improved translatable source strings.
This commit is contained in:
parent
525476d539
commit
5aa7d7c5b2
26 changed files with 144 additions and 144 deletions
|
@ -20,9 +20,9 @@ class App.Calendar extends App.Model
|
||||||
"#{@name} - #{@timezone}"
|
"#{@name} - #{@timezone}"
|
||||||
|
|
||||||
@description = __('''
|
@description = __('''
|
||||||
A **calendar** is needed for calculation of escalation based on business hours and sending out escalation notifications..
|
A **calendar** is needed to calculate escalations based on business hours and to send out escalation notifications.
|
||||||
|
|
||||||
Define a **"standard"** calendar which is valid system-wide. Only in the defined business hours the escalation notifications will be sent to your agents.
|
Define a **"standard"** calendar which is valid system-wide. The escalation notifications will only be sent to your agents during the defined business hours.
|
||||||
|
|
||||||
Do you have customers with different business hours, you can create multiple calendars. Tickets are linked to calendars using **SLAs**.
|
If you have customers with different business hours, you can create multiple calendars. Tickets are linked to calendars using **SLAs**.
|
||||||
''')
|
''')
|
||||||
|
|
|
@ -13,11 +13,11 @@ class App.DataPrivacyTask extends App.Model
|
||||||
@configure_overview = []
|
@configure_overview = []
|
||||||
|
|
||||||
@description = __('''
|
@description = __('''
|
||||||
** Data Privacy **, helps you to delete and verify the removal of existing data of the system.
|
** Data Privacy ** helps you to delete and verify the removal of existing data from the system.
|
||||||
|
|
||||||
It can be used to delete tickets, organizations and users. The owner assignment will be unset in case the deleted user is an agent.
|
It can be used to delete tickets, organizations, and users. The owner assignment will be unset in case the deleted user is an agent.
|
||||||
|
|
||||||
Data Privacy tasks will be executed every 10 minutes. The execution might take some additional time depending of the number of objects that should get deleted.
|
Data Privacy tasks will be executed every 10 minutes. The execution might take some additional time depending on the number of objects that will be deleted.
|
||||||
''')
|
''')
|
||||||
|
|
||||||
activityMessage: (item) ->
|
activityMessage: (item) ->
|
||||||
|
@ -25,9 +25,9 @@ Data Privacy tasks will be executed every 10 minutes. The execution might take s
|
||||||
return if !item.created_by
|
return if !item.created_by
|
||||||
|
|
||||||
if item.type is 'create'
|
if item.type is 'create'
|
||||||
return App.i18n.translateContent('%s created data privacy task to delete user id |%s|', item.created_by.displayName(), item.objectNative.deletable_id)
|
return App.i18n.translateContent('%s created data privacy task to delete user ID |%s|', item.created_by.displayName(), item.objectNative.deletable_id)
|
||||||
else if item.type is 'update'
|
else if item.type is 'update'
|
||||||
return App.i18n.translateContent('%s updated data privacy task to delete user id |%s|', item.created_by.displayName(), item.objectNative.deletable_id)
|
return App.i18n.translateContent('%s updated data privacy task to delete user ID |%s|', item.created_by.displayName(), item.objectNative.deletable_id)
|
||||||
else if item.type is 'completed'
|
else if item.type is 'completed'
|
||||||
return App.i18n.translateContent('%s completed data privacy task to delete user id |%s|', item.created_by.displayName(), item.objectNative.deletable_id)
|
return App.i18n.translateContent('%s completed data privacy task to delete user ID |%s|', item.created_by.displayName(), item.objectNative.deletable_id)
|
||||||
return "Unknow action for (#{@objectDisplayName()}/#{item.type}), extend activityMessage() of model."
|
return "Unknow action for (#{@objectDisplayName()}/#{item.type}), extend activityMessage() of model."
|
||||||
|
|
|
@ -24,9 +24,9 @@ class App.Group extends App.Model
|
||||||
|
|
||||||
activityMessage: (item) ->
|
activityMessage: (item) ->
|
||||||
if item.type is 'create'
|
if item.type is 'create'
|
||||||
return App.i18n.translateContent('%s created Group |%s|', item.created_by.displayName(), item.title)
|
return App.i18n.translateContent('%s created group |%s|', item.created_by.displayName(), item.title)
|
||||||
else if item.type is 'update'
|
else if item.type is 'update'
|
||||||
return App.i18n.translateContent('%s updated Group |%s|', item.created_by.displayName(), item.title)
|
return App.i18n.translateContent('%s updated group |%s|', item.created_by.displayName(), item.title)
|
||||||
return "Unknow action for (#{@objectDisplayName()}/#{item.type}), extend activityMessage() of model."
|
return "Unknow action for (#{@objectDisplayName()}/#{item.type}), extend activityMessage() of model."
|
||||||
|
|
||||||
avatar: (size = 40, cssClass = []) ->
|
avatar: (size = 40, cssClass = []) ->
|
||||||
|
|
|
@ -79,7 +79,7 @@ Using **Organisations** you can **group** customers. This has among others two i
|
||||||
return if !item.created_by
|
return if !item.created_by
|
||||||
|
|
||||||
if item.type is 'create'
|
if item.type is 'create'
|
||||||
return App.i18n.translateContent('%s created Organization |%s|', item.created_by.displayName(), item.title)
|
return App.i18n.translateContent('%s created organization |%s|', item.created_by.displayName(), item.title)
|
||||||
else if item.type is 'update'
|
else if item.type is 'update'
|
||||||
return App.i18n.translateContent('%s updated Organization |%s|', item.created_by.displayName(), item.title)
|
return App.i18n.translateContent('%s updated organization |%s|', item.created_by.displayName(), item.title)
|
||||||
return "Unknow action for (#{@objectDisplayName()}/#{item.type}), extend activityMessage() of model."
|
return "Unknow action for (#{@objectDisplayName()}/#{item.type}), extend activityMessage() of model."
|
||||||
|
|
|
@ -23,9 +23,9 @@ class App.Role extends App.Model
|
||||||
return if !item.created_by
|
return if !item.created_by
|
||||||
|
|
||||||
if item.type is 'create'
|
if item.type is 'create'
|
||||||
return App.i18n.translateContent('%s created Role |%s|', item.created_by.displayName(), item.title)
|
return App.i18n.translateContent('%s created role |%s|', item.created_by.displayName(), item.title)
|
||||||
else if item.type is 'update'
|
else if item.type is 'update'
|
||||||
return App.i18n.translateContent('%s updated Role |%s|', item.created_by.displayName(), item.title)
|
return App.i18n.translateContent('%s updated role |%s|', item.created_by.displayName(), item.title)
|
||||||
return "Unknow action for (#{@objectDisplayName()}/#{item.type}), extend activityMessage() of model."
|
return "Unknow action for (#{@objectDisplayName()}/#{item.type}), extend activityMessage() of model."
|
||||||
|
|
||||||
@_fillUp: (data) ->
|
@_fillUp: (data) ->
|
||||||
|
|
|
@ -22,9 +22,9 @@ class App.Sla extends App.Model
|
||||||
]
|
]
|
||||||
|
|
||||||
@description = __('''
|
@description = __('''
|
||||||
** Service Level Agreements **, abbreviated ** SLAs **, help you to meet certain customers' time-related responses. Thus, for example, you can say customers should always get a response from you after 8 hours at the latest. In the event of an imminent violation or a breach, Zammad will alert you to such events.
|
** Service Level Agreements **, abbreviated ** SLAs **, help you to meet specific response times for your customers' requests. This way you can define goals such as answering every inquiry within eight hours. If you are at risk of missing this target, Zammad will alert you.
|
||||||
|
|
||||||
It can be ** response time ** (time between the creation of a ticket and the first reaction of an agent), ** update time ** (time between a customer's request and an agent's reaction) and ** solution time ** (time between creation and closing a ticket ) To be defined.
|
You can define targets for three different metrics: ** response time ** (time between the creation of a ticket and the first reaction of an agent), ** update time ** (time between a customer's request and an agent's reaction), and ** solution time ** (time between creating and closing a ticket).
|
||||||
|
|
||||||
Any violations are displayed in a separate view in the overviews. You can also configure ** e-mail notifications **.
|
Any escalated tickets (i.e. tickets that have missed the defined target) are displayed in a separate view in your overviews. You can also configure ** email notifications **.
|
||||||
''')
|
''')
|
||||||
|
|
|
@ -105,11 +105,11 @@ class App.Ticket extends App.Model
|
||||||
|
|
||||||
switch item.type
|
switch item.type
|
||||||
when 'create'
|
when 'create'
|
||||||
App.i18n.translateContent('%s created Ticket |%s|', item.created_by.displayName(), item.title)
|
App.i18n.translateContent('%s created ticket |%s|', item.created_by.displayName(), item.title)
|
||||||
when 'update'
|
when 'update'
|
||||||
App.i18n.translateContent('%s updated Ticket |%s|', item.created_by.displayName(), item.title)
|
App.i18n.translateContent('%s updated ticket |%s|', item.created_by.displayName(), item.title)
|
||||||
when 'reminder_reached'
|
when 'reminder_reached'
|
||||||
App.i18n.translateContent('Pending reminder reached for Ticket |%s|', item.title)
|
App.i18n.translateContent('Pending reminder reached for ticket |%s|', item.title)
|
||||||
when 'escalation'
|
when 'escalation'
|
||||||
App.i18n.translateContent('Ticket |%s| is escalated!', item.title)
|
App.i18n.translateContent('Ticket |%s| is escalated!', item.title)
|
||||||
when 'escalation_warning'
|
when 'escalation_warning'
|
||||||
|
|
|
@ -46,9 +46,9 @@ class App.TicketArticle extends App.Model
|
||||||
return if !item.created_by
|
return if !item.created_by
|
||||||
|
|
||||||
if item.type is 'create'
|
if item.type is 'create'
|
||||||
return App.i18n.translateContent('%s created Article for |%s|', item.created_by.displayName(), item.title)
|
return App.i18n.translateContent('%s created article for |%s|', item.created_by.displayName(), item.title)
|
||||||
else if item.type is 'update'
|
else if item.type is 'update'
|
||||||
return App.i18n.translateContent('%s updated Article for |%s|', item.created_by.displayName(), item.title)
|
return App.i18n.translateContent('%s updated article for |%s|', item.created_by.displayName(), item.title)
|
||||||
return "Unknow action for (#{@objectDisplayName()}/#{item.type}), extend activityMessage() of model."
|
return "Unknow action for (#{@objectDisplayName()}/#{item.type}), extend activityMessage() of model."
|
||||||
|
|
||||||
@contentAttachments: (article) ->
|
@contentAttachments: (article) ->
|
||||||
|
|
|
@ -177,9 +177,9 @@ class App.User extends App.Model
|
||||||
return if !item.created_by
|
return if !item.created_by
|
||||||
|
|
||||||
if item.type is 'create'
|
if item.type is 'create'
|
||||||
return App.i18n.translateContent('%s created User |%s|', item.created_by.displayName(), item.title)
|
return App.i18n.translateContent('%s created user |%s|', item.created_by.displayName(), item.title)
|
||||||
else if item.type is 'update'
|
else if item.type is 'update'
|
||||||
return App.i18n.translateContent('%s updated User |%s|', item.created_by.displayName(), item.title)
|
return App.i18n.translateContent('%s updated user |%s|', item.created_by.displayName(), item.title)
|
||||||
else if item.type is 'session started'
|
else if item.type is 'session started'
|
||||||
return App.i18n.translateContent('%s started a new session', item.created_by.displayName())
|
return App.i18n.translateContent('%s started a new session', item.created_by.displayName())
|
||||||
else if item.type is 'switch to'
|
else if item.type is 'switch to'
|
||||||
|
|
|
@ -50,9 +50,9 @@
|
||||||
<% date_migration = new Date("#{date_migration_string}T00:00:00") %>
|
<% date_migration = new Date("#{date_migration_string}T00:00:00") %>
|
||||||
<% date_now = new Date() %>
|
<% date_now = new Date() %>
|
||||||
<% if date_now > date_migration: %>
|
<% if date_now > date_migration: %>
|
||||||
<%- @T('%s will only allow access via OAuth. Password-based access is no longer supported since %s.', 'G Suite', date_migration_string_local) %> <div class="flex-spacer"></div><div class="double-spacer"></div><button class="btn js-migrateGoogleMail" type="button"><%- @T('Migrate now!') %></button>
|
<%- @T('%s will only allow access via OAuth. Password-based access has not been supported since %s.', 'G Suite', date_migration_string_local) %> <div class="flex-spacer"></div><div class="double-spacer"></div><button class="btn js-migrateGoogleMail" type="button"><%- @T('Migrate now!') %></button>
|
||||||
<% else: %>
|
<% else: %>
|
||||||
<%- @T('%s will only allow access via OAuth. Password-based access will no longer be supported on %s.', 'G Suite', date_migration_string_local) %> <div class="flex-spacer"></div><div class="double-spacer"></div><button class="btn js-migrateGoogleMail" type="button"><%- @T('Migrate now!') %></button>
|
<%- @T('%s will only allow access via OAuth. Password-based access is no longer supported on %s.', 'G Suite', date_migration_string_local) %> <div class="flex-spacer"></div><div class="double-spacer"></div><button class="btn js-migrateGoogleMail" type="button"><%- @T('Migrate now!') %></button>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
@ -63,9 +63,9 @@
|
||||||
<% date_migration = new Date("#{date_migration_string}T00:00:00") %>
|
<% date_migration = new Date("#{date_migration_string}T00:00:00") %>
|
||||||
<% date_now = new Date() %>
|
<% date_now = new Date() %>
|
||||||
<% if date_now > date_migration: %>
|
<% if date_now > date_migration: %>
|
||||||
<%- @T('%s will only allow access via OAuth. Password-based access is no longer supported since %s.', 'Microsoft 365', date_migration_string_local) %> <div class="flex-spacer"></div><div class="double-spacer"></div><button class="btn js-migrateMicrosoft365Mail" type="button"><%- @T('Migrate now!') %></button>
|
<%- @T('%s will only allow access via OAuth. Password-based access has not been supported since %s.', 'Microsoft 365', date_migration_string_local) %> <div class="flex-spacer"></div><div class="double-spacer"></div><button class="btn js-migrateMicrosoft365Mail" type="button"><%- @T('Migrate now!') %></button>
|
||||||
<% else: %>
|
<% else: %>
|
||||||
<%- @T('%s will only allow access via OAuth. Password-based access will no longer be supported on %s.', 'Microsoft 365', date_migration_string_local) %> <div class="flex-spacer"></div><div class="double-spacer"></div><button class="btn js-migrateMicrosoft365Mail" type="button"><%- @T('Migrate now!') %></button>
|
<%- @T('%s will only allow access via OAuth. Password-based access is no longer supported on %s.', 'Microsoft 365', date_migration_string_local) %> <div class="flex-spacer"></div><div class="double-spacer"></div><button class="btn js-migrateMicrosoft365Mail" type="button"><%- @T('Migrate now!') %></button>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
@ -110,7 +110,7 @@
|
||||||
<% groupName = channel.group %>
|
<% groupName = channel.group %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% if channel.group.active is false: %>
|
<% if channel.group.active is false: %>
|
||||||
<%- @T('%s is inactive, please select a active one.', groupName) %>
|
<%- @T('%s is inactive, please select an active one.', groupName) %>
|
||||||
<% else: %>
|
<% else: %>
|
||||||
<%= groupName %>
|
<%= groupName %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
|
@ -59,7 +59,7 @@
|
||||||
<% groupName = channel.group %>
|
<% groupName = channel.group %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% if channel.group.active is false: %>
|
<% if channel.group.active is false: %>
|
||||||
<%- @T('%s is inactive, please select a active one.', groupName) %>
|
<%- @T('%s is inactive, please select an active one.', groupName) %>
|
||||||
<% else: %>
|
<% else: %>
|
||||||
<%= groupName %>
|
<%= groupName %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<div class="stat-widget vertical">
|
<div class="stat-widget vertical">
|
||||||
<div class="stat-title">
|
<div class="stat-title">
|
||||||
<%- @T('Your tickets in process') %>
|
<%- @T('My tickets in process') %>
|
||||||
<div class="stat-icon-help js-stat-help" title="<%- @Ti(@StatsTicketInProcess.description) %>" data-placement="bottom">
|
<div class="stat-icon-help js-stat-help" title="<%- @Ti(@StatsTicketInProcess.description) %>" data-placement="bottom">
|
||||||
<%- @Icon('help') %>
|
<%- @Icon('help') %>
|
||||||
</div>
|
</div>
|
||||||
|
@ -8,6 +8,6 @@
|
||||||
<div class="stat-graphic">
|
<div class="stat-graphic">
|
||||||
<%- @Icon('in-process', "in-process-icon #{@StatsTicketInProcess.state}-color") %>
|
<%- @Icon('in-process', "in-process-icon #{@StatsTicketInProcess.state}-color") %>
|
||||||
</div>
|
</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 my 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 class="stat-detail"><%- @T('Average: %s%', @StatsTicketInProcess.average_per_agent) %></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -7,13 +7,13 @@
|
||||||
<%- @T('The following changes are made:') %>
|
<%- @T('The following changes are made:') %>
|
||||||
<ul>
|
<ul>
|
||||||
<% if @result.stats.deleted isnt undefined: %>
|
<% if @result.stats.deleted isnt undefined: %>
|
||||||
<li><%- @T('%s Object(s) are deleted.', @result.stats.deleted) %></li>
|
<li><%- @T('%s object(s) are deleted.', @result.stats.deleted) %></li>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% if @result.stats.created isnt undefined: %>
|
<% if @result.stats.created isnt undefined: %>
|
||||||
<li><%- @T('%s Object(s) are created.', @result.stats.created) %></li>
|
<li><%- @T('%s object(s) are created.', @result.stats.created) %></li>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% if @result.stats.updated isnt undefined: %>
|
<% if @result.stats.updated isnt undefined: %>
|
||||||
<li><%- @T('%s Object(s) are updated.', @result.stats.updated) %></li>
|
<li><%- @T('%s object(s) are updated.', @result.stats.updated) %></li>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</p>
|
</p>
|
||||||
|
|
|
@ -15,13 +15,13 @@
|
||||||
<%- @T('The following changes have been made:') %>
|
<%- @T('The following changes have been made:') %>
|
||||||
<ul>
|
<ul>
|
||||||
<% if @result.stats.deleted isnt undefined: %>
|
<% if @result.stats.deleted isnt undefined: %>
|
||||||
<li><%- @T('%s Object(s) were deleted.', @result.stats.deleted) %></li>
|
<li><%- @T('%s object(s) were deleted.', @result.stats.deleted) %></li>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% if @result.stats.created isnt undefined: %>
|
<% if @result.stats.created isnt undefined: %>
|
||||||
<li><%- @T('%s Object(s) have been created.', @result.stats.created) %></li>
|
<li><%- @T('%s object(s) have been created.', @result.stats.created) %></li>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% if @result.stats.updated isnt undefined: %>
|
<% if @result.stats.updated isnt undefined: %>
|
||||||
<li><%- @T('%s Object(s) have been updated.', @result.stats.updated) %></li>
|
<li><%- @T('%s object(s) have been updated.', @result.stats.updated) %></li>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</p>
|
</p>
|
||||||
|
|
|
@ -59,7 +59,7 @@
|
||||||
<% groupName = channel.group %>
|
<% groupName = channel.group %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% if channel.group.active is false: %>
|
<% if channel.group.active is false: %>
|
||||||
<%- @T('%s is inactive, please select a active one.', groupName) %>
|
<%- @T('%s is inactive, please select an active one.', groupName) %>
|
||||||
<% else: %>
|
<% else: %>
|
||||||
<%= groupName %>
|
<%= groupName %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<%- @T('Enter the Subdomain of your %s system', 'Freshdesk') %>:
|
<%- @T('Enter the Subdomain of your %s system', 'Freshdesk') %>:
|
||||||
</p>
|
</p>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="freshdesk-subdomain"><%- @T('%s Subdomain', 'Freshdesk') %></label>
|
<label for="freshdesk-subdomain"><%- @T('%s subdomain', 'Freshdesk') %></label>
|
||||||
<div class="u-positionOrigin">
|
<div class="u-positionOrigin">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input type="text" id="freshdesk-subdomain" class="form-control" placeholder="example" name="freshdesk-subdomain" aria-describedby="freshdesk-subdomain-addon">
|
<input type="text" id="freshdesk-subdomain" class="form-control" placeholder="example" name="freshdesk-subdomain" aria-describedby="freshdesk-subdomain-addon">
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<%- @T('Enter the Subdomain of your %s system', 'Kayako') %>:
|
<%- @T('Enter the Subdomain of your %s system', 'Kayako') %>:
|
||||||
</p>
|
</p>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="kayako-subdomain"><%- @T('%s Subdomain', 'Kayako') %></label>
|
<label for="kayako-subdomain"><%- @T('%s subdomain', 'Kayako') %></label>
|
||||||
<div class="u-positionOrigin">
|
<div class="u-positionOrigin">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input type="text" id="kayako-subdomain" class="form-control" placeholder="example" name="kayako-subdomain" aria-describedby="kayako-subdomain-addon">
|
<input type="text" id="kayako-subdomain" class="form-control" placeholder="example" name="kayako-subdomain" aria-describedby="kayako-subdomain-addon">
|
||||||
|
|
|
@ -59,7 +59,7 @@
|
||||||
<% groupName = channel.group %>
|
<% groupName = channel.group %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% if channel.group.active is false: %>
|
<% if channel.group.active is false: %>
|
||||||
<%- @T('%s is inactive, please select a active one.', groupName) %>
|
<%- @T('%s is inactive, please select an active one.', groupName) %>
|
||||||
<% else: %>
|
<% else: %>
|
||||||
<%= groupName %>
|
<%= groupName %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<h2><%- @T('Enter your %s App Keys', 'Telegram') %></h2>
|
<h2><%- @T('Enter your %s App Keys', 'Telegram') %></h2>
|
||||||
<div class="input form-group">
|
<div class="input form-group">
|
||||||
<div class="formGroup-label">
|
<div class="formGroup-label">
|
||||||
<label for="api_token"><%- @T('%s Api Token', 'Telegram') %> <span>*</span></label>
|
<label for="api_token"><%- @T('%s API Token', 'Telegram') %> <span>*</span></label>
|
||||||
</div>
|
</div>
|
||||||
<div class="controls">
|
<div class="controls">
|
||||||
<input id="api_token" type="text" name="api_token" value="" class="form-control" required autocomplete="off">
|
<input id="api_token" type="text" name="api_token" value="" class="form-control" required autocomplete="off">
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<h2><%- @T('Enter your %s App Keys', 'Telegram') %></h2>
|
<h2><%- @T('Enter your %s App Keys', 'Telegram') %></h2>
|
||||||
<div class="input form-group">
|
<div class="input form-group">
|
||||||
<div class="formGroup-label">
|
<div class="formGroup-label">
|
||||||
<label for="api_token"><%- @T('%s Api Token', 'Telegram') %> <span>*</span></label>
|
<label for="api_token"><%- @T('%s API Token', 'Telegram') %> <span>*</span></label>
|
||||||
</div>
|
</div>
|
||||||
<div class="controls">
|
<div class="controls">
|
||||||
<input id="api_token" type="text" name="api_token" value="<%= @channel.options.api_token %>" class="form-control" required autocomplete="off">
|
<input id="api_token" type="text" name="api_token" value="<%= @channel.options.api_token %>" class="form-control" required autocomplete="off">
|
||||||
|
|
|
@ -13,7 +13,7 @@ module CreatesTicketArticles
|
||||||
subtype = params.delete(:subtype)
|
subtype = params.delete(:subtype)
|
||||||
|
|
||||||
# check min. params
|
# check min. params
|
||||||
raise Exceptions::UnprocessableEntity, __('Need at least article: { body: "some text" }') if params[:body].blank?
|
raise Exceptions::UnprocessableEntity, __('Need at least an article body field.') if params[:body].blank?
|
||||||
|
|
||||||
# fill default values
|
# fill default values
|
||||||
if params[:type_id].blank? && params[:type].blank?
|
if params[:type_id].blank? && params[:type].blank?
|
||||||
|
|
182
i18n/zammad.pot
182
i18n/zammad.pot
|
@ -44,7 +44,7 @@ msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/telegram/bot_add.jst.eco
|
#: app/assets/javascripts/app/views/telegram/bot_add.jst.eco
|
||||||
#: app/assets/javascripts/app/views/telegram/bot_edit.jst.eco
|
#: app/assets/javascripts/app/views/telegram/bot_edit.jst.eco
|
||||||
msgid "%s Api Token"
|
msgid "%s API Token"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/integration/exchange_wizard.jst.eco
|
#: app/assets/javascripts/app/views/integration/exchange_wizard.jst.eco
|
||||||
|
@ -63,39 +63,10 @@ msgstr ""
|
||||||
msgid "%s Migration"
|
msgid "%s Migration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/generic/object_import/import_try.jst.eco
|
|
||||||
msgid "%s Object(s) are created."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/generic/object_import/import_try.jst.eco
|
|
||||||
msgid "%s Object(s) are deleted."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/generic/object_import/import_try.jst.eco
|
|
||||||
msgid "%s Object(s) are updated."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/generic/object_import/imported.jst.eco
|
|
||||||
msgid "%s Object(s) have been created."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/generic/object_import/imported.jst.eco
|
|
||||||
msgid "%s Object(s) have been updated."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/generic/object_import/imported.jst.eco
|
|
||||||
msgid "%s Object(s) were deleted."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/integration/ldap_wizard.jst.eco
|
#: app/assets/javascripts/app/views/integration/ldap_wizard.jst.eco
|
||||||
msgid "%s Role"
|
msgid "%s Role"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/import/freshdesk.jst.eco
|
|
||||||
#: app/assets/javascripts/app/views/import/kayako.jst.eco
|
|
||||||
msgid "%s Subdomain"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/import/freshdesk.jst.eco
|
#: app/assets/javascripts/app/views/import/freshdesk.jst.eco
|
||||||
#: app/assets/javascripts/app/views/import/kayako.jst.eco
|
#: app/assets/javascripts/app/views/import/kayako.jst.eco
|
||||||
#: app/assets/javascripts/app/views/import/zendesk.jst.eco
|
#: app/assets/javascripts/app/views/import/zendesk.jst.eco
|
||||||
|
@ -107,35 +78,35 @@ msgid "%s ago"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/data_privacy_task.coffee
|
#: app/assets/javascripts/app/models/data_privacy_task.coffee
|
||||||
msgid "%s completed data privacy task to delete user id |%s|"
|
msgid "%s completed data privacy task to delete user ID |%s|"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/ticket_article.coffee
|
#: app/assets/javascripts/app/models/ticket_article.coffee
|
||||||
msgid "%s created Article for |%s|"
|
msgid "%s created article for |%s|"
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/group.coffee
|
|
||||||
msgid "%s created Group |%s|"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/organization.coffee
|
|
||||||
msgid "%s created Organization |%s|"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/role.coffee
|
|
||||||
msgid "%s created Role |%s|"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/ticket.coffee
|
|
||||||
msgid "%s created Ticket |%s|"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/user.coffee
|
|
||||||
msgid "%s created User |%s|"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/data_privacy_task.coffee
|
#: app/assets/javascripts/app/models/data_privacy_task.coffee
|
||||||
msgid "%s created data privacy task to delete user id |%s|"
|
msgid "%s created data privacy task to delete user ID |%s|"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/models/group.coffee
|
||||||
|
msgid "%s created group |%s|"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/models/organization.coffee
|
||||||
|
msgid "%s created organization |%s|"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/models/role.coffee
|
||||||
|
msgid "%s created role |%s|"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/models/ticket.coffee
|
||||||
|
msgid "%s created ticket |%s|"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/models/user.coffee
|
||||||
|
msgid "%s created user |%s|"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/import/freshdesk.jst.eco
|
#: app/assets/javascripts/app/views/import/freshdesk.jst.eco
|
||||||
|
@ -162,17 +133,41 @@ msgstr ""
|
||||||
#: app/assets/javascripts/app/views/channel/sms_account_overview.jst.eco
|
#: app/assets/javascripts/app/views/channel/sms_account_overview.jst.eco
|
||||||
#: app/assets/javascripts/app/views/google/list.jst.eco
|
#: app/assets/javascripts/app/views/google/list.jst.eco
|
||||||
#: app/assets/javascripts/app/views/microsoft365/list.jst.eco
|
#: app/assets/javascripts/app/views/microsoft365/list.jst.eco
|
||||||
msgid "%s is inactive, please select a active one."
|
msgid "%s is inactive, please select an active one."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/views/generic/object_import/import_try.jst.eco
|
||||||
|
msgid "%s object(s) are created."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/views/generic/object_import/import_try.jst.eco
|
||||||
|
msgid "%s object(s) are deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/views/generic/object_import/import_try.jst.eco
|
||||||
|
msgid "%s object(s) are updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/views/generic/object_import/imported.jst.eco
|
||||||
|
msgid "%s object(s) have been created."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/views/generic/object_import/imported.jst.eco
|
||||||
|
msgid "%s object(s) have been updated."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/views/generic/object_import/imported.jst.eco
|
||||||
|
msgid "%s object(s) were deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/views/dashboard/stats/ticket_in_process.jst.eco
|
||||||
|
msgid "%s of my tickets are currently in process."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/dashboard/stats/ticket_escalation.jst.eco
|
#: app/assets/javascripts/app/views/dashboard/stats/ticket_escalation.jst.eco
|
||||||
msgid "%s of my tickets escalated."
|
msgid "%s of my tickets escalated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/dashboard/stats/ticket_in_process.jst.eco
|
|
||||||
msgid "%s of your tickets are currently in process."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/ticket_overview/batch_overlay_user_group.jst.eco
|
#: app/assets/javascripts/app/views/ticket_overview/batch_overlay_user_group.jst.eco
|
||||||
msgid "%s people"
|
msgid "%s people"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -185,36 +180,41 @@ msgstr ""
|
||||||
msgid "%s started a new session"
|
msgid "%s started a new session"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/views/import/freshdesk.jst.eco
|
||||||
|
#: app/assets/javascripts/app/views/import/kayako.jst.eco
|
||||||
|
msgid "%s subdomain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/user.coffee
|
#: app/assets/javascripts/app/models/user.coffee
|
||||||
msgid "%s switched to |%s|!"
|
msgid "%s switched to |%s|!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/ticket_article.coffee
|
#: app/assets/javascripts/app/models/ticket_article.coffee
|
||||||
msgid "%s updated Article for |%s|"
|
msgid "%s updated article for |%s|"
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/group.coffee
|
|
||||||
msgid "%s updated Group |%s|"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/organization.coffee
|
|
||||||
msgid "%s updated Organization |%s|"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/role.coffee
|
|
||||||
msgid "%s updated Role |%s|"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/ticket.coffee
|
|
||||||
msgid "%s updated Ticket |%s|"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/user.coffee
|
|
||||||
msgid "%s updated User |%s|"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/data_privacy_task.coffee
|
#: app/assets/javascripts/app/models/data_privacy_task.coffee
|
||||||
msgid "%s updated data privacy task to delete user id |%s|"
|
msgid "%s updated data privacy task to delete user ID |%s|"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/models/group.coffee
|
||||||
|
msgid "%s updated group |%s|"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/models/organization.coffee
|
||||||
|
msgid "%s updated organization |%s|"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/models/role.coffee
|
||||||
|
msgid "%s updated role |%s|"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/models/ticket.coffee
|
||||||
|
msgid "%s updated ticket |%s|"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/models/user.coffee
|
||||||
|
msgid "%s updated user |%s|"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/integration/exchange_last_import.jst.eco
|
#: app/assets/javascripts/app/views/integration/exchange_last_import.jst.eco
|
||||||
|
@ -225,11 +225,11 @@ msgid "%s user to %s user"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/channel/email_account_overview.jst.eco
|
#: app/assets/javascripts/app/views/channel/email_account_overview.jst.eco
|
||||||
msgid "%s will only allow access via OAuth. Password-based access is no longer supported since %s."
|
msgid "%s will only allow access via OAuth. Password-based access has not been supported since %s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/channel/email_account_overview.jst.eco
|
#: app/assets/javascripts/app/views/channel/email_account_overview.jst.eco
|
||||||
msgid "%s will only allow access via OAuth. Password-based access will no longer be supported on %s."
|
msgid "%s will only allow access via OAuth. Password-based access is no longer supported on %s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/dashboard/stats/ticket_in_process.jst.eco
|
#: app/assets/javascripts/app/views/dashboard/stats/ticket_in_process.jst.eco
|
||||||
|
@ -241,11 +241,11 @@ msgid "%s% have been reopened"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/data_privacy_task.coffee
|
#: app/assets/javascripts/app/models/data_privacy_task.coffee
|
||||||
msgid "** Data Privacy **, helps you to delete and verify the removal of existing data of the system.\n\nIt can be used to delete tickets, organizations and users. The owner assignment will be unset in case the deleted user is an agent.\n\nData Privacy tasks will be executed every 10 minutes. The execution might take some additional time depending of the number of objects that should get deleted."
|
msgid "** Data Privacy ** helps you to delete and verify the removal of existing data from the system.\n\nIt can be used to delete tickets, organizations, and users. The owner assignment will be unset in case the deleted user is an agent.\n\nData Privacy tasks will be executed every 10 minutes. The execution might take some additional time depending on the number of objects that will be deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/sla.coffee
|
#: app/assets/javascripts/app/models/sla.coffee
|
||||||
msgid "** Service Level Agreements **, abbreviated ** SLAs **, help you to meet certain customers' time-related responses. Thus, for example, you can say customers should always get a response from you after 8 hours at the latest. In the event of an imminent violation or a breach, Zammad will alert you to such events.\n\nIt can be ** response time ** (time between the creation of a ticket and the first reaction of an agent), ** update time ** (time between a customer's request and an agent's reaction) and ** solution time ** (time between creation and closing a ticket ) To be defined.\n\nAny violations are displayed in a separate view in the overviews. You can also configure ** e-mail notifications **."
|
msgid "** Service Level Agreements **, abbreviated ** SLAs **, help you to meet specific response times for your customers' requests. This way you can define goals such as answering every inquiry within eight hours. If you are at risk of missing this target, Zammad will alert you.\n\nYou can define targets for three different metrics: ** response time ** (time between the creation of a ticket and the first reaction of an agent), ** update time ** (time between a customer's request and an agent's reaction), and ** solution time ** (time between creating and closing a ticket).\n\nAny escalated tickets (i.e. tickets that have missed the defined target) are displayed in a separate view in your overviews. You can also configure ** email notifications **."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/controllers/_plugin/keyboard_shortcuts.coffee
|
#: app/assets/javascripts/app/controllers/_plugin/keyboard_shortcuts.coffee
|
||||||
|
@ -305,7 +305,7 @@ msgid "4 weeks"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/calendar.coffee
|
#: app/assets/javascripts/app/models/calendar.coffee
|
||||||
msgid "A **calendar** is needed for calculation of escalation based on business hours and sending out escalation notifications..\n\nDefine a **\"standard\"** calendar which is valid system-wide. Only in the defined business hours the escalation notifications will be sent to your agents.\n\nDo you have customers with different business hours, you can create multiple calendars. Tickets are linked to calendars using **SLAs**."
|
msgid "A **calendar** is needed to calculate escalations based on business hours and to send out escalation notifications.\n\nDefine a **\"standard\"** calendar which is valid system-wide. The escalation notifications will only be sent to your agents during the defined business hours.\n\nIf you have customers with different business hours, you can create multiple calendars. Tickets are linked to calendars using **SLAs**."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: db/seeds/settings.rb
|
#: db/seeds/settings.rb
|
||||||
|
@ -5949,6 +5949,10 @@ msgstr ""
|
||||||
msgid "My subscribed Tickets"
|
msgid "My subscribed Tickets"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/views/dashboard/stats/ticket_in_process.jst.eco
|
||||||
|
msgid "My tickets in process"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/controllers/_integration/nagios.coffee
|
#: app/assets/javascripts/app/controllers/_integration/nagios.coffee
|
||||||
msgid "Nagios"
|
msgid "Nagios"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -6022,7 +6026,7 @@ msgid "Navigation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/controllers/concerns/creates_ticket_articles.rb
|
#: app/controllers/concerns/creates_ticket_articles.rb
|
||||||
msgid "Need at least article: { body: \"some text\" }"
|
msgid "Need at least an article body field."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/controllers/application_controller/handles_devices.rb
|
#: app/controllers/application_controller/handles_devices.rb
|
||||||
|
@ -7064,7 +7068,7 @@ msgid "Pending reached"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/ticket.coffee
|
#: app/assets/javascripts/app/models/ticket.coffee
|
||||||
msgid "Pending reminder reached for Ticket |%s|"
|
msgid "Pending reminder reached for ticket |%s|"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/ticket.coffee
|
#: app/assets/javascripts/app/models/ticket.coffee
|
||||||
|
@ -10697,10 +10701,6 @@ msgstr ""
|
||||||
msgid "Your role cannot create new ticket. Please contact your administrator."
|
msgid "Your role cannot create new ticket. Please contact your administrator."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/dashboard/stats/ticket_in_process.jst.eco
|
|
||||||
msgid "Your tickets in process"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/controllers/_ui_element/richtext_additions/embed_video_button.coffee
|
#: app/assets/javascripts/app/controllers/_ui_element/richtext_additions/embed_video_button.coffee
|
||||||
msgid "Youtube or Vimeo address"
|
msgid "Youtube or Vimeo address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
|
@ -104,7 +104,7 @@ RSpec.describe 'Ticket', type: :request do
|
||||||
expect { post '/api/v1/tickets', params: params, as: :json }.not_to change(Ticket, :count)
|
expect { post '/api/v1/tickets', params: params, as: :json }.not_to change(Ticket, :count)
|
||||||
expect(response).to have_http_status(:unprocessable_entity)
|
expect(response).to have_http_status(:unprocessable_entity)
|
||||||
expect(json_response).to be_a_kind_of(Hash)
|
expect(json_response).to be_a_kind_of(Hash)
|
||||||
expect(json_response['error']).to eq('Need at least article: { body: "some text" }')
|
expect(json_response['error']).to eq('Need at least an article body field.')
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'does ticket create with agent - article.body set to empty string (01.03)' do
|
it 'does ticket create with agent - article.body set to empty string (01.03)' do
|
||||||
|
@ -120,7 +120,7 @@ RSpec.describe 'Ticket', type: :request do
|
||||||
expect { post '/api/v1/tickets', params: params, as: :json }.not_to change(Ticket, :count)
|
expect { post '/api/v1/tickets', params: params, as: :json }.not_to change(Ticket, :count)
|
||||||
expect(response).to have_http_status(:unprocessable_entity)
|
expect(response).to have_http_status(:unprocessable_entity)
|
||||||
expect(json_response).to be_a_kind_of(Hash)
|
expect(json_response).to be_a_kind_of(Hash)
|
||||||
expect(json_response['error']).to eq('Need at least article: { body: "some text" }')
|
expect(json_response['error']).to eq('Need at least an article body field.')
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'does ticket create with agent - missing article (01.03)' do
|
it 'does ticket create with agent - missing article (01.03)' do
|
||||||
|
@ -483,7 +483,7 @@ RSpec.describe 'Ticket', type: :request do
|
||||||
post '/api/v1/tickets', params: params, as: :json
|
post '/api/v1/tickets', params: params, as: :json
|
||||||
expect(response).to have_http_status(:unprocessable_entity)
|
expect(response).to have_http_status(:unprocessable_entity)
|
||||||
expect(json_response).to be_a_kind_of(Hash)
|
expect(json_response).to be_a_kind_of(Hash)
|
||||||
expect(json_response['error']).to eq('Need at least article: { body: "some text" }')
|
expect(json_response['error']).to eq('Need at least an article body field.')
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'does ticket create with agent - minimal article and attachment with customer (01.13)' do
|
it 'does ticket create with agent - minimal article and attachment with customer (01.13)' do
|
||||||
|
|
|
@ -12,7 +12,7 @@ RSpec.describe 'Dashboard', type: :system do
|
||||||
expect(page).to have_css('.ticket_escalation > div > div.stat-title', text: %r{Mood}i)
|
expect(page).to have_css('.ticket_escalation > div > div.stat-title', text: %r{Mood}i)
|
||||||
expect(page).to have_css('.ticket_channel_distribution > div > div.stat-title', text: %r{Channel Distribution}i)
|
expect(page).to have_css('.ticket_channel_distribution > div > div.stat-title', text: %r{Channel Distribution}i)
|
||||||
expect(page).to have_css('.ticket_load_measure > div > div.stat-title', text: %r{Assigned}i)
|
expect(page).to have_css('.ticket_load_measure > div > div.stat-title', text: %r{Assigned}i)
|
||||||
expect(page).to have_css('.ticket_in_process > div > div.stat-title', text: %r{Your tickets in process}i)
|
expect(page).to have_css('.ticket_in_process > div > div.stat-title', text: %r{My tickets in process}i)
|
||||||
expect(page).to have_css('.ticket_reopen > div > div.stat-title', text: %r{Reopening rate}i)
|
expect(page).to have_css('.ticket_reopen > div > div.stat-title', text: %r{Reopening rate}i)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -112,7 +112,7 @@ class FirstStepsTest < TestCase
|
||||||
)
|
)
|
||||||
watch_for(
|
watch_for(
|
||||||
css: '.active.content .js-activityContent',
|
css: '.active.content .js-activityContent',
|
||||||
value: 'Nicole Braun created Article for Test Ticket!',
|
value: 'Nicole Braun created article for Test Ticket!',
|
||||||
timeout: 35,
|
timeout: 35,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue