Maintenance: Update translatable source strings.
This commit is contained in:
parent
1eed05d61d
commit
4186b0faaf
34 changed files with 127 additions and 136 deletions
|
@ -375,7 +375,7 @@ class EmailReply extends App.Controller
|
||||||
buttonCancel: __('Cancel')
|
buttonCancel: __('Cancel')
|
||||||
buttonCancelClass: 'btn--danger'
|
buttonCancelClass: 'btn--danger'
|
||||||
buttonSubmit: false
|
buttonSubmit: false
|
||||||
message: __('Need recipient in "To" or "Cc".')
|
message: __('Need recipient in "TO" or "CC".')
|
||||||
shown: true
|
shown: true
|
||||||
small: true
|
small: true
|
||||||
container: ui.el.closest('.content')
|
container: ui.el.closest('.content')
|
||||||
|
|
|
@ -7,7 +7,7 @@ class App.Overview extends App.Model
|
||||||
{ name: 'link', display: __('Link'), readonly: 1 },
|
{ name: 'link', display: __('Link'), readonly: 1 },
|
||||||
{ name: 'role_ids', display: __('Available for the following roles'), tag: 'column_select', multiple: true, null: false, relation: 'Role', translate: true },
|
{ name: 'role_ids', display: __('Available for the following roles'), tag: 'column_select', multiple: true, null: false, relation: 'Role', translate: true },
|
||||||
{ name: 'user_ids', display: __('Restrict to only the following users'), tag: 'column_select', multiple: true, null: true, relation: 'User', sortBy: 'firstname' },
|
{ name: 'user_ids', display: __('Restrict to only the following users'), tag: 'column_select', multiple: true, null: true, relation: 'User', sortBy: 'firstname' },
|
||||||
{ name: 'organization_shared', display: __('Only available for Users with shared Organization'), tag: 'select', options: { true: 'yes', false: 'no' }, default: false, null: true },
|
{ name: 'organization_shared', display: __('Only available for Users with shared Organizations'), tag: 'select', options: { true: 'yes', false: 'no' }, default: false, null: true },
|
||||||
{ name: 'out_of_office', display: __('Only available for Users which are replacements for other users.'), tag: 'select', options: { true: 'yes', false: 'no' }, default: false, null: true },
|
{ name: 'out_of_office', display: __('Only available for Users which are replacements for other users.'), tag: 'select', options: { true: 'yes', false: 'no' }, default: false, null: true },
|
||||||
{ name: 'condition', display: __('Conditions for shown Tickets'), tag: 'ticket_selector', null: false, out_of_office: true },
|
{ name: 'condition', display: __('Conditions for shown Tickets'), tag: 'ticket_selector', null: false, out_of_office: true },
|
||||||
{ name: 'prio', display: __('Prio'), readonly: 1 },
|
{ name: 'prio', display: __('Prio'), readonly: 1 },
|
||||||
|
|
|
@ -4,16 +4,16 @@
|
||||||
<p>
|
<p>
|
||||||
<% if @result.stats: %>
|
<% if @result.stats: %>
|
||||||
<%- @T('The test run was successful.') %>
|
<%- @T('The test run was successful.') %>
|
||||||
<%- @T('The following changes are made:') %>
|
<%- @T('The following changes will be 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) will be 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) will be 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) will be updated.', @result.stats.updated) %></li>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</p>
|
</p>
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
<div><%- @T('No available webhook, please create a new one or activate an existing one at "Manage > Webhook"') %></div>
|
<div><%- @T('No webhook available, please create a new one or activate an existing one at "Manage > Webhook"') %></div>
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
<h2><%- @T('Inbound') %></h2>
|
<h2><%- @T('Inbound') %></h2>
|
||||||
|
|
||||||
<p><%- @T('Blocked caller IDs based on sender caller ID.') %>
|
<p><%- @T('Block caller IDs based on sender caller ID.') %>
|
||||||
|
|
||||||
<div class="settings-entry">
|
<div class="settings-entry">
|
||||||
<table class="settings-list js-inboundBlockCallerId" style="width: 100%;">
|
<table class="settings-list js-inboundBlockCallerId" style="width: 100%;">
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
|
|
||||||
<h2><%- @T('Inbound') %></h2>
|
<h2><%- @T('Inbound') %></h2>
|
||||||
|
|
||||||
<p><%- @T('Blocked caller IDs based on sender caller ID.') %>
|
<p><%- @T('Block caller IDs based on sender caller ID.') %>
|
||||||
|
|
||||||
<div class="settings-entry">
|
<div class="settings-entry">
|
||||||
<table class="settings-list js-inboundBlockCallerId" style="width: 100%;">
|
<table class="settings-list js-inboundBlockCallerId" style="width: 100%;">
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
|
|
||||||
<h2><%- @T('Inbound') %></h2>
|
<h2><%- @T('Inbound') %></h2>
|
||||||
|
|
||||||
<p><%- @T('Blocked caller IDs based on sender caller ID.') %>
|
<p><%- @T('Block caller IDs based on sender caller ID.') %>
|
||||||
|
|
||||||
<div class="settings-entry">
|
<div class="settings-entry">
|
||||||
<table class="settings-list js-inboundBlockCallerId" style="width: 100%;">
|
<table class="settings-list js-inboundBlockCallerId" style="width: 100%;">
|
||||||
|
|
|
@ -254,13 +254,11 @@ jQuery.fn.extend( {
|
||||||
|
|
||||||
var result;
|
var result;
|
||||||
if ( val == null ) {
|
if ( val == null ) {
|
||||||
|
// be sure that also null values are transferred
|
||||||
// be sure that also null values are transfered
|
|
||||||
// https://github.com/zammad/zammad/issues/944
|
// https://github.com/zammad/zammad/issues/944
|
||||||
if ($elem.prop('multiple')) {
|
if ($elem.prop('multiple')) {
|
||||||
result = { name: elem.name, value: null, type: type };
|
result = { name: elem.name, value: null, type: type }
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
result = null
|
result = null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ module ClonesTicketArticleAttachments
|
||||||
private
|
private
|
||||||
|
|
||||||
def article_attachments_clone(article)
|
def article_attachments_clone(article)
|
||||||
raise Exceptions::UnprocessableEntity, __('Need form_id to attach attachments to new form.') if params[:form_id].blank?
|
raise Exceptions::UnprocessableEntity, __("Need 'form_id' to add attachments to new form.") if params[:form_id].blank?
|
||||||
|
|
||||||
article.clone_attachments('UploadCache', params[:form_id], only_attached_attachments: true)
|
article.clone_attachments('UploadCache', params[:form_id], only_attached_attachments: true)
|
||||||
end
|
end
|
||||||
|
|
|
@ -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 an article body field.') 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?
|
||||||
|
|
|
@ -30,7 +30,7 @@ class Integration::CtiController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
if result[:action] == 'invalid_direction'
|
if result[:action] == 'invalid_direction'
|
||||||
response_error(__('Invalid direction!'))
|
response_error(__("Invalid 'direction'!"))
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ class Integration::PlacetelController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
if result[:action] == 'invalid_direction'
|
if result[:action] == 'invalid_direction'
|
||||||
response_error(__('Invalid direction!'))
|
response_error(__("Invalid 'direction'!"))
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ class Integration::SipgateController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
if result[:action] == 'invalid_direction'
|
if result[:action] == 'invalid_direction'
|
||||||
response_error(__('Invalid direction!'))
|
response_error(__("Invalid 'direction'!"))
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -159,7 +159,7 @@ class TicketArticlesController < ApplicationController
|
||||||
|
|
||||||
# check if requested ticket got merged
|
# check if requested ticket got merged
|
||||||
if ticket.state.state_type.name != 'merged'
|
if ticket.state.state_type.name != 'merged'
|
||||||
raise Exceptions::Forbidden, __('No access, article_id/ticket_id is not matching.')
|
raise Exceptions::Forbidden, __('The article does not belong to the specified ticket.')
|
||||||
end
|
end
|
||||||
|
|
||||||
ticket = article.ticket
|
ticket = article.ticket
|
||||||
|
@ -233,7 +233,7 @@ class TicketArticlesController < ApplicationController
|
||||||
# @response_message 403 Forbidden / Invalid session.
|
# @response_message 403 Forbidden / Invalid session.
|
||||||
def import_start
|
def import_start
|
||||||
if Setting.get('import_mode') != true
|
if Setting.get('import_mode') != true
|
||||||
raise __('Only can import tickets if system is in import mode.')
|
raise __('Tickets can only be imported if system is in import mode.')
|
||||||
end
|
end
|
||||||
|
|
||||||
string = params[:data]
|
string = params[:data]
|
||||||
|
|
|
@ -633,7 +633,7 @@ class TicketsController < ApplicationController
|
||||||
# @response_message 403 Forbidden / Invalid session.
|
# @response_message 403 Forbidden / Invalid session.
|
||||||
def import_start
|
def import_start
|
||||||
if Setting.get('import_mode') != true
|
if Setting.get('import_mode') != true
|
||||||
raise __('Only can import tickets if system is in import mode.')
|
raise __('Tickets can only be imported if system is in import mode.')
|
||||||
end
|
end
|
||||||
|
|
||||||
string = params[:data]
|
string = params[:data]
|
||||||
|
|
|
@ -13,7 +13,7 @@ class TicketsMassController < ApplicationController
|
||||||
|
|
||||||
if !applicable
|
if !applicable
|
||||||
render json: {
|
render json: {
|
||||||
error: __('Macro group restrictions do not cover some tickets'),
|
error: __('Macro group restrictions do not cover all tickets'),
|
||||||
blocking_tickets: applicable.blocking_tickets.map(&:id)
|
blocking_tickets: applicable.blocking_tickets.map(&:id)
|
||||||
}, status: :unprocessable_entity
|
}, status: :unprocessable_entity
|
||||||
|
|
||||||
|
|
|
@ -816,7 +816,7 @@ curl http://localhost/api/v1/users/avatar -v -u #{login}:#{password} -H "Content
|
||||||
|
|
||||||
def avatar_set_default
|
def avatar_set_default
|
||||||
# get & validate image
|
# get & validate image
|
||||||
raise Exceptions::UnprocessableEntity, __('No id of avatar!') if !params[:id]
|
raise Exceptions::UnprocessableEntity, __("The required parameter 'id' is missing.") if !params[:id]
|
||||||
|
|
||||||
# set as default
|
# set as default
|
||||||
avatar = Avatar.set_default('User', current_user.id, params[:id])
|
avatar = Avatar.set_default('User', current_user.id, params[:id])
|
||||||
|
@ -830,7 +830,7 @@ curl http://localhost/api/v1/users/avatar -v -u #{login}:#{password} -H "Content
|
||||||
|
|
||||||
def avatar_destroy
|
def avatar_destroy
|
||||||
# get & validate image
|
# get & validate image
|
||||||
raise Exceptions::UnprocessableEntity, __('No id of avatar!') if !params[:id]
|
raise Exceptions::UnprocessableEntity, __("The required parameter 'id' is missing.") if !params[:id]
|
||||||
|
|
||||||
# remove avatar
|
# remove avatar
|
||||||
Avatar.remove_one('User', current_user.id, params[:id])
|
Avatar.remove_one('User', current_user.id, params[:id])
|
||||||
|
|
|
@ -820,7 +820,7 @@ is certain attribute used by triggers, overviews or schedulers
|
||||||
errors.add(:name, 'spaces are not allowed')
|
errors.add(:name, 'spaces are not allowed')
|
||||||
end
|
end
|
||||||
if !name.match?(%r{^[a-z0-9_]+$})
|
if !name.match?(%r{^[a-z0-9_]+$})
|
||||||
errors.add(:name, __('Only letters from a-z because numbers from 0-9 and _ are allowed'))
|
errors.add(:name, __("Only lowercase letters, numbers, and '_' are allowed"))
|
||||||
end
|
end
|
||||||
if !name.match?(%r{[a-z]})
|
if !name.match?(%r{[a-z]})
|
||||||
errors.add(:name, __('At least one letter is required'))
|
errors.add(:name, __('At least one letter is required'))
|
||||||
|
|
|
@ -17,9 +17,9 @@ get user based list of used object attributes
|
||||||
returns:
|
returns:
|
||||||
|
|
||||||
[
|
[
|
||||||
{ name: 'api_key', display: __('API Key'), tag: 'input', null: true, edit: true, maxlength: 32 },
|
{ name: 'api_key', display: 'API Key', tag: 'input', null: true, edit: true, maxlength: 32 },
|
||||||
{ name: 'api_ip_regexp', display: __('API IP RegExp'), tag: 'input', null: true, edit: true },
|
{ name: 'api_ip_regexp', display: 'API IP RegExp', tag: 'input', null: true, edit: true },
|
||||||
{ name: 'api_ip_max', display: __('API IP Max'), tag: 'input', null: true, edit: true },
|
{ name: 'api_ip_max', display: 'API IP Max', tag: 'input', null: true, edit: true },
|
||||||
]
|
]
|
||||||
|
|
||||||
=end
|
=end
|
||||||
|
|
139
i18n/zammad.pot
139
i18n/zammad.pot
|
@ -140,18 +140,6 @@ msgstr ""
|
||||||
msgid "%s is inactive, please select an active one."
|
msgid "%s is inactive, please select an active one."
|
||||||
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
|
#: app/assets/javascripts/app/views/generic/object_import/imported.jst.eco
|
||||||
msgid "%s object(s) have been created."
|
msgid "%s object(s) have been created."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -164,6 +152,18 @@ msgstr ""
|
||||||
msgid "%s object(s) were deleted."
|
msgid "%s object(s) were deleted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/views/generic/object_import/import_try.jst.eco
|
||||||
|
msgid "%s object(s) will be created."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/views/generic/object_import/import_try.jst.eco
|
||||||
|
msgid "%s object(s) will be deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/views/generic/object_import/import_try.jst.eco
|
||||||
|
msgid "%s object(s) will be updated."
|
||||||
|
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
|
||||||
msgid "%s of my tickets are currently in process."
|
msgid "%s of my tickets are currently in process."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -342,16 +342,7 @@ msgstr ""
|
||||||
msgid "API"
|
msgid "API"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/models/object_manager/object.rb
|
|
||||||
msgid "API IP Max"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/models/object_manager/object.rb
|
|
||||||
msgid "API IP RegExp"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/controllers/_integration/clearbit.coffee
|
#: app/assets/javascripts/app/controllers/_integration/clearbit.coffee
|
||||||
#: app/models/object_manager/object.rb
|
|
||||||
msgid "API Key"
|
msgid "API Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -950,10 +941,6 @@ msgstr ""
|
||||||
msgid "Attention: These will be your login and password after the import is completed."
|
msgid "Attention: These will be your login and password after the import is completed."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: db/seeds/settings.rb
|
|
||||||
msgid "Attention: When creating a ticket an email is sent."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/controllers/object_manager.coffee
|
#: app/assets/javascripts/app/controllers/object_manager.coffee
|
||||||
msgid "Attribute"
|
msgid "Attribute"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1162,14 +1149,14 @@ msgstr ""
|
||||||
msgid "Block Notifications"
|
msgid "Block Notifications"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/chat.coffee
|
|
||||||
msgid "Blocked IPs (separated by ;)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/integration/cti.jst.eco
|
#: app/assets/javascripts/app/views/integration/cti.jst.eco
|
||||||
#: app/assets/javascripts/app/views/integration/placetel.jst.eco
|
#: app/assets/javascripts/app/views/integration/placetel.jst.eco
|
||||||
#: app/assets/javascripts/app/views/integration/sipgate.jst.eco
|
#: app/assets/javascripts/app/views/integration/sipgate.jst.eco
|
||||||
msgid "Blocked caller IDs based on sender caller ID."
|
msgid "Block caller IDs based on sender caller ID."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/models/chat.coffee
|
||||||
|
msgid "Blocked IPs (separated by ;)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/chat.coffee
|
#: app/assets/javascripts/app/models/chat.coffee
|
||||||
|
@ -1968,7 +1955,7 @@ msgid "Contributing Translations"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/sessions/event/chat_transfer.rb
|
#: lib/sessions/event/chat_transfer.rb
|
||||||
msgid "Conversation transfered into other chat. Please stay tuned."
|
msgid "Conversation is transferred into another chat. Please stay tuned."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/twitter/list.jst.eco
|
#: app/assets/javascripts/app/views/twitter/list.jst.eco
|
||||||
|
@ -4319,7 +4306,6 @@ msgstr ""
|
||||||
#: app/assets/javascripts/app/views/telegram/index.jst.eco
|
#: app/assets/javascripts/app/views/telegram/index.jst.eco
|
||||||
#: app/assets/javascripts/app/views/twitter/account_edit.jst.eco
|
#: app/assets/javascripts/app/views/twitter/account_edit.jst.eco
|
||||||
#: app/assets/javascripts/app/views/twitter/list.jst.eco
|
#: app/assets/javascripts/app/views/twitter/list.jst.eco
|
||||||
#: app/models/object_manager/attribute.rb
|
|
||||||
#: app/views/mailer/ticket_create/cs.html.erb
|
#: app/views/mailer/ticket_create/cs.html.erb
|
||||||
#: app/views/mailer/ticket_create/de.html.erb
|
#: app/views/mailer/ticket_create/de.html.erb
|
||||||
#: app/views/mailer/ticket_create/en.html.erb
|
#: app/views/mailer/ticket_create/en.html.erb
|
||||||
|
@ -4989,6 +4975,12 @@ msgstr ""
|
||||||
msgid "Intro"
|
msgid "Intro"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/controllers/integration/cti_controller.rb
|
||||||
|
#: app/controllers/integration/placetel_controller.rb
|
||||||
|
#: app/controllers/integration/sipgate_controller.rb
|
||||||
|
msgid "Invalid 'direction'!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: app/controllers/application_controller/authenticates.rb
|
#: app/controllers/application_controller/authenticates.rb
|
||||||
msgid "Invalid BasicAuth credentials"
|
msgid "Invalid BasicAuth credentials"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -5034,12 +5026,6 @@ msgstr ""
|
||||||
msgid "Invalid credentials!"
|
msgid "Invalid credentials!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/controllers/integration/cti_controller.rb
|
|
||||||
#: app/controllers/integration/placetel_controller.rb
|
|
||||||
#: app/controllers/integration/sipgate_controller.rb
|
|
||||||
msgid "Invalid direction!"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/models/webhook.rb
|
#: app/models/webhook.rb
|
||||||
msgid "Invalid endpoint (no hostname)!"
|
msgid "Invalid endpoint (no hostname)!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -5535,7 +5521,7 @@ msgid "Macro"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/controllers/tickets_mass_controller.rb
|
#: app/controllers/tickets_mass_controller.rb
|
||||||
msgid "Macro group restrictions do not cover some tickets"
|
msgid "Macro group restrictions do not cover all tickets"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/controllers/macro.coffee
|
#: app/assets/javascripts/app/controllers/macro.coffee
|
||||||
|
@ -6027,18 +6013,18 @@ msgstr ""
|
||||||
msgid "Navigation"
|
msgid "Navigation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/controllers/concerns/clones_ticket_article_attachments.rb
|
||||||
|
msgid "Need 'form_id' to add attachments to new form."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: app/controllers/concerns/creates_ticket_articles.rb
|
#: app/controllers/concerns/creates_ticket_articles.rb
|
||||||
msgid "Need at least an article body field."
|
msgid "Need at least an 'article body' field."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/controllers/application_controller/handles_devices.rb
|
#: app/controllers/application_controller/handles_devices.rb
|
||||||
msgid "Need fingerprint param!"
|
msgid "Need fingerprint param!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/controllers/concerns/clones_ticket_article_attachments.rb
|
|
||||||
msgid "Need form_id to attach attachments to new form."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/controllers/user_access_token_controller.rb
|
#: app/controllers/user_access_token_controller.rb
|
||||||
msgid "Need label!"
|
msgid "Need label!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -6052,7 +6038,7 @@ msgid "Need name, login, email or locale for create_or_update()"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/controllers/ticket_zoom/article_action/email_reply.coffee
|
#: app/assets/javascripts/app/controllers/ticket_zoom/article_action/email_reply.coffee
|
||||||
msgid "Need recipient in \"To\" or \"Cc\"."
|
msgid "Need recipient in \"TO\" or \"CC\"."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/controllers/ticket_zoom/article_action/twitter_reply.coffee
|
#: app/assets/javascripts/app/controllers/ticket_zoom/article_action/twitter_reply.coffee
|
||||||
|
@ -6080,7 +6066,6 @@ msgstr ""
|
||||||
#: app/assets/javascripts/app/controllers/_default_navbar.coffee
|
#: app/assets/javascripts/app/controllers/_default_navbar.coffee
|
||||||
#: app/assets/javascripts/app/views/channel/email_account_overview.jst.eco
|
#: app/assets/javascripts/app/views/channel/email_account_overview.jst.eco
|
||||||
#: app/assets/javascripts/app/views/channel/sms_account_overview.jst.eco
|
#: app/assets/javascripts/app/views/channel/sms_account_overview.jst.eco
|
||||||
#: app/models/translation.rb
|
|
||||||
msgid "New"
|
msgid "New"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -6235,6 +6220,10 @@ msgstr ""
|
||||||
msgid "No Entries"
|
msgid "No Entries"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/external_credential/facebook.rb
|
||||||
|
msgid "No Facebook app configured!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: lib/external_credential/google.rb
|
#: lib/external_credential/google.rb
|
||||||
msgid "No Google app configured!"
|
msgid "No Google app configured!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -6255,8 +6244,8 @@ msgstr ""
|
||||||
msgid "No Thanks!"
|
msgid "No Thanks!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/controllers/ticket_articles_controller.rb
|
#: lib/external_credential/twitter.rb
|
||||||
msgid "No access, article_id/ticket_id is not matching."
|
msgid "No Twitter app configured!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/controllers/knowledge_base/sidebar/answers.coffee
|
#: app/assets/javascripts/app/controllers/knowledge_base/sidebar/answers.coffee
|
||||||
|
@ -6271,10 +6260,6 @@ msgstr ""
|
||||||
msgid "No application_secret param!"
|
msgid "No application_secret param!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/generic/ticket_perform_action/webhook_not_available.jst.eco
|
|
||||||
msgid "No available webhook, please create a new one or activate an existing one at \"Manage > Webhook\""
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/controllers/_profile/avatar.coffee
|
#: app/assets/javascripts/app/controllers/_profile/avatar.coffee
|
||||||
msgid "No camera found."
|
msgid "No camera found."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -6323,10 +6308,6 @@ msgstr ""
|
||||||
msgid "No entries found in selected folder(s)."
|
msgid "No entries found in selected folder(s)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/external_credential/facebook.rb
|
|
||||||
msgid "No facebook app configured!"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/controllers/_ui_element/_application_selector.coffee
|
#: app/assets/javascripts/app/controllers/_ui_element/_application_selector.coffee
|
||||||
#: app/assets/javascripts/app/controllers/_ui_element/ticket_perform_action.coffee
|
#: app/assets/javascripts/app/controllers/_ui_element/ticket_perform_action.coffee
|
||||||
msgid "No filter."
|
msgid "No filter."
|
||||||
|
@ -6336,14 +6317,6 @@ msgstr ""
|
||||||
msgid "No folders found for given user credentials."
|
msgid "No folders found for given user credentials."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/external_credential/google.rb
|
|
||||||
msgid "No google app configured!"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/controllers/users_controller.rb
|
|
||||||
msgid "No id of avatar!"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/controllers/ticket_zoom/sidebar_git_issue.coffee
|
#: app/assets/javascripts/app/controllers/ticket_zoom/sidebar_git_issue.coffee
|
||||||
msgid "No linked issues"
|
msgid "No linked issues"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -6425,14 +6398,14 @@ msgstr ""
|
||||||
msgid "No triggers active"
|
msgid "No triggers active"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/external_credential/twitter.rb
|
|
||||||
msgid "No twitter app configured!"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/widget/online_notification.jst.eco
|
#: app/assets/javascripts/app/views/widget/online_notification.jst.eco
|
||||||
msgid "No unread notifications for you. :)"
|
msgid "No unread notifications for you. :)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/views/generic/ticket_perform_action/webhook_not_available.jst.eco
|
||||||
|
msgid "No webhook available, please create a new one or activate an existing one at \"Manage > Webhook\""
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: app/models/channel/email_parser.rb
|
#: app/models/channel/email_parser.rb
|
||||||
msgid "No x-zammad-session-user-id, no sender set!"
|
msgid "No x-zammad-session-user-id, no sender set!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -6685,12 +6658,7 @@ msgid "Only available for Users which are replacements for other users."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/models/overview.coffee
|
#: app/assets/javascripts/app/models/overview.coffee
|
||||||
msgid "Only available for Users with shared Organization"
|
msgid "Only available for Users with shared Organizations"
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/controllers/ticket_articles_controller.rb
|
|
||||||
#: app/controllers/tickets_controller.rb
|
|
||||||
msgid "Only can import tickets if system is in import mode."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/controllers/_integration/slack.coffee
|
#: app/assets/javascripts/app/controllers/_integration/slack.coffee
|
||||||
|
@ -6698,7 +6666,7 @@ msgid "Only for these groups."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/models/object_manager/attribute.rb
|
#: app/models/object_manager/attribute.rb
|
||||||
msgid "Only letters from a-z because numbers from 0-9 and _ are allowed"
|
msgid "Only lowercase letters, numbers, and '_' are allowed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/package.jst.eco
|
#: app/assets/javascripts/app/views/package.jst.eco
|
||||||
|
@ -8773,6 +8741,10 @@ msgstr ""
|
||||||
msgid "The URL to this installation of Zammad."
|
msgid "The URL to this installation of Zammad."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/controllers/ticket_articles_controller.rb
|
||||||
|
msgid "The article does not belong to the specified ticket."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/getting_started/auto_wizard_enabled.jst.eco
|
#: app/assets/javascripts/app/views/getting_started/auto_wizard_enabled.jst.eco
|
||||||
msgid "The auto wizard is enabled, please use the prodvided auto wizard url."
|
msgid "The auto wizard is enabled, please use the prodvided auto wizard url."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -8813,14 +8785,14 @@ msgstr ""
|
||||||
msgid "The divider between TicketHook and ticket number. E. g. ': '."
|
msgid "The divider between TicketHook and ticket number. E. g. ': '."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/generic/object_import/import_try.jst.eco
|
|
||||||
msgid "The following changes are made:"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/generic/object_import/imported.jst.eco
|
#: app/assets/javascripts/app/views/generic/object_import/imported.jst.eco
|
||||||
msgid "The following changes have been made:"
|
msgid "The following changes have been made:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/assets/javascripts/app/views/generic/object_import/import_try.jst.eco
|
||||||
|
msgid "The following changes will be made:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/controllers/_application_controller/_modal.coffee
|
#: app/assets/javascripts/app/controllers/_application_controller/_modal.coffee
|
||||||
msgid "The form content has been changed. Do you want to close it and lose your changes?"
|
msgid "The form content has been changed. Do you want to close it and lose your changes?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -8861,6 +8833,10 @@ msgstr ""
|
||||||
msgid "The page you were looking for does not exist."
|
msgid "The page you were looking for does not exist."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/controllers/users_controller.rb
|
||||||
|
msgid "The required parameter 'id' is missing."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: app/controllers/users_controller.rb
|
#: app/controllers/users_controller.rb
|
||||||
msgid "The resized image is invalid."
|
msgid "The resized image is invalid."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -9169,6 +9145,11 @@ msgstr ""
|
||||||
msgid "Tickets assigned to me: %s of %s"
|
msgid "Tickets assigned to me: %s of %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: app/controllers/ticket_articles_controller.rb
|
||||||
|
#: app/controllers/tickets_controller.rb
|
||||||
|
msgid "Tickets can only be imported if system is in import mode."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: app/assets/javascripts/app/views/widget/ticket_stats.jst.eco
|
#: app/assets/javascripts/app/views/widget/ticket_stats.jst.eco
|
||||||
msgid "Tickets of Organization"
|
msgid "Tickets of Organization"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
|
@ -9,7 +9,7 @@ class ExternalCredential::Facebook
|
||||||
|
|
||||||
def self.request_account_to_link(credentials = {}, app_required = true)
|
def self.request_account_to_link(credentials = {}, app_required = true)
|
||||||
external_credential = ExternalCredential.find_by(name: 'facebook')
|
external_credential = ExternalCredential.find_by(name: 'facebook')
|
||||||
raise Exceptions::UnprocessableEntity, __('No facebook app configured!') if !external_credential && app_required
|
raise Exceptions::UnprocessableEntity, __('No Facebook app configured!') if !external_credential && app_required
|
||||||
|
|
||||||
if external_credential
|
if external_credential
|
||||||
if credentials[:application_id].blank?
|
if credentials[:application_id].blank?
|
||||||
|
@ -41,7 +41,7 @@ class ExternalCredential::Facebook
|
||||||
def self.link_account(_request_token, params)
|
def self.link_account(_request_token, params)
|
||||||
# fail if request_token.params[:oauth_token] != params[:state]
|
# fail if request_token.params[:oauth_token] != params[:state]
|
||||||
external_credential = ExternalCredential.find_by(name: 'facebook')
|
external_credential = ExternalCredential.find_by(name: 'facebook')
|
||||||
raise Exceptions::UnprocessableEntity, __('No facebook app configured!') if !external_credential
|
raise Exceptions::UnprocessableEntity, __('No Facebook app configured!') if !external_credential
|
||||||
|
|
||||||
oauth = Koala::Facebook::OAuth.new(
|
oauth = Koala::Facebook::OAuth.new(
|
||||||
external_credential.credentials['application_id'],
|
external_credential.credentials['application_id'],
|
||||||
|
|
|
@ -32,7 +32,7 @@ class ExternalCredential::Google
|
||||||
|
|
||||||
def self.link_account(_request_token, params)
|
def self.link_account(_request_token, params)
|
||||||
external_credential = ExternalCredential.find_by(name: 'google')
|
external_credential = ExternalCredential.find_by(name: 'google')
|
||||||
raise Exceptions::UnprocessableEntity, __('No google app configured!') if !external_credential
|
raise Exceptions::UnprocessableEntity, __('No Google app configured!') if !external_credential
|
||||||
raise Exceptions::UnprocessableEntity, __('No code for session found!') if !params[:code]
|
raise Exceptions::UnprocessableEntity, __('No code for session found!') if !params[:code]
|
||||||
|
|
||||||
response = authorize_tokens(external_credential.credentials[:client_id], external_credential.credentials[:client_secret], params[:code])
|
response = authorize_tokens(external_credential.credentials[:client_id], external_credential.credentials[:client_secret], params[:code])
|
||||||
|
|
|
@ -8,7 +8,7 @@ class ExternalCredential::Twitter
|
||||||
|
|
||||||
def self.request_account_to_link(credentials = {}, app_required = true)
|
def self.request_account_to_link(credentials = {}, app_required = true)
|
||||||
external_credential = ExternalCredential.find_by(name: 'twitter')
|
external_credential = ExternalCredential.find_by(name: 'twitter')
|
||||||
raise Exceptions::UnprocessableEntity, __('No twitter app configured!') if !external_credential && app_required
|
raise Exceptions::UnprocessableEntity, __('No Twitter app configured!') if !external_credential && app_required
|
||||||
|
|
||||||
if external_credential
|
if external_credential
|
||||||
if credentials[:consumer_key].blank?
|
if credentials[:consumer_key].blank?
|
||||||
|
@ -49,7 +49,7 @@ class ExternalCredential::Twitter
|
||||||
|
|
||||||
def self.link_account(request_token, params)
|
def self.link_account(request_token, params)
|
||||||
external_credential = ExternalCredential.find_by(name: 'twitter')
|
external_credential = ExternalCredential.find_by(name: 'twitter')
|
||||||
raise Exceptions::UnprocessableEntity, __('No twitter app configured!') if !external_credential
|
raise Exceptions::UnprocessableEntity, __('No Twitter app configured!') if !external_credential
|
||||||
raise Exceptions::UnprocessableEntity, __('No request_token for session found!') if !request_token
|
raise Exceptions::UnprocessableEntity, __('No request_token for session found!') if !request_token
|
||||||
raise Exceptions::UnprocessableEntity, __('Invalid oauth_token given!') if request_token.params[:oauth_token] != params[:oauth_token]
|
raise Exceptions::UnprocessableEntity, __('Invalid oauth_token given!') if request_token.params[:oauth_token] != params[:oauth_token]
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,11 @@ class Generators::TranslationCatalog::Extractor::Ruby < Generators::TranslationC
|
||||||
def extract_from_string(string, filename) # rubocop:disable Metrics/AbcSize
|
def extract_from_string(string, filename) # rubocop:disable Metrics/AbcSize
|
||||||
return if string.empty?
|
return if string.empty?
|
||||||
|
|
||||||
|
# Remove doc comments
|
||||||
|
string.gsub!(%r{^=begin.*?^=end}mx, '')
|
||||||
|
# Remove standard comments
|
||||||
|
string.gsub!(%r{^\s*\#.*?$}mx, '')
|
||||||
|
|
||||||
literal_string_regex = %r{('|")(.+?)(?<!\\)\1}
|
literal_string_regex = %r{('|")(.+?)(?<!\\)\1}
|
||||||
|
|
||||||
# Translation.translate
|
# Translation.translate
|
||||||
|
|
|
@ -30,7 +30,7 @@ class Sessions::Event::ChatTransfer < Sessions::Event::ChatBase
|
||||||
event: 'chat_session_notice',
|
event: 'chat_session_notice',
|
||||||
data: {
|
data: {
|
||||||
session_id: chat_session.session_id,
|
session_id: chat_session.session_id,
|
||||||
message: __('Conversation transfered into other chat. Please stay tuned.'),
|
message: __('Conversation is transferred into another chat. Please stay tuned.'),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
chat_session.send_to_recipients(message, @client_id)
|
chat_session.send_to_recipients(message, @client_id)
|
||||||
|
|
|
@ -651,7 +651,7 @@ QUnit.test( "ticket_perform_action check when there's no available webhook", ass
|
||||||
var params = App.ControllerForm.params(el)
|
var params = App.ControllerForm.params(el)
|
||||||
assert.deepEqual(params, {}, 'form param check')
|
assert.deepEqual(params, {}, 'form param check')
|
||||||
|
|
||||||
var testNoticeMessage = 'No available webhook, please create a new one or activate an existing one at "Manage > Webhook"'
|
var testNoticeMessage = 'No webhook available, please create a new one or activate an existing one at "Manage > Webhook"'
|
||||||
var noticeMessage = el.find('.controls.js-webhooks div').text()
|
var noticeMessage = el.find('.controls.js-webhooks div').text()
|
||||||
assert.equal(noticeMessage, testNoticeMessage, 'form shows message when webhook is not available')
|
assert.equal(noticeMessage, testNoticeMessage, 'form shows message when webhook is not available')
|
||||||
});
|
});
|
||||||
|
@ -704,7 +704,7 @@ QUnit.test( "ticket_perform_action check when there's an available webhook", ass
|
||||||
}
|
}
|
||||||
assert.deepEqual(params, test_params, 'form param check')
|
assert.deepEqual(params, test_params, 'form param check')
|
||||||
|
|
||||||
var testNoticeMessage = 'No available webhook, please create a new one or activate an existing one at "Manage > Webhook"'
|
var testNoticeMessage = 'No webhook available, please create a new one or activate an existing one at "Manage > Webhook"'
|
||||||
var noticeMessage = el.find('.controls.js-webhooks').text()
|
var noticeMessage = el.find('.controls.js-webhooks').text()
|
||||||
assert.notEqual(noticeMessage, testNoticeMessage, 'form does not show notice message when webhook is available')
|
assert.notEqual(noticeMessage, testNoticeMessage, 'form does not show notice message when webhook is available')
|
||||||
|
|
||||||
|
|
|
@ -15,9 +15,16 @@ RSpec.describe Generators::TranslationCatalog::Extractor::Ruby do
|
||||||
let(:string) do
|
let(:string) do
|
||||||
<<~'CODE'
|
<<~'CODE'
|
||||||
__('__ String')
|
__('__ String')
|
||||||
|
=begin
|
||||||
|
__('Doc comment must be ignored')
|
||||||
|
=end
|
||||||
__('__ String that only looks like #{interpolation}')
|
__('__ String that only looks like #{interpolation}')
|
||||||
__("__ double quoted String with '")
|
=begin
|
||||||
|
__('Another doc comment must be ignored')
|
||||||
|
=end
|
||||||
Translation.translate('de-de', '.translate String')
|
Translation.translate('de-de', '.translate String')
|
||||||
|
# __('Comments must also be ignored')
|
||||||
|
__("__ double quoted String with '")
|
||||||
CODE
|
CODE
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -194,7 +194,7 @@ RSpec.describe Sessions::Event::ChatSessionStart do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when starting a chat session as agent with transfered conversation' do
|
context 'when starting a chat session as agent with transferred conversation' do
|
||||||
it 'send out chat_session_start to customer and agent with already created messages' do
|
it 'send out chat_session_start to customer and agent with already created messages' do
|
||||||
chat_message_history
|
chat_message_history
|
||||||
expect(subject_as_agent.run).to eq(nil)
|
expect(subject_as_agent.run).to eq(nil)
|
||||||
|
|
|
@ -36,7 +36,7 @@ RSpec.describe Sessions::Event::ChatTransfer do
|
||||||
Setting.set('chat', true)
|
Setting.set('chat', true)
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when transfering a chat session as customer' do
|
context 'when transferring a chat session as customer' do
|
||||||
let(:subject_as_customer) do
|
let(:subject_as_customer) do
|
||||||
Sessions.create(client_id, { 'id' => customer.id }, {})
|
Sessions.create(client_id, { 'id' => customer.id }, {})
|
||||||
Sessions.queue(client_id)
|
Sessions.queue(client_id)
|
||||||
|
@ -64,7 +64,7 @@ RSpec.describe Sessions::Event::ChatTransfer do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when transfering a chat session as agent' do
|
context 'when transferring a chat session as agent' do
|
||||||
it 'send out chat_session_notice to customer and agent and set chat session to waiting' do
|
it 'send out chat_session_notice to customer and agent and set chat session to waiting' do
|
||||||
expect(subject_as_agent.run).to eq(nil)
|
expect(subject_as_agent.run).to eq(nil)
|
||||||
|
|
||||||
|
@ -73,7 +73,7 @@ RSpec.describe Sessions::Event::ChatTransfer do
|
||||||
expect(messages_to_customer[0]).to eq(
|
expect(messages_to_customer[0]).to eq(
|
||||||
'event' => 'chat_session_notice',
|
'event' => 'chat_session_notice',
|
||||||
'data' => {
|
'data' => {
|
||||||
'message' => 'Conversation transfered into other chat. Please stay tuned.',
|
'message' => 'Conversation is transferred into another chat. Please stay tuned.',
|
||||||
'session_id' => chat_session.session_id,
|
'session_id' => chat_session.session_id,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
|
@ -119,7 +119,7 @@ RSpec.describe 'External Credentials', type: :request do
|
||||||
get '/api/v1/external_credentials/facebook/link_account', as: :json
|
get '/api/v1/external_credentials/facebook/link_account', as: :json
|
||||||
|
|
||||||
expect(response).to have_http_status(:unprocessable_entity)
|
expect(response).to have_http_status(:unprocessable_entity)
|
||||||
expect(json_response).to include('error' => 'No facebook app configured!')
|
expect(json_response).to include('error' => 'No Facebook app configured!')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -128,7 +128,7 @@ RSpec.describe 'External Credentials', type: :request do
|
||||||
get '/api/v1/external_credentials/facebook/link_account', params: invalid_credentials, as: :json
|
get '/api/v1/external_credentials/facebook/link_account', params: invalid_credentials, as: :json
|
||||||
|
|
||||||
expect(response).to have_http_status(:unprocessable_entity)
|
expect(response).to have_http_status(:unprocessable_entity)
|
||||||
expect(json_response).to include('error' => 'No facebook app configured!')
|
expect(json_response).to include('error' => 'No Facebook app configured!')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -152,7 +152,7 @@ RSpec.describe 'External Credentials', type: :request do
|
||||||
get '/api/v1/external_credentials/facebook/callback', as: :json
|
get '/api/v1/external_credentials/facebook/callback', as: :json
|
||||||
|
|
||||||
expect(response).to have_http_status(:unprocessable_entity)
|
expect(response).to have_http_status(:unprocessable_entity)
|
||||||
expect(json_response).to include('error' => 'No facebook app configured!')
|
expect(json_response).to include('error' => 'No Facebook app configured!')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -161,7 +161,7 @@ RSpec.describe 'External Credentials', type: :request do
|
||||||
get '/api/v1/external_credentials/facebook/callback', params: invalid_credentials, as: :json
|
get '/api/v1/external_credentials/facebook/callback', params: invalid_credentials, as: :json
|
||||||
|
|
||||||
expect(response).to have_http_status(:unprocessable_entity)
|
expect(response).to have_http_status(:unprocessable_entity)
|
||||||
expect(json_response).to include('error' => 'No facebook app configured!')
|
expect(json_response).to include('error' => 'No Facebook app configured!')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -338,7 +338,7 @@ RSpec.describe 'External Credentials', type: :request do
|
||||||
context 'with no Twitter app' do
|
context 'with no Twitter app' do
|
||||||
include_examples 'for failure cases' do
|
include_examples 'for failure cases' do
|
||||||
let(:status) { :unprocessable_entity }
|
let(:status) { :unprocessable_entity }
|
||||||
let(:error_message) { 'No twitter app configured!' }
|
let(:error_message) { 'No Twitter app configured!' }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -397,7 +397,7 @@ RSpec.describe 'External Credentials', type: :request do
|
||||||
context 'with no Twitter app' do
|
context 'with no Twitter app' do
|
||||||
include_examples 'for failure cases' do
|
include_examples 'for failure cases' do
|
||||||
let(:status) { :unprocessable_entity }
|
let(:status) { :unprocessable_entity }
|
||||||
let(:error_message) { 'No twitter app configured!' }
|
let(:error_message) { 'No Twitter app configured!' }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -132,7 +132,7 @@ RSpec.describe 'Ticket Article Attachments', type: :request, authenticated_as: -
|
||||||
post "/api/v1/ticket_attachment_upload_clone_by_article/#{article_p.id}", params: {}, as: :json
|
post "/api/v1/ticket_attachment_upload_clone_by_article/#{article_p.id}", 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 form_id to attach attachments to new form.')
|
expect(json_response['error']).to eq("Need 'form_id' to add attachments to new form.")
|
||||||
|
|
||||||
post "/api/v1/ticket_attachment_upload_clone_by_article/#{article_p.id}", params: { form_id: '1234-1' }, as: :json
|
post "/api/v1/ticket_attachment_upload_clone_by_article/#{article_p.id}", params: { form_id: '1234-1' }, as: :json
|
||||||
expect(response).to have_http_status(:ok)
|
expect(response).to have_http_status(:ok)
|
||||||
|
|
|
@ -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 an article body field.')
|
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 an article body field.')
|
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 an article body field.')
|
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
|
||||||
|
|
|
@ -24,7 +24,7 @@ RSpec.describe 'Ticket > Update > Email Reply', current_user_id: -> { current_us
|
||||||
find('.js-textarea').set('welcome to the community')
|
find('.js-textarea').set('welcome to the community')
|
||||||
find('.js-submitDropdown button.js-submit').click
|
find('.js-submitDropdown button.js-submit').click
|
||||||
|
|
||||||
expect(page).to have_text 'Need recipient in "To" or "Cc".'
|
expect(page).to have_text 'Need recipient in "TO" or "CC".'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue