Compare commits

...

27 commits

Author SHA1 Message Date
f 8a0d4ddd48 assets 2022-06-18 10:54:29 -03:00
f 58e6657b79 Merge branch 'stable' into antifascista-stable 2022-06-18 10:48:20 -03:00
Weblate 0fb34f24cf Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: MBekspert <michal.bosak@ekspert.biz>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pl/
Translation: Zammad/Zammad (stable version)
2022-06-17 09:36:29 +02:00
Florian Liebe 3b513dc670 Fixes #3890 - 'Sender Format' set to 'Agent Name' causes empty display names in triggers 2022-06-16 16:15:00 +02:00
Florian Liebe 76fe4ce0e7 Fixes #3931 - Changing the category of a Knowledge Base answer leads to alternative translation loop 2022-06-16 14:24:57 +02:00
Rolf Schmidt cadb462208 Fixes #4127 - Webhhok transfers "accounted_time" of an article as integer instead of float/double. 2022-06-15 15:48:00 +02:00
Florian Liebe fbc1e4a252 Fixes #3952 - Notifications are sent for all tickets when an organization of a customer is updated. 2022-06-13 14:56:50 +02:00
Weblate a7643fec73 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Jennie Gejel <jenniegejel@gmail.com>
Co-authored-by: Louise Forsen <louise.forsen@entryevent.se>
Co-authored-by: MBekspert <michal.bosak@ekspert.biz>
Co-authored-by: Marcel Herrguth <github@thehomeofanime.de>
Co-authored-by: Paweł Rypień <pawel.rypien@bmw-sikora.pl>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/de/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sv/
Translation: Zammad/Zammad (stable version)
2022-06-13 09:28:25 +02:00
Rolf Schmidt 439b17800f Follow up 949a47a7be6cf10dc7fd38c3c5b06def6efad26d - Fixes #4040 - users customer name is displayed as id. 2022-06-13 08:23:35 +02:00
Martin Gruner e50ba0aca5
Maintenance: Backport rspec-retry to stabilize Capybara tests. 2022-06-10 12:09:11 +02:00
Martin Gruner 85649f8894 Maintenance: Fix capybara test that started failing on recent FF.
(cherry picked from commit 1af31d4f9527ff860e3dd5e769f15e0460ea0535)
2022-06-10 10:05:33 +02:00
Florian Liebe 927ecff993 Fixes #3894 - Follow-up detection does not work for the body of plain text mails. 2022-06-09 14:24:13 +02:00
Martin Gruner 7279cb88b5
Maintenance: Prepare for Selenium 4.2. 2022-06-09 06:20:41 +02:00
Rolf Schmidt 7c718d9c18 Fixes #3935 - DataPrivacy Tasks fail if Zammad has to solve references on users with invalid email addresses. 2022-06-08 14:50:54 +02:00
Martin Gruner 9ff3d80f49 Maintenance: Reconfigure push to github to not use a shell runner, but docker.
(cherry picked from commit 60521b3818b1e01c7089a3a2ce4179620d4af42c)
2022-06-08 08:42:12 +02:00
Weblate aeb3486602 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Arturo <r2r0@posteo.de>
Co-authored-by: Danniel Macedo <djsmacedo@gmail.com>
Co-authored-by: Guillaume Lasserre <guillaume.lasserre@clirisgroup.com>
Co-authored-by: Louise Forsen <louise.forsen@entryevent.se>
Co-authored-by: MBekspert <michal.bosak@ekspert.biz>
Co-authored-by: Magdalena Dulęba <magdalena.duleba@pwr.edu.pl>
Co-authored-by: Marcel Herrguth <github@thehomeofanime.de>
Co-authored-by: Marco Badan <info@marcobadan.com>
Co-authored-by: Martin Gruner <mg@zammad.com>
Co-authored-by: Ralf Ebert <info@ralfebert.de>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/de/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/es/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/it/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pt_BR/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sv/
Translation: Zammad/Zammad (stable version)
2022-06-07 20:10:41 +02:00
Florian Liebe ab37cfe972 Fixes #3943 - Title column is missing if ticket number is disabled in overview options. 2022-06-07 09:01:53 +02:00
Rolf Schmidt 81408f7e87 Fixes #4054 - Searches display all groups and owners on bulk selections. 2022-06-02 15:13:04 +02:00
Rolf Schmidt 3f81df1925 Fixes #4088 - Wrong default values in ticket create when creating from user profile. 2022-06-01 13:31:46 +01:00
Rolf Schmidt bb80177a02 Fixes #4103 - Reporting export file shows empty fields in selected columns when "custom sort option" is enabled. 2022-05-31 15:18:20 +02:00
Martin Gruner 62ae0e9944
Maintenance: Security update for the 'rack' gem. 2022-05-30 07:40:20 +02:00
Rolf Schmidt c38c4e6226 Fixes #4097 - Latest upgrade to 5.1 is not possible. 2022-05-25 15:48:32 +02:00
Dominik Klein 757a9b274e Fixes #4095 - Trigger autocomplete when clicking the "Tags" field also without a search term. 2022-05-25 12:53:49 +02:00
Martin Gruner 08934daaf3 Maintenance: Make ticket number options translatable.
(cherry picked from commit 0ac0de5c1df710aea543cae44b1aac202d376bf5)
2022-05-25 09:34:11 +00:00
Martin Gruner 321aa0ea4c Maintenance: Update GeoIP test data.
(cherry picked from commit 2f6ea62b4c28ac9c3cf0126740275329526e3057)
2022-05-25 10:54:47 +02:00
Rolf Schmidt 5a6df7fc82 Fixes #4089 - Shared draft attribute in object manage not disabled for onclick. 2022-05-24 12:38:22 +02:00
Martin Gruner 5995c0e676 Maintenance: Security update for nokogiri gem. 2022-05-24 09:22:58 +02:00
91 changed files with 1452 additions and 1288 deletions

View file

@ -86,10 +86,12 @@
# Executed on a dedicated runner. # Executed on a dedicated runner.
"push to github": "push to github":
<<: *template_pre <<: *template_pre
tags:
- deploy
before_script: before_script:
- '' # no RVM present in deploy ENV - test -d $HOME/.ssh || mkdir $HOME/.ssh
- ssh-keyscan github.com >> $HOME/.ssh/known_hosts
- eval $(ssh-agent -s)
- echo "$PUSH_TO_GITHUB_SSH_PRIVATE_KEY" | ssh-add -
- ssh-add -l
script: script:
- git fetch --unshallow - git fetch --unshallow
- script/build/sync_repo.sh git@github.com:zammad/zammad.git - script/build/sync_repo.sh git@github.com:zammad/zammad.git

View file

@ -15,10 +15,15 @@ PreCommit:
on_warn: fail on_warn: fail
CoffeeLint: CoffeeLint:
# .coffeelint/rules/* not supported in YAML, specify all rules separately. # .coffeelint/rules/* not supported in YAML, specify all rules separately.
flags: ['--reporter=csv', '--rules', './.coffeelint/rules/detect_translatable_string.coffee'] flags:
[
'--reporter=csv',
'--rules',
'./.coffeelint/rules/detect_translatable_string.coffee',
]
enabled: true enabled: true
on_warn: fail on_warn: fail
exclude: public/assets/chat/**/* exclude: 'public/assets/chat/**/*'
CustomScript: CustomScript:
enabled: true enabled: true
description: 'Check if translation catalog is up-to-date' description: 'Check if translation catalog is up-to-date'

View file

@ -174,6 +174,7 @@ group :development, :test do
# test frameworks # test frameworks
gem 'rails-controller-testing' gem 'rails-controller-testing'
gem 'rspec-rails' gem 'rspec-rails'
gem 'rspec-retry'
gem 'shoulda-matchers' gem 'shoulda-matchers'
gem 'test-unit' gem 'test-unit'

View file

@ -329,10 +329,10 @@ GEM
netrc (0.11.0) netrc (0.11.0)
nio4r (2.5.8) nio4r (2.5.8)
nio4r (2.5.8-x86_64-linux-musl) nio4r (2.5.8-x86_64-linux-musl)
nokogiri (1.13.4) nokogiri (1.13.6)
mini_portile2 (~> 2.8.0) mini_portile2 (~> 2.8.0)
racc (~> 1.4) racc (~> 1.4)
nokogiri (1.13.4-x86_64-linux-musl) nokogiri (1.13.6-x86_64-linux-musl)
mini_portile2 (~> 2.8.0) mini_portile2 (~> 2.8.0)
racc (~> 1.4) racc (~> 1.4)
nori (2.6.0) nori (2.6.0)
@ -422,7 +422,7 @@ GEM
rspec-rails (>= 3.0.0) rspec-rails (>= 3.0.0)
racc (1.6.0) racc (1.6.0)
racc (1.6.0-x86_64-linux-musl) racc (1.6.0-x86_64-linux-musl)
rack (2.2.3) rack (2.2.3.1)
rack-attack (6.6.0) rack-attack (6.6.0)
rack (>= 1.0, < 3) rack (>= 1.0, < 3)
rack-livereload (0.3.17) rack-livereload (0.3.17)
@ -493,6 +493,8 @@ GEM
rspec-expectations (~> 3.10) rspec-expectations (~> 3.10)
rspec-mocks (~> 3.10) rspec-mocks (~> 3.10)
rspec-support (~> 3.10) rspec-support (~> 3.10)
rspec-retry (0.6.2)
rspec-core (> 3.3)
rspec-support (3.11.0) rspec-support (3.11.0)
rszr (0.5.2) rszr (0.5.2)
rszr (0.5.2-x86_64-linux-musl) rszr (0.5.2-x86_64-linux-musl)
@ -719,6 +721,7 @@ DEPENDENCIES
rchardet (>= 1.8.0) rchardet (>= 1.8.0)
redis redis
rspec-rails rspec-rails
rspec-retry
rszr (= 0.5.2) rszr (= 0.5.2)
rubocop rubocop
rubocop-faker rubocop-faker

View file

@ -79,6 +79,11 @@ class App.SettingsAreaTicketNumber extends App.Controller
el = $(App.view("settings/#{preferences_setting}")( el = $(App.view("settings/#{preferences_setting}")(
setting: setting setting: setting
)) ))
for form_entry in setting.options['form']
if form_entry['tag'] is 'boolean'
form_entry['translate'] = true
new App.ControllerForm( new App.ControllerForm(
el: el.find('.js-formItem'), el: el.find('.js-formItem'),
model: { configure_attributes: setting.options['form'], className: '' } model: { configure_attributes: setting.options['form'], className: '' }

View file

@ -246,7 +246,7 @@ class App.TicketCreate extends App.Controller
if _.isEmpty(params.ticket_id) && _.isEmpty(params.article_id) if _.isEmpty(params.ticket_id) && _.isEmpty(params.article_id)
if !_.isEmpty(params.customer_id) if !_.isEmpty(params.customer_id)
@renderQueue(options: params) @renderQueue(options: _.omit(params, 'id'))
return return
@renderQueue() @renderQueue()
return return

View file

@ -205,6 +205,7 @@ class App.Search extends App.Controller
items.slice(startId+1, endId).find('[name="bulk"]').prop('checked', (-> !@checked)) items.slice(startId+1, endId).find('[name="bulk"]').prop('checked', (-> !@checked))
@lastChecked = e.currentTarget @lastChecked = e.currentTarget
@bulkForm.updateTicketIdsBulkForm(e)
ticket_ids = [] ticket_ids = []
for item in localList for item in localList

View file

@ -959,7 +959,7 @@ class Table extends App.Controller
ticketListShow.push App.Ticket.find(ticket.id) ticketListShow.push App.Ticket.find(ticket.id)
@overview = App.Overview.find(overview.id) @overview = App.Overview.find(overview.id)
@table.update( @table.update(
overviewAttributes: @overview.view.s overviewAttributes: @convertOverviewAttributesToArray(@overview.view.s)
objects: ticketListShow objects: ticketListShow
groupBy: @overview.group_by groupBy: @overview.group_by
groupDirection: @overview.group_direction groupDirection: @overview.group_direction
@ -977,7 +977,6 @@ class Table extends App.Controller
return if !overview && !tickets return if !overview && !tickets
@view_mode = App.LocalStorage.get("mode:#{@view}", @Session.get('id')) || 's' @view_mode = App.LocalStorage.get("mode:#{@view}", @Session.get('id')) || 's'
console.log 'notice', 'view:', @view, @view_mode
App.WebSocket.send(event:'ticket_overview_select', data: { view: @view }) App.WebSocket.send(event:'ticket_overview_select', data: { view: @view })
@ -1107,8 +1106,7 @@ class Table extends App.Controller
items.slice(startId+1, endId).find('[name="bulk"]').prop('checked', (-> !@checked)) items.slice(startId+1, endId).find('[name="bulk"]').prop('checked', (-> !@checked))
@lastChecked = e.currentTarget @lastChecked = e.currentTarget
@bulkForm.updateTicketIdsBulkForm(e)
@updateTicketIdsBulkForm()
callbackIconHeader = (headers) -> callbackIconHeader = (headers) ->
attribute = attribute =
@ -1178,7 +1176,7 @@ class Table extends App.Controller
tableArguments = tableArguments =
tableId: "ticket_overview_#{@overview.id}" tableId: "ticket_overview_#{@overview.id}"
overview: @overview.view.s overview: @convertOverviewAttributesToArray(@overview.view.s)
el: @$('.table-overview') el: @$('.table-overview')
model: App.Ticket model: App.Ticket
objects: ticketListShow objects: ticketListShow
@ -1250,10 +1248,14 @@ class Table extends App.Controller
bulkAll.prop('indeterminate', true) bulkAll.prop('indeterminate', true)
) )
updateTicketIdsBulkForm: => convertOverviewAttributesToArray: (overviewAttributes) ->
items = $('.content.active .table-overview .table').find('[name="bulk"]:checked') # Ensure that the given attributes for the overview is an array,
ticket_ids = _.map(items, (el) -> $(el).val() ) # otherwise some data might not be displayed.
@bulkForm.el.find('input[name=ticket_ids]').val(ticket_ids.join(',')).trigger('change') # For more details, see https://github.com/zammad/zammad/issues/3943.
if !Array.isArray(overviewAttributes)
overviewAttributes = [overviewAttributes]
overviewAttributes
renderCustomerNotTicketExistIfNeeded: (ticketListShow) => renderCustomerNotTicketExistIfNeeded: (ticketListShow) =>
user = App.User.current() user = App.User.current()

View file

@ -50,6 +50,9 @@ class User extends App.ControllerSubContent
@delay(@search, 220, 'search') @delay(@search, 220, 'search')
) )
# App.User.subscribe will clear model data so we use controllerBind (#4040)
@controllerBind('User:create User:update User:touch User:destroy', => @delay(@search, 220, 'search'))
# show last 20 users # show last 20 users
@search() @search()
@ -182,9 +185,6 @@ class User extends App.ControllerSubContent
'click': edit 'click': edit
) )
if !@subscribeId
@subscribeId = App.User.subscribe(=> @delay(@search, 220, 'search'))
search: => search: =>
role_ids = [] role_ids = []
@$('.tab.active').each( (i,d) -> @$('.tab.active').each( (i,d) ->
@ -242,8 +242,4 @@ class User extends App.ControllerSubContent
container: @el.closest('.content') container: @el.closest('.content')
) )
release: =>
if @subscribeId
App.User.unsubscribe(@subscribeId)
App.Config.set( 'User', { prio: 1000, name: __('Users'), parent: '#manage', target: '#manage/users', controller: User, permission: ['admin.user'] }, 'NavBarAdmin' ) App.Config.set( 'User', { prio: 1000, name: __('Users'), parent: '#manage', target: '#manage/users', controller: User, permission: ['admin.user'] }, 'NavBarAdmin' )

View file

@ -57,7 +57,7 @@ class App.WidgetTag extends App.Controller
source = "#{App.Config.get('api_path')}/tag_search" source = "#{App.Config.get('api_path')}/tag_search"
@$('.js-newTagInput').autocomplete( @$('.js-newTagInput').autocomplete(
source: source source: source
minLength: 1 minLength: 0
response: (e, ui) => response: (e, ui) =>
return if !ui return if !ui
return if !ui.content return if !ui.content

View file

@ -243,3 +243,8 @@ class App.TicketBulkForm extends App.Controller
@render() @render()
@hide() @hide()
) )
updateTicketIdsBulkForm: (e) ->
items = $(e.target).closest('table').find('input[name="bulk"]:checked')
ticket_ids = _.map(items, (el) -> $(el).val() )
@el.find('input[name=ticket_ids]').val(ticket_ids.join(',')).trigger('change')

View file

@ -13,7 +13,9 @@ class KnowledgeBase::Public::AnswersController < KnowledgeBase::Public::BaseCont
private private
def render_alternative def render_alternative
@alternative = find_answer @knowledge_base.answers.eager_load(translations: :kb_locale), params[:answer], locale: false answers = @knowledge_base.answers.where(category: params[:category]).eager_load(translations: :kb_locale)
@alternative = find_answer(answers, params[:answer], locale: false)
raise ActiveRecord::RecordNotFound if !@alternative&.translations&.any? raise ActiveRecord::RecordNotFound if !@alternative&.translations&.any?

View file

@ -6,7 +6,8 @@ class TagsController < ApplicationController
# GET /api/v1/tag_search?term=abc # GET /api/v1/tag_search?term=abc
def search def search
list = Tag::Item.where('name_downcase LIKE ?', "%#{params[:term].strip.downcase}%").order(name: :asc).limit(params[:limit] || 10) list = get_tag_list(params[:term], params[:limit] || 10)
results = [] results = []
list.each do |item| list.each do |item|
result = { result = {
@ -95,4 +96,13 @@ class TagsController < ApplicationController
render json: {} render json: {}
end end
private
def get_tag_list(term, limit)
if term.blank?
return Tag::Item.left_outer_joins(:tags).group(:id).order('COUNT(tags.tag_item_id) DESC, name ASC').limit(limit)
end
Tag::Item.where('name_downcase LIKE ?', "%#{term.strip.downcase}%").order(name: :asc).limit(limit)
end
end end

View file

@ -9,6 +9,7 @@ class TicketOverviewsController < ApplicationController
# get attributes to update # get attributes to update
attributes_to_change = Ticket::ScreenOptions.attributes_to_change( attributes_to_change = Ticket::ScreenOptions.attributes_to_change(
view: 'ticket_overview', view: 'ticket_overview',
screen: 'overview_bulk',
current_user: current_user, current_user: current_user,
) )
render json: attributes_to_change render json: attributes_to_change

View file

@ -10,7 +10,7 @@ class TriggerWebhookJob::RecordPayload::Ticket::Article < TriggerWebhookJob::Rec
end end
def add_accounted_time(result) def add_accounted_time(result)
result['accounted_time'] = record.ticket_time_accounting&.time_unit.to_i result['accounted_time'] = record.ticket_time_accounting&.time_unit.to_f
result result
end end

View file

@ -18,7 +18,10 @@ module Channel::Filter::FollowUpCheck
# get ticket# from body # get ticket# from body
if setting.include?('body') if setting.include?('body')
ticket = Ticket::Number.check(mail[:body].html2text) body = mail[:body]
body = body.html2text if mail[:content_type] == 'text/html'
ticket = Ticket::Number.check(body)
if ticket if ticket
Rails.logger.debug { "Follow-up for '##{ticket.number}' in body." } Rails.logger.debug { "Follow-up for '##{ticket.number}' in body." }
mail[:'x-zammad-ticket-id'] = ticket.id mail[:'x-zammad-ticket-id'] = ticket.id

View file

@ -4,6 +4,10 @@ class Tag::Item < ApplicationModel
validates :name, presence: true validates :name, presence: true
before_save :fill_namedowncase before_save :fill_namedowncase
has_many :tags, foreign_key: 'tag_item_id',
inverse_of: :tag_item,
dependent: :destroy
=begin =begin
lookup by name and create tag item lookup by name and create tag item

View file

@ -69,6 +69,10 @@ module Ticket::Article::AddsMetadataEmail
elsif Setting.get('ticket_define_email_from') == 'AgentName' elsif Setting.get('ticket_define_email_from') == 'AgentName'
sender = User.find(created_by_id) sender = User.find(created_by_id)
realname = "#{sender.firstname} #{sender.lastname}" realname = "#{sender.firstname} #{sender.lastname}"
# avoid "-" as realname, see https://github.com/zammad/zammad/issues/3890
realname = email_address.realname if sender.id == 1
self.from = Channel::EmailBuild.recipient_line(realname, email_address.email) self.from = Channel::EmailBuild.recipient_line(realname, email_address.email)
else else
self.from = Channel::EmailBuild.recipient_line(email_address.realname, email_address.email) self.from = Channel::EmailBuild.recipient_line(email_address.realname, email_address.email)

View file

@ -1157,7 +1157,7 @@ raise 'At least one user need to have admin permissions'
record[column] = 1 record[column] = 1
end end
record.save! record.save!(validate: false)
rescue => e rescue => e
Rails.logger.error e Rails.logger.error e
end end

View file

@ -19,9 +19,11 @@ module User::UpdatesTicketOrganization
# update last 100 tickets of user # update last 100 tickets of user
tickets = Ticket.where(customer_id: id).limit(100) tickets = Ticket.where(customer_id: id).limit(100)
tickets.each do |ticket| tickets.each do |ticket|
if ticket.organization_id != organization_id next if ticket.organization_id == organization_id
Transaction.execute(disable_notification: true, reset_user_id: true) do
ticket.organization_id = organization_id ticket.organization_id = organization_id
ticket.save ticket.save!
end end
end end
end end

View file

@ -0,0 +1,56 @@
# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
class Issue4089FixDraftAttribute < ActiveRecord::Migration[5.0]
def change
# return if it's a new setup
return if !Setting.exists?(name: 'system_init_done')
field = ObjectManager::Attribute.find_by(name: 'shared_drafts', object_lookup_id: ObjectLookup.by_name('Group'))
if !field
add_field
return
end
field.update(editable: false)
end
def add_field
UserInfo.current_user_id = 1
ObjectManager::Attribute.add(
force: true,
object: 'Group',
name: 'shared_drafts',
display: 'Shared Drafts',
data_type: 'active',
data_option: {
null: false,
default: true,
permission: ['admin.group'],
},
editable: false,
active: true,
screens: {
create: {
'-all-' => {
null: true,
},
},
edit: {
'-all-': {
null: false,
},
},
view: {
'-all-' => {
shown: false,
},
},
},
to_create: false,
to_migrate: false,
to_delete: false,
position: 1400,
)
ObjectManager::Attribute.migration_execute
end
end

View file

@ -1824,7 +1824,7 @@ ObjectManager::Attribute.add(
default: true, default: true,
permission: ['admin.group'], permission: ['admin.group'],
}, },
editable: true, editable: false,
active: true, active: true,
screens: { screens: {
create: { create: {

View file

@ -3788,6 +3788,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "قم بتحميل وتثبيت البرنامج الإضافي للترحيل%s على مثيل%s الخاص بك." msgstr "قم بتحميل وتثبيت البرنامج الإضافي للترحيل%s على مثيل%s الخاص بك."
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "مشروع" msgstr "مشروع"
@ -6380,7 +6381,9 @@ msgstr "دقيق"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Macros" msgstr "Macros"
@ -8647,6 +8650,7 @@ msgid "Save"
msgstr "حفظ" msgstr "حفظ"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -3602,6 +3602,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "" msgstr ""
@ -6025,7 +6026,9 @@ msgstr ""
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "" msgstr ""
@ -8232,6 +8235,7 @@ msgid "Save"
msgstr "Съхраняване" msgstr "Съхраняване"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Save Draft" msgid "Save Draft"
msgstr "" msgstr ""

View file

@ -3738,6 +3738,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Koncept" msgstr "Koncept"
@ -6270,7 +6271,9 @@ msgstr "Makro"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Makra" msgstr "Makra"
@ -8534,6 +8537,7 @@ msgid "Save"
msgstr "Uložit" msgstr "Uložit"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -3708,6 +3708,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Kladde" msgstr "Kladde"
@ -6159,7 +6160,9 @@ msgstr "Makro"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Makroer" msgstr "Makroer"
@ -8404,6 +8407,7 @@ msgid "Save"
msgstr "Gem" msgstr "Gem"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zammad\n" "Project-Id-Version: zammad\n"
"POT-Creation-Date: \n" "POT-Creation-Date: \n"
"PO-Revision-Date: 2022-05-17 03:05+0000\n" "PO-Revision-Date: 2022-06-13 07:28+0000\n"
"Last-Translator: Martin Gruner <mg@zammad.com>\n" "Last-Translator: Marcel Herrguth <github@thehomeofanime.de>\n"
"Language-Team: German <https://translations.zammad.org/projects/zammad/" "Language-Team: German <https://translations.zammad.org/projects/zammad/"
"zammad-stable/de/>\n" "zammad-stable/de/>\n"
"Language: de-de\n" "Language: de-de\n"
@ -134,7 +134,7 @@ msgstr "%s-Anmeldeinformationen"
#: app/assets/javascripts/app/models/user.coffee #: app/assets/javascripts/app/models/user.coffee
msgid "%s ended switch to |%s|!" msgid "%s ended switch to |%s|!"
msgstr "%s beendete sein Sitzung von |%s|!" msgstr "%s hat die Übernahme von |%s| beendet!"
#: app/assets/javascripts/app/views/integration/exchange_last_import.jst.eco #: app/assets/javascripts/app/views/integration/exchange_last_import.jst.eco
#: app/assets/javascripts/app/views/integration/exchange_summary.jst.eco #: app/assets/javascripts/app/views/integration/exchange_summary.jst.eco
@ -183,7 +183,7 @@ msgstr "%s meiner Tickets sind derzeit in Bearbeitung."
#: 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 "%s meiner Tickets sind Eskaliert." msgstr "%s meiner Tickets sind eskaliert."
#: 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"
@ -203,7 +203,7 @@ msgstr "%s wird benötigt!"
#: app/assets/javascripts/app/models/user.coffee #: app/assets/javascripts/app/models/user.coffee
msgid "%s started a new session" msgid "%s started a new session"
msgstr "%s startet eine neue Sitzung" msgstr "%s startete eine neue Sitzung"
#: 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
@ -251,7 +251,7 @@ msgstr "%s Benutzer zu %s Benutzer"
#: 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% are currently in process" msgid "%s% are currently in process"
msgstr "%s% derzeit in Bearbeitung" msgstr "%s% sind derzeit in Bearbeitung"
#: app/assets/javascripts/app/views/dashboard/stats/ticket_reopen.jst.eco #: app/assets/javascripts/app/views/dashboard/stats/ticket_reopen.jst.eco
msgid "%s% have been reopened" msgid "%s% have been reopened"
@ -661,7 +661,7 @@ msgstr "Eine Notiz hinzufügen"
#: app/assets/javascripts/app/controllers/_profile/token_access.coffee #: app/assets/javascripts/app/controllers/_profile/token_access.coffee
#: app/assets/javascripts/app/views/profile/token_access.jst.eco #: app/assets/javascripts/app/views/profile/token_access.jst.eco
msgid "Add a Personal Access Token" msgid "Add a Personal Access Token"
msgstr "Hinzufügen eines persönlichen Access Token" msgstr "Hinzufügen eines persönlichen Zugangs-Tokens"
#: app/assets/javascripts/app/views/profile/calendar_subscriptions.jst.eco #: app/assets/javascripts/app/views/profile/calendar_subscriptions.jst.eco
msgid "Add alarm to pending reminder and escalated tickets." msgid "Add alarm to pending reminder and escalated tickets."
@ -801,7 +801,7 @@ msgstr "Erlauben Sie die Verwendung von E-Mail-Adressen für mehrere Benutzer."
#: app/assets/javascripts/app/models/chat.coffee #: app/assets/javascripts/app/models/chat.coffee
msgid "Allow websites (separated by ;)" msgid "Allow websites (separated by ;)"
msgstr "Erlaubte Webseiten (separiert durch ;)" msgstr "Erlaubte Webseiten (getrennt mit ;)"
#: app/assets/javascripts/app/views/profile/notification.jst.eco #: app/assets/javascripts/app/views/profile/notification.jst.eco
msgid "Also notify via email" msgid "Also notify via email"
@ -838,7 +838,7 @@ msgstr "Es ist ein Fehler aufgetreten: %s"
#: app/assets/javascripts/app/controllers/_integration/monit.coffee #: app/assets/javascripts/app/controllers/_integration/monit.coffee
#: app/assets/javascripts/app/controllers/_integration/nagios.coffee #: app/assets/javascripts/app/controllers/_integration/nagios.coffee
msgid "An open-source monitoring tool." msgid "An open-source monitoring tool."
msgstr "Ein Open Source Monitoring Tool." msgstr "Ein Open Source Monitoring-Werkzeug."
#: app/assets/javascripts/app/views/integration/exchange_wizard.jst.eco #: app/assets/javascripts/app/views/integration/exchange_wizard.jst.eco
#: app/assets/javascripts/app/views/integration/ldap_wizard.jst.eco #: app/assets/javascripts/app/views/integration/ldap_wizard.jst.eco
@ -1323,7 +1323,7 @@ msgstr "Caller-IDs basierend auf der Caller-ID des Senders blockieren."
#: app/assets/javascripts/app/models/chat.coffee #: app/assets/javascripts/app/models/chat.coffee
msgid "Blocked IPs (separated by ;)" msgid "Blocked IPs (separated by ;)"
msgstr "Blockierte IP (getrennt mit ;)" msgstr "Blockierte IPs (getrennt mit ;)"
#: app/assets/javascripts/app/models/chat.coffee #: app/assets/javascripts/app/models/chat.coffee
msgid "Blocked countries" msgid "Blocked countries"
@ -2030,7 +2030,7 @@ msgstr "Verfassen Sie Ihre Nachricht…"
#: app/assets/javascripts/app/models/job.coffee #: app/assets/javascripts/app/models/job.coffee
#: app/assets/javascripts/app/models/trigger.coffee #: app/assets/javascripts/app/models/trigger.coffee
msgid "Conditions for affected objects" msgid "Conditions for affected objects"
msgstr "Bedingung für zu verarbeitende Objekte" msgstr "Bedingungen für zu verarbeitende Objekte"
#: app/assets/javascripts/app/models/overview.coffee #: app/assets/javascripts/app/models/overview.coffee
msgid "Conditions for shown Tickets" msgid "Conditions for shown Tickets"
@ -2744,7 +2744,7 @@ msgstr "Definieren Sie die maximale Payloadgröße für Elasticsearch."
#: db/seeds/settings.rb #: db/seeds/settings.rb
msgid "Define pipeline name for Elasticsearch." msgid "Define pipeline name for Elasticsearch."
msgstr "Definieren Sie den Pipelinenamen für Elasticsearch." msgstr "Definieren Sie den Pipeline-Namen für Elasticsearch."
#: db/seeds/settings.rb #: db/seeds/settings.rb
msgid "" msgid ""
@ -2826,8 +2826,7 @@ msgstr ""
#: db/seeds/settings.rb #: db/seeds/settings.rb
msgid "Defines Zendesk endpoint authentication user." msgid "Defines Zendesk endpoint authentication user."
msgstr "" msgstr "Definiert den Benutzernamen für die Zendesk-Endpunkt-Authentifizierung."
"Definiert den Benutzernamen für die Zendesk-Endpunkt-Authentifizierung."
#: db/seeds/settings.rb #: db/seeds/settings.rb
msgid "" msgid ""
@ -3582,7 +3581,7 @@ msgstr "Lösche zuerst alle vorhandenen Datensätze."
#: db/seeds/schedulers.rb #: db/seeds/schedulers.rb
msgid "Delete obsolete classic IMAP backup." msgid "Delete obsolete classic IMAP backup."
msgstr "Lösche obsoletes klassische IMAP-Sicherung." msgstr "Lösche obsolete klassische IMAP-Sicherung."
#: db/seeds/schedulers.rb #: db/seeds/schedulers.rb
msgid "Delete old 'RecentView' entries." msgid "Delete old 'RecentView' entries."
@ -3590,7 +3589,7 @@ msgstr "Bereinigung alter 'RecentView'-Einträge."
#: db/seeds/schedulers.rb #: db/seeds/schedulers.rb
msgid "Delete old activity stream entries." msgid "Delete old activity stream entries."
msgstr "Lösche alte Aktivitätenstream-Einträge." msgstr "Lösche alte Einträge im Aktivitäts-Verlauf."
#: db/seeds/schedulers.rb #: db/seeds/schedulers.rb
msgid "Delete old online notification entries." msgid "Delete old online notification entries."
@ -3836,6 +3835,7 @@ msgstr ""
"%s Instanz." "%s Instanz."
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Entwurf" msgstr "Entwurf"
@ -4318,7 +4318,7 @@ msgstr "Person oder Organisation/Firma eingeben"
#: app/assets/javascripts/app/views/integration/smime_private_key_add.jst.eco #: app/assets/javascripts/app/views/integration/smime_private_key_add.jst.eco
msgid "Enter Private Key Secret" msgid "Enter Private Key Secret"
msgstr "Privaten Schlüssel eingeben" msgstr "Passwort für privaten Schlüssel eingeben"
#: app/assets/javascripts/app/views/ticket_zoom/title.jst.eco #: app/assets/javascripts/app/views/ticket_zoom/title.jst.eco
msgid "Enter Title…" msgid "Enter Title…"
@ -4421,7 +4421,7 @@ msgstr "Eskalation am (Schließzeit)"
#: app/assets/javascripts/app/models/ticket.coffee #: app/assets/javascripts/app/models/ticket.coffee
msgid "Escalation at (First Response Time)" msgid "Escalation at (First Response Time)"
msgstr "Eskalation am (Reaktionszeit)" msgstr "Eskalation am (Erste Reaktionszeit)"
#: app/assets/javascripts/app/models/ticket.coffee #: app/assets/javascripts/app/models/ticket.coffee
msgid "Escalation at (Update Time)" msgid "Escalation at (Update Time)"
@ -6359,7 +6359,7 @@ msgstr "Lokation einer externen chat.css-Datei."
#: app/assets/javascripts/app/views/login.jst.eco #: app/assets/javascripts/app/views/login.jst.eco
msgid "Log in to %s" msgid "Log in to %s"
msgstr "Mit %s anmelden" msgstr "Bei %s anmelden"
#: app/assets/javascripts/app/models/user.coffee #: app/assets/javascripts/app/models/user.coffee
#: app/assets/javascripts/app/views/maintenance.jst.eco #: app/assets/javascripts/app/views/maintenance.jst.eco
@ -6400,7 +6400,9 @@ msgstr "Makro"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "Die Makro-Gruppenbeschränkungen gelten nicht für alle Tickets" msgstr "Die Makro-Gruppenbeschränkungen gelten nicht für alle Tickets"
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Makros" msgstr "Makros"
@ -6462,7 +6464,7 @@ msgstr ""
#: app/views/mailer/application.html.erb #: app/views/mailer/application.html.erb
msgid "Manage your notification settings" msgid "Manage your notification settings"
msgstr "Benachrichtigungseinstellungen verwalten" msgstr "Benachrichtigungs-Einstellungen verwalten"
#: app/assets/javascripts/app/views/api.jst.eco #: app/assets/javascripts/app/views/api.jst.eco
#: app/assets/javascripts/app/views/calendar/index.jst.eco #: app/assets/javascripts/app/views/calendar/index.jst.eco
@ -8638,6 +8640,7 @@ msgid "Save"
msgstr "Speichern" msgstr "Speichern"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Save Draft" msgid "Save Draft"
msgstr "Entwurf speichern" msgstr "Entwurf speichern"
@ -9474,7 +9477,7 @@ msgstr "System"
#: db/seeds/settings.rb #: db/seeds/settings.rb
msgid "System Address Display Name" msgid "System Address Display Name"
msgstr "System-Anzeigename" msgstr "Anzeigename für System-Adresse"
#: db/seeds/settings.rb #: db/seeds/settings.rb
msgid "System Init Done" msgid "System Init Done"
@ -12815,7 +12818,7 @@ msgstr ""
#: app/assets/javascripts/app/views/settings/ticket_hook_position.jst.eco #: app/assets/javascripts/app/views/settings/ticket_hook_position.jst.eco
msgid "|Left| means |[Ticket#12345] Some Subject|" msgid "|Left| means |[Ticket#12345] Some Subject|"
msgstr "|link| bedeutet |[Ticket#12345] Some Ein Betreff |" msgstr "|links| bedeutet |[Ticket#12345] Ein Betreff |"
#: app/assets/javascripts/app/views/settings/ticket_hook_position.jst.eco #: app/assets/javascripts/app/views/settings/ticket_hook_position.jst.eco
msgid "" msgid ""
@ -12823,9 +12826,9 @@ msgid ""
"should enable \"postmaster___follow___up___search___in\" to recognize follow-" "should enable \"postmaster___follow___up___search___in\" to recognize follow-"
"ups based on email headers and/or body." "ups based on email headers and/or body."
msgstr "" msgstr ""
"|kein| bedeutet |Ein Betreff| (ohne Ticketnummer). In diesen Fall sollte die " "|keine| bedeutet |Ein Betreff| (ohne Ticketnummer). In diesen Fall sollte "
"Einstellung \"postmaster___follow___up___search___in\" aktiviert werden um " "die Einstellung \"postmaster___follow___up___search___in\" aktiviert werden "
"Nachfragen anhand der E-Mail-Kopfzeilen und/oder des E-Mail-Textes zu " "um Nachfragen anhand der E-Mail-Kopfzeilen und/oder des E-Mail-Textes zu "
"erkennen." "erkennen."
#: app/assets/javascripts/app/views/settings/ticket_hook_position.jst.eco #: app/assets/javascripts/app/views/settings/ticket_hook_position.jst.eco

View file

@ -3832,6 +3832,7 @@ msgstr ""
"Kατεβάστε και εγκαταστήστε την προσθήκη μετεγκατάστασης στην περίπτωσή σας" "Kατεβάστε και εγκαταστήστε την προσθήκη μετεγκατάστασης στην περίπτωσή σας"
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Πρόχειρο" msgstr "Πρόχειρο"
@ -6468,7 +6469,9 @@ msgstr "Μακροεντολή"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Μακροεντολές" msgstr "Μακροεντολές"
@ -8744,6 +8747,7 @@ msgid "Save"
msgstr "Αποθήκευση" msgstr "Αποθήκευση"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -3538,6 +3538,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "" msgstr ""
@ -5943,7 +5944,9 @@ msgstr ""
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "" msgstr ""
@ -8138,6 +8141,7 @@ msgid "Save"
msgstr "" msgstr ""
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Save Draft" msgid "Save Draft"
msgstr "" msgstr ""

View file

@ -3538,6 +3538,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "" msgstr ""
@ -5943,7 +5944,9 @@ msgstr ""
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "" msgstr ""
@ -8138,6 +8141,7 @@ msgid "Save"
msgstr "" msgstr ""
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Save Draft" msgid "Save Draft"
msgstr "" msgstr ""

View file

@ -3783,6 +3783,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "Descarrega i instala el Plugin de migració %s a la teva instancia %s" msgstr "Descarrega i instala el Plugin de migració %s a la teva instancia %s"
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Esborrany" msgstr "Esborrany"
@ -6383,7 +6384,9 @@ msgstr "Macro"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Macro" msgstr "Macro"
@ -8651,6 +8654,7 @@ msgid "Save"
msgstr "Guardar" msgstr "Guardar"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -3835,6 +3835,7 @@ msgstr ""
"Descargue e instale el complemento de migración de %s en su instancia de %s." "Descargue e instale el complemento de migración de %s en su instancia de %s."
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Borrador" msgstr "Borrador"
@ -6403,7 +6404,9 @@ msgstr "Macro"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "Las restricciones de macrogrupos no cubren todos los boletos" msgstr "Las restricciones de macrogrupos no cubren todos los boletos"
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "macros" msgstr "macros"
@ -8639,6 +8642,7 @@ msgid "Save"
msgstr "Guardar" msgstr "Guardar"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Save Draft" msgid "Save Draft"
msgstr "Guardar borrador" msgstr "Guardar borrador"

View file

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zammad\n" "Project-Id-Version: zammad\n"
"POT-Creation-Date: \n" "POT-Creation-Date: \n"
"PO-Revision-Date: 2022-05-13 11:42+0000\n" "PO-Revision-Date: 2022-05-26 03:31+0000\n"
"Last-Translator: ait0rn00b <ait0rn00b@protonmail.com>\n" "Last-Translator: Arturo <r2r0@posteo.de>\n"
"Language-Team: Spanish <https://translations.zammad.org/projects/zammad/" "Language-Team: Spanish <https://translations.zammad.org/projects/zammad/"
"zammad-stable/es/>\n" "zammad-stable/es/>\n"
"Language: es-es\n" "Language: es-es\n"
@ -1411,6 +1411,10 @@ msgid ""
"Zammad can support your agents by opening either a new ticket dialogue or " "Zammad can support your agents by opening either a new ticket dialogue or "
"the user profile upon picking up a new call." "the user profile upon picking up a new call."
msgstr "" msgstr ""
"Por medio de la asignación de los usuarios SIP de Placetel de sus agentes a "
"sus cuentas de usuario en Zammad, Zammad puede apoyar a sus agentes abriendo "
"un nuevo diálogo de ticket o el perfil de usuario al atender una nueva "
"llamada."
#: app/assets/javascripts/app/views/integration/sipgate.jst.eco #: app/assets/javascripts/app/views/integration/sipgate.jst.eco
msgid "" msgid ""
@ -3763,6 +3767,7 @@ msgstr ""
"Descargue e instale el Plugin de migración de %s en su instancia de %s." "Descargue e instale el Plugin de migración de %s en su instancia de %s."
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Borrador" msgstr "Borrador"
@ -6392,7 +6397,9 @@ msgstr "Macro"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Macros" msgstr "Macros"
@ -8669,6 +8676,7 @@ msgid "Save"
msgstr "Guardar" msgstr "Guardar"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -3687,6 +3687,7 @@ msgstr ""
"Descargue e instale el complemento de migración de %s en su instancia de %s." "Descargue e instale el complemento de migración de %s en su instancia de %s."
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Sequía" msgstr "Sequía"
@ -6199,7 +6200,9 @@ msgstr "Macro"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Macros" msgstr "Macros"
@ -8405,6 +8408,7 @@ msgid "Save"
msgstr "Guardar" msgstr "Guardar"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Save Draft" msgid "Save Draft"
msgstr "Guardar borrador" msgstr "Guardar borrador"

View file

@ -3546,6 +3546,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Mustand" msgstr "Mustand"
@ -5965,7 +5966,9 @@ msgstr "Makro"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Makrod" msgstr "Makrod"
@ -8164,6 +8167,7 @@ msgid "Save"
msgstr "Salvesta" msgstr "Salvesta"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Save Draft" msgid "Save Draft"
msgstr "Salvesta Mustand" msgstr "Salvesta Mustand"

View file

@ -3551,6 +3551,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "پیش‌نویس" msgstr "پیش‌نویس"
@ -5984,7 +5985,9 @@ msgstr "ماکرو"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "ماکروها" msgstr "ماکروها"
@ -8182,6 +8185,7 @@ msgid "Save"
msgstr "ذخیره" msgstr "ذخیره"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Save Draft" msgid "Save Draft"
msgstr "ذخیره پیش‌نویس" msgstr "ذخیره پیش‌نویس"

View file

@ -3677,6 +3677,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Luonnos" msgstr "Luonnos"
@ -6129,7 +6130,9 @@ msgstr "Macro"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Macros" msgstr "Macros"
@ -8390,6 +8393,7 @@ msgid "Save"
msgstr "Tallenna" msgstr "Tallenna"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -3800,6 +3800,7 @@ msgstr ""
"Téléchargez et installez le greffon de migration %s sur votre instance %s." "Téléchargez et installez le greffon de migration %s sur votre instance %s."
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Brouillon" msgstr "Brouillon"
@ -6417,7 +6418,9 @@ msgstr "Macro"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Macros" msgstr "Macros"
@ -8690,6 +8693,7 @@ msgid "Save"
msgstr "Sauvegarder" msgstr "Sauvegarder"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zammad\n" "Project-Id-Version: zammad\n"
"POT-Creation-Date: \n" "POT-Creation-Date: \n"
"PO-Revision-Date: 2022-04-29 05:45+0000\n" "PO-Revision-Date: 2022-06-01 03:30+0000\n"
"Last-Translator: Ludovic <l.kennel@3magroup.com>\n" "Last-Translator: Guillaume Lasserre <guillaume.lasserre@clirisgroup.com>\n"
"Language-Team: French <https://translations.zammad.org/projects/zammad/" "Language-Team: French <https://translations.zammad.org/projects/zammad/"
"zammad-stable/fr/>\n" "zammad-stable/fr/>\n"
"Language: fr-fr\n" "Language: fr-fr\n"
@ -11,7 +11,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n" "Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.12\n" "X-Generator: Weblate 4.12.1\n"
#. Default date format to use for the current locale. #. Default date format to use for the current locale.
#. These placeholders are supported: #. These placeholders are supported:
@ -1034,10 +1034,8 @@ msgstr "Affecter un temps d'attente maximal"
#: app/assets/javascripts/app/models/_application_model.coffee #: app/assets/javascripts/app/models/_application_model.coffee
#: app/assets/javascripts/app/models/group.coffee #: app/assets/javascripts/app/models/group.coffee
#, fuzzy
#| msgid "Assignment Timeout"
msgid "Assignment timeout" msgid "Assignment timeout"
msgstr "Affecter un temps d'attente maximal" msgstr "Délai dexpiration de laffectation"
#: app/assets/javascripts/app/models/group.coffee #: app/assets/javascripts/app/models/group.coffee
#: db/seeds/object_manager_attributes.rb #: db/seeds/object_manager_attributes.rb
@ -1803,10 +1801,8 @@ msgid "Check 'Channel' streams."
msgstr "Connecter des canaux" msgstr "Connecter des canaux"
#: db/seeds/schedulers.rb #: db/seeds/schedulers.rb
#, fuzzy
#| msgid "Connect Channels"
msgid "Check channels." msgid "Check channels."
msgstr "Connecter des canaux" msgstr "Vérifier les canaux"
#: lib/search_index_backend.rb #: lib/search_index_backend.rb
msgid "Check the response and payload for detailed information:" msgid "Check the response and payload for detailed information:"
@ -3603,9 +3599,8 @@ msgid "Delete obsolete classic IMAP backup."
msgstr "Supprimer les configurations IMAP classiques de secours obsolètes." msgstr "Supprimer les configurations IMAP classiques de secours obsolètes."
#: db/seeds/schedulers.rb #: db/seeds/schedulers.rb
#, fuzzy
msgid "Delete old 'RecentView' entries." msgid "Delete old 'RecentView' entries."
msgstr "Supprimer les anciennes entrées de \"VueRécente\"." msgstr "Supprimer les anciennes entrées de \"RecentView\"."
#: db/seeds/schedulers.rb #: db/seeds/schedulers.rb
msgid "Delete old activity stream entries." msgid "Delete old activity stream entries."
@ -3853,6 +3848,7 @@ msgstr ""
"Télécharger et installer le Plugin de Migration %s pour votre instance %s." "Télécharger et installer le Plugin de Migration %s pour votre instance %s."
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Brouillon" msgstr "Brouillon"
@ -4581,10 +4577,9 @@ msgid "Extended Search"
msgstr "Recherche étendue" msgstr "Recherche étendue"
#: lib/search_index_backend.rb #: lib/search_index_backend.rb
#, fuzzy
msgid "Extract zammad-attachment information from arrays" msgid "Extract zammad-attachment information from arrays"
msgstr "" msgstr ""
"Extraire les informations des pièces-jointes de zammad depuis des tableaux" "Extraire les informations des pièces jointes de Zammad depuis des tableaux"
#: app/assets/javascripts/app/controllers/_channel/facebook.coffee #: app/assets/javascripts/app/controllers/_channel/facebook.coffee
#: app/assets/javascripts/app/controllers/_profile/linked_accounts.coffee #: app/assets/javascripts/app/controllers/_profile/linked_accounts.coffee
@ -4613,9 +4608,8 @@ msgstr "Impossible de trouver la sauvegarde sur le canal !"
#: app/assets/javascripts/app/controllers/_channel/google.coffee #: app/assets/javascripts/app/controllers/_channel/google.coffee
#: app/assets/javascripts/app/controllers/_channel/microsoft365.coffee #: app/assets/javascripts/app/controllers/_channel/microsoft365.coffee
#, fuzzy
msgid "Failed to roll back the migration of the channel!" msgid "Failed to roll back the migration of the channel!"
msgstr "L'annulation de la migration du canal a échoué!" msgstr "L'annulation de la migration du canal a échoué !"
#: app/assets/javascripts/app/controllers/user_profile.coffee #: app/assets/javascripts/app/controllers/user_profile.coffee
#, fuzzy #, fuzzy
@ -6507,7 +6501,9 @@ msgstr ""
"Les restrictions concernant les groupes macro ne couvrent pas tous les " "Les restrictions concernant les groupes macro ne couvrent pas tous les "
"tickets" "tickets"
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Macros" msgstr "Macros"
@ -8776,6 +8772,7 @@ msgid "Save"
msgstr "Sauver" msgstr "Sauver"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -3728,6 +3728,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "הורד והתקן את הפלאגין %s Migration במקרה של מופע %s." msgstr "הורד והתקן את הפלאגין %s Migration במקרה של מופע %s."
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "טיוטה" msgstr "טיוטה"
@ -6242,7 +6243,9 @@ msgstr "מאקרו"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "מקרו" msgstr "מקרו"
@ -8503,6 +8506,7 @@ msgid "Save"
msgstr "שמור" msgstr "שמור"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -3638,6 +3638,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "अपने% s उदाहरण पर% s माइग्रेशन प्लगइन डाउनलोड और इंस्टॉल करें" msgstr "अपने% s उदाहरण पर% s माइग्रेशन प्लगइन डाउनलोड और इंस्टॉल करें"
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "प्रारूप" msgstr "प्रारूप"
@ -6077,7 +6078,9 @@ msgstr "Macro"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Macros" msgstr "Macros"
@ -8328,6 +8331,7 @@ msgid "Save"
msgstr "सुरक्षित करे" msgstr "सुरक्षित करे"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -3605,6 +3605,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "" msgstr ""
@ -6048,7 +6049,9 @@ msgstr ""
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Macros" msgstr "Macros"
@ -8273,6 +8276,7 @@ msgid "Save"
msgstr "Spremi" msgstr "Spremi"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Save Draft" msgid "Save Draft"
msgstr "" msgstr ""

View file

@ -3655,6 +3655,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Piszkozat" msgstr "Piszkozat"
@ -6106,7 +6107,9 @@ msgstr "Macro"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Makrók" msgstr "Makrók"
@ -8351,6 +8354,7 @@ msgid "Save"
msgstr "Mentés" msgstr "Mentés"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -3689,6 +3689,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Drög" msgstr "Drög"
@ -6220,7 +6221,9 @@ msgstr "Fjölvi"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Fjölvar" msgstr "Fjölvar"
@ -8479,6 +8482,7 @@ msgid "Save"
msgstr "Vista" msgstr "Vista"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

File diff suppressed because it is too large Load diff

View file

@ -3755,6 +3755,7 @@ msgstr ""
"い。" "い。"
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "下書き" msgstr "下書き"
@ -6302,7 +6303,9 @@ msgstr "マクロ"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "マクロ" msgstr "マクロ"
@ -8568,6 +8571,7 @@ msgid "Save"
msgstr "保存" msgstr "保存"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -3755,6 +3755,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "다운로드하여 %s 예에서 %s 마이그레이션 플러그인을 설치합니다." msgstr "다운로드하여 %s 예에서 %s 마이그레이션 플러그인을 설치합니다."
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "초안" msgstr "초안"
@ -6295,7 +6296,9 @@ msgstr "매크로"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "매크로" msgstr "매크로"
@ -8553,6 +8556,7 @@ msgid "Save"
msgstr "저장" msgstr "저장"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -3620,6 +3620,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Ruošinys" msgstr "Ruošinys"
@ -6057,7 +6058,9 @@ msgstr ""
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "" msgstr ""
@ -8290,6 +8293,7 @@ msgid "Save"
msgstr "Išsaugoti" msgstr "Išsaugoti"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -3547,6 +3547,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "" msgstr ""
@ -5960,7 +5961,9 @@ msgstr ""
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "" msgstr ""
@ -8161,6 +8164,7 @@ msgid "Save"
msgstr "Saglabāt" msgstr "Saglabāt"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Save Draft" msgid "Save Draft"
msgstr "" msgstr ""

View file

@ -3607,6 +3607,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "" msgstr ""
@ -6034,7 +6035,9 @@ msgstr ""
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Makro" msgstr "Makro"
@ -8259,6 +8262,7 @@ msgid "Save"
msgstr "Simpan" msgstr "Simpan"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Save Draft" msgid "Save Draft"
msgstr "" msgstr ""

View file

@ -3777,6 +3777,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "Download en installeer de %s Migration Plugin op uw %'s instance." msgstr "Download en installeer de %s Migration Plugin op uw %'s instance."
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Concept" msgstr "Concept"
@ -6325,7 +6326,9 @@ msgstr "Macro"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "Macrogroepsbeperkingen dekken niet alle tickets" msgstr "Macrogroepsbeperkingen dekken niet alle tickets"
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Macro's" msgstr "Macro's"
@ -8556,6 +8559,7 @@ msgid "Save"
msgstr "Opslaan" msgstr "Opslaan"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Save Draft" msgid "Save Draft"
msgstr "Concept opslaan" msgstr "Concept opslaan"

View file

@ -3800,6 +3800,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "Download and install the %s Migration Plugin on your %s instance." msgstr "Download and install the %s Migration Plugin on your %s instance."
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Utkast" msgstr "Utkast"
@ -6399,7 +6400,9 @@ msgstr "Makro"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Makroer" msgstr "Makroer"
@ -8665,6 +8668,7 @@ msgid "Save"
msgstr "Lagre" msgstr "Lagre"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

File diff suppressed because it is too large Load diff

View file

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zammad\n" "Project-Id-Version: zammad\n"
"POT-Creation-Date: \n" "POT-Creation-Date: \n"
"PO-Revision-Date: 2022-04-28 03:30+0000\n" "PO-Revision-Date: 2022-06-01 03:30+0000\n"
"Last-Translator: Victor Cezario <victorhcezario@gmail.com>\n" "Last-Translator: Danniel Macedo <djsmacedo@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://translations.zammad.org/projects/" "Language-Team: Portuguese (Brazil) <https://translations.zammad.org/projects/"
"zammad/zammad-stable/pt_BR/>\n" "zammad/zammad-stable/pt_BR/>\n"
"Language: pt-br\n" "Language: pt-br\n"
@ -11,7 +11,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n" "Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.12\n" "X-Generator: Weblate 4.12.1\n"
#. Default date format to use for the current locale. #. Default date format to use for the current locale.
#. These placeholders are supported: #. These placeholders are supported:
@ -372,6 +372,16 @@ msgid ""
"If you have customers with different business hours, you can create multiple " "If you have customers with different business hours, you can create multiple "
"calendars. Tickets are linked to calendars using **SLAs**." "calendars. Tickets are linked to calendars using **SLAs**."
msgstr "" msgstr ""
"Um **calendário** é necessário para calcular os encaminhamentos com base no "
"horário comercial e enviar notificações de encaminhamento.\n"
"\n"
"Defina um calendário **\"padrão\"** válido em todo o sistema. As "
"notificações de escalação só serão enviadas aos seus agentes durante o "
"horário comercial definido.\n"
"\n"
"Se você tiver clientes com horários comerciais diferentes, poderá criar "
"vários calendários. Os ingressos são vinculados a calendários usando "
"**SLAs**."
#: app/controllers/getting_started_controller.rb #: app/controllers/getting_started_controller.rb
msgid "A URL looks like this: https://zammad.example.com" msgid "A URL looks like this: https://zammad.example.com"
@ -910,7 +920,7 @@ msgstr "Aplicar"
#: app/assets/javascripts/app/views/ticket_shared_draft_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_modal.coffee
msgid "Apply Shared Draft" msgid "Apply Shared Draft"
msgstr "" msgstr "Aplicar Rascunho Compartilhado"
#: app/assets/javascripts/app/controllers/_ui_element/basedate.coffee #: app/assets/javascripts/app/controllers/_ui_element/basedate.coffee
#: app/assets/javascripts/app/controllers/report.coffee #: app/assets/javascripts/app/controllers/report.coffee
@ -3673,6 +3683,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "Baixe e instale o %s Plugins de Migração em sua %s instância %s." msgstr "Baixe e instale o %s Plugins de Migração em sua %s instância %s."
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Esboço" msgstr "Esboço"
@ -6181,7 +6192,9 @@ msgstr "Macro"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Macros" msgstr "Macros"
@ -8405,6 +8418,7 @@ msgid "Save"
msgstr "Salvar" msgstr "Salvar"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -3805,6 +3805,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "Baixe e instale o Plugin de Migração% s na sua instância% s." msgstr "Baixe e instale o Plugin de Migração% s na sua instância% s."
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Rascunho" msgstr "Rascunho"
@ -6432,7 +6433,9 @@ msgstr "Macro"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Macros" msgstr "Macros"
@ -8708,6 +8711,7 @@ msgid "Save"
msgstr "Guardar" msgstr "Guardar"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -3771,6 +3771,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "Descărcați și instalați pluginul de migrare %s pe instanța %s." msgstr "Descărcați și instalați pluginul de migrare %s pe instanța %s."
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "" msgstr ""
@ -6331,7 +6332,9 @@ msgstr "Macro"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Macros" msgstr "Macros"
@ -8596,6 +8599,7 @@ msgid "Save"
msgstr "Salvează" msgstr "Salvează"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Save Draft" msgid "Save Draft"
msgstr "" msgstr ""

View file

@ -3821,6 +3821,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "Скачайте и установите модуль переноса %s на свой экземпляр %s." msgstr "Скачайте и установите модуль переноса %s на свой экземпляр %s."
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Черновик" msgstr "Черновик"
@ -6395,7 +6396,9 @@ msgstr "Макрос"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "Ограничения группы макросов не распространяются на все заявки" msgstr "Ограничения группы макросов не распространяются на все заявки"
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Макросы" msgstr "Макросы"
@ -8635,6 +8638,7 @@ msgid "Save"
msgstr "Сохранить" msgstr "Сохранить"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Save Draft" msgid "Save Draft"
msgstr "Сохранить черновик" msgstr "Сохранить черновик"

View file

@ -3778,6 +3778,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "Shyiramo plugin %s yo kwimura muri instance %s" msgstr "Shyiramo plugin %s yo kwimura muri instance %s"
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Inyandikomushinga" msgstr "Inyandikomushinga"
@ -6368,7 +6369,9 @@ msgstr "bigari"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "bigari" msgstr "bigari"
@ -8631,6 +8634,7 @@ msgid "Save"
msgstr "bika" msgstr "bika"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -3691,6 +3691,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "" msgstr ""
@ -6153,7 +6154,9 @@ msgstr ""
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Makrá" msgstr "Makrá"
@ -8386,6 +8389,7 @@ msgid "Save"
msgstr "Ulož" msgstr "Ulož"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Save Draft" msgid "Save Draft"
msgstr "" msgstr ""

View file

@ -3759,6 +3759,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "" msgstr ""
@ -6194,7 +6195,9 @@ msgstr "Ukaz"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Ukazi" msgstr "Ukazi"
@ -8445,6 +8448,7 @@ msgid "Save"
msgstr "Shrani" msgstr "Shrani"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Save Draft" msgid "Save Draft"
msgstr "" msgstr ""

View file

@ -3750,6 +3750,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "Download and install the %s Migration Plugin on your %s instance." msgstr "Download and install the %s Migration Plugin on your %s instance."
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Draft" msgstr "Draft"
@ -6301,7 +6302,9 @@ msgstr "Makro"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Makroi" msgstr "Makroi"
@ -8562,6 +8565,7 @@ msgid "Save"
msgstr "Sačuvaj" msgstr "Sačuvaj"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: zammad\n" "Project-Id-Version: zammad\n"
"POT-Creation-Date: \n" "POT-Creation-Date: \n"
"PO-Revision-Date: 2022-05-06 03:30+0000\n" "PO-Revision-Date: 2022-06-13 07:28+0000\n"
"Last-Translator: Thomas <info@biljettshop.se>\n" "Last-Translator: Louise Forsen <louise.forsen@entryevent.se>\n"
"Language-Team: Swedish <https://translations.zammad.org/projects/zammad/" "Language-Team: Swedish <https://translations.zammad.org/projects/zammad/"
"zammad-stable/sv/>\n" "zammad-stable/sv/>\n"
"Language: sv-se\n" "Language: sv-se\n"
@ -11,7 +11,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.12\n" "X-Generator: Weblate 4.12.1\n"
#. Default date format to use for the current locale. #. Default date format to use for the current locale.
#. These placeholders are supported: #. These placeholders are supported:
@ -52,6 +52,10 @@ msgid ""
"filesystem. You can switch between the modules even on a system that is " "filesystem. You can switch between the modules even on a system that is "
"already in production without any loss of data." "already in production without any loss of data."
msgstr "" msgstr ""
"\"Databas\" lagrar alla bilagor i databasen (rekommenderas ej för lagring av "
"stora mängder data). \"Filsystem\" lagrar datan i filsystemet. Du kan växla "
"mellan modulerna utan att förlora någon data även om systemet redan är i "
"produktion."
#: 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
@ -109,28 +113,22 @@ msgid "%s created organization |%s|"
msgstr "%s skapade organisation |%s|" msgstr "%s skapade organisation |%s|"
#: app/assets/javascripts/app/models/role.coffee #: app/assets/javascripts/app/models/role.coffee
#, fuzzy
#| msgid "%s created Group |%s|"
msgid "%s created role |%s|" msgid "%s created role |%s|"
msgstr "%s skapade Grupp |%s| " msgstr "%s skapade grupp |%s|"
#: app/assets/javascripts/app/models/ticket.coffee #: app/assets/javascripts/app/models/ticket.coffee
#, fuzzy
#| msgid "%s created Ticket |%s|"
msgid "%s created ticket |%s|" msgid "%s created ticket |%s|"
msgstr "%s skapade Ärende |%s| " msgstr "%s skapade ärende |%s|"
#: app/assets/javascripts/app/models/user.coffee #: app/assets/javascripts/app/models/user.coffee
#, fuzzy
#| msgid "%s created User |%s|"
msgid "%s created user |%s|" msgid "%s created user |%s|"
msgstr "%s skapade Användare |%s|" msgstr "%s skapade användare |%s|"
#: 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
msgid "%s credentials" msgid "%s credentials"
msgstr "%s uppgifter " msgstr "%s uppgifter"
#: app/assets/javascripts/app/models/user.coffee #: app/assets/javascripts/app/models/user.coffee
msgid "%s ended switch to |%s|!" msgid "%s ended switch to |%s|!"
@ -139,7 +137,7 @@ msgstr "%s slutförde byte till |%s|!"
#: app/assets/javascripts/app/views/integration/exchange_last_import.jst.eco #: app/assets/javascripts/app/views/integration/exchange_last_import.jst.eco
#: app/assets/javascripts/app/views/integration/exchange_summary.jst.eco #: app/assets/javascripts/app/views/integration/exchange_summary.jst.eco
msgid "%s folders" msgid "%s folders"
msgstr "" msgstr "%s mappar"
#: app/assets/javascripts/app/views/integration/ldap_last_import.jst.eco #: app/assets/javascripts/app/views/integration/ldap_last_import.jst.eco
#: app/assets/javascripts/app/views/integration/ldap_summary.jst.eco #: app/assets/javascripts/app/views/integration/ldap_summary.jst.eco
@ -151,49 +149,35 @@ msgstr "%s grupper till %s roll-tilldelningar"
#: 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 an active one." msgid "%s is inactive, please select an active one."
msgstr "" msgstr "%s är inaktiv, välj en aktiv."
#: app/assets/javascripts/app/views/generic/object_import/imported.jst.eco #: app/assets/javascripts/app/views/generic/object_import/imported.jst.eco
#, fuzzy
#| msgid "%s Object(s) have been created."
msgid "%s object(s) have been created." msgid "%s object(s) have been created."
msgstr "%s Objekt har skapats." msgstr "%s objekt har skapats."
#: app/assets/javascripts/app/views/generic/object_import/imported.jst.eco #: app/assets/javascripts/app/views/generic/object_import/imported.jst.eco
#, fuzzy
#| msgid "%s Object(s) have been updated."
msgid "%s object(s) have been updated." msgid "%s object(s) have been updated."
msgstr "%s Objekt uppdaterades." msgstr "%s objekt uppdaterades."
#: app/assets/javascripts/app/views/generic/object_import/imported.jst.eco #: app/assets/javascripts/app/views/generic/object_import/imported.jst.eco
#, fuzzy
#| msgid "%s Object(s) were deleted."
msgid "%s object(s) were deleted." msgid "%s object(s) were deleted."
msgstr "%s Objekt raderades." msgstr "%s objekt raderades."
#: app/assets/javascripts/app/views/generic/object_import/import_try.jst.eco #: app/assets/javascripts/app/views/generic/object_import/import_try.jst.eco
#, fuzzy
#| msgid "%s Object(s) are created."
msgid "%s object(s) will be created." msgid "%s object(s) will be created."
msgstr "%s Objekt har skapats." msgstr "%s objekt kommer att skapas."
#: app/assets/javascripts/app/views/generic/object_import/import_try.jst.eco #: app/assets/javascripts/app/views/generic/object_import/import_try.jst.eco
#, fuzzy
#| msgid "%s Object(s) were deleted."
msgid "%s object(s) will be deleted." msgid "%s object(s) will be deleted."
msgstr "%s Objekt raderades." msgstr "%s objekt kommer att raderas."
#: app/assets/javascripts/app/views/generic/object_import/import_try.jst.eco #: app/assets/javascripts/app/views/generic/object_import/import_try.jst.eco
#, fuzzy
#| msgid "%s Object(s) are updated."
msgid "%s object(s) will be updated." msgid "%s object(s) will be updated."
msgstr "%s Objekt är uppdaterade." msgstr "%s objekt kommer att uppdateras."
#: app/assets/javascripts/app/views/dashboard/stats/ticket_in_process.jst.eco #: app/assets/javascripts/app/views/dashboard/stats/ticket_in_process.jst.eco
#, fuzzy
#| msgid "%s of your tickets are currently in process."
msgid "%s of my tickets are currently in process." msgid "%s of my tickets are currently in process."
msgstr "%s av dina ärenden är för närvarande i bearbetning." msgstr "%s av mina ärenden är under bearbetning."
#: 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."
@ -208,6 +192,8 @@ msgid ""
"%s recommends using OAuth. %s announced it's going to drop Basic " "%s recommends using OAuth. %s announced it's going to drop Basic "
"Authentication support in the future." "Authentication support in the future."
msgstr "" msgstr ""
"%s rekommenderar att OAuth används. %s har meddelat att Basic Authentication "
"inte kommer att stödjas i framtiden."
#: app/assets/javascripts/app/controllers/agent_ticket_merge.coffee #: app/assets/javascripts/app/controllers/agent_ticket_merge.coffee
msgid "%s required!" msgid "%s required!"
@ -220,17 +206,15 @@ msgstr "%s startade en session"
#: 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
msgid "%s subdomain" msgid "%s subdomain"
msgstr "" msgstr "%s underdomän"
#: 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 "%s bytte till |%s|! " msgstr "%s bytte till |%s|!"
#: app/assets/javascripts/app/models/ticket_article.coffee #: app/assets/javascripts/app/models/ticket_article.coffee
#, fuzzy
#| msgid "%s created Article for |%s|"
msgid "%s updated article for |%s|" msgid "%s updated article for |%s|"
msgstr "%s skapade en artikel åt |%s|" msgstr "%s uppdaterade en artikel åt |%s|"
#: app/assets/javascripts/app/models/data_privacy_task.coffee #: app/assets/javascripts/app/models/data_privacy_task.coffee
#, fuzzy #, fuzzy
@ -239,16 +223,12 @@ msgid "%s updated data privacy task to delete user ID |%s|"
msgstr "%s startade GDRP-uppgiften att radera |%s|" msgstr "%s startade GDRP-uppgiften att radera |%s|"
#: app/assets/javascripts/app/models/group.coffee #: app/assets/javascripts/app/models/group.coffee
#, fuzzy
#| msgid "%s updated Group |%s|"
msgid "%s updated group |%s|" msgid "%s updated group |%s|"
msgstr "%s uppdatera Grupp |%s| " msgstr "%s uppdaterade grupp |%s|"
#: app/assets/javascripts/app/models/organization.coffee #: app/assets/javascripts/app/models/organization.coffee
#, fuzzy
#| msgid "%s updated Organization |%s|"
msgid "%s updated organization |%s|" msgid "%s updated organization |%s|"
msgstr "%s uppdaterade Organisation |%s| " msgstr "%s uppdaterade organisation |%s|"
#: app/assets/javascripts/app/models/role.coffee #: app/assets/javascripts/app/models/role.coffee
#, fuzzy #, fuzzy
@ -430,7 +410,7 @@ msgstr ""
#: app/assets/javascripts/app/views/dashboard/first_steps_test_ticket_finish.jst.eco #: app/assets/javascripts/app/views/dashboard/first_steps_test_ticket_finish.jst.eco
msgid "" msgid ""
"A test ticket has been created, you can find it in your overview \"%s\" %l." "A test ticket has been created, you can find it in your overview \"%s\" %l."
msgstr "Ett testärende har skapats, du hittar det i din översikt \"%s\" %l. " msgstr "Ett testärende har skapats och du hittar det i din översikt \"%s\" %l."
#: app/assets/javascripts/app/controllers/_integration/cti.coffee #: app/assets/javascripts/app/controllers/_integration/cti.coffee
msgid "A user is required!" msgid "A user is required!"
@ -467,7 +447,7 @@ msgstr "API token"
#: db/seeds/permissions.rb #: db/seeds/permissions.rb
msgid "Access to %s" msgid "Access to %s"
msgstr "Åtkomst till %s " msgstr "Åtkomst till %s"
#: db/seeds/permissions.rb #: db/seeds/permissions.rb
msgid "Access to Agent Tickets based on Group Access" msgid "Access to Agent Tickets based on Group Access"
@ -2010,13 +1990,13 @@ msgstr ""
#: app/assets/javascripts/app/controllers/_plugin/keyboard_shortcuts.coffee #: app/assets/javascripts/app/controllers/_plugin/keyboard_shortcuts.coffee
msgid "Close current tab" msgid "Close current tab"
msgstr "Stäng nuvarande tabb" msgstr "Stäng nuvarande flik"
#: app/assets/javascripts/app/models/macro.coffee #: app/assets/javascripts/app/models/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco #: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/settings.rb #: db/seeds/settings.rb
msgid "Close tab" msgid "Close tab"
msgstr "Stäng tabb" msgstr "Stäng flik"
#: app/assets/javascripts/app/models/macro.coffee #: app/assets/javascripts/app/models/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco #: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
@ -3795,6 +3775,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "Hämta och installera %s Migrationsplugin på din %s instans." msgstr "Hämta och installera %s Migrationsplugin på din %s instans."
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Utkast" msgstr "Utkast"
@ -6331,10 +6312,8 @@ msgstr "Ladda"
#: app/assets/javascripts/app/controllers/ticket_zoom/sidebar_idoit.coffee #: app/assets/javascripts/app/controllers/ticket_zoom/sidebar_idoit.coffee
#: app/assets/javascripts/app/controllers/widget/payload_example.coffee #: app/assets/javascripts/app/controllers/widget/payload_example.coffee
#: app/assets/javascripts/app/models/knowledge_base_answer_translation.coffee #: app/assets/javascripts/app/models/knowledge_base_answer_translation.coffee
#, fuzzy
#| msgid "Loading..."
msgid "Loading failed." msgid "Loading failed."
msgstr "Laddar..." msgstr "Sidan kunde inte laddas."
#: app/assets/javascripts/app/lib/app_post/task_manager.coffee #: app/assets/javascripts/app/lib/app_post/task_manager.coffee
#: app/assets/javascripts/app/lib/base/jquery.textmodule.js #: app/assets/javascripts/app/lib/base/jquery.textmodule.js
@ -6408,7 +6387,9 @@ msgstr "Macro"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Macros" msgstr "Macros"
@ -7691,16 +7672,15 @@ msgstr "Expertinställningar"
#: app/assets/javascripts/app/views/profile/out_of_office.jst.eco #: app/assets/javascripts/app/views/profile/out_of_office.jst.eco
#: db/seeds/permissions.rb #: db/seeds/permissions.rb
msgid "Out of Office" msgid "Out of Office"
msgstr "Frånvaruhantering" msgstr "Frånvarohantering"
#: app/assets/javascripts/app/controllers/_dashboard/stats/ticket_load_measure.coffee #: app/assets/javascripts/app/controllers/_dashboard/stats/ticket_load_measure.coffee
msgid "Out of all open tickets (company-wide), how many are assigned to you?" msgid "Out of all open tickets (company-wide), how many are assigned to you?"
msgstr "" msgstr "Hur många av alla öppna ärenden i din organisation har tilldelats dig?"
"Av alla öppna ärenden (hela-företaget), hur många är tilldelade till dig?"
#: app/assets/javascripts/app/controllers/_ui_element/_application_selector.coffee #: app/assets/javascripts/app/controllers/_ui_element/_application_selector.coffee
msgid "Out of office replacement" msgid "Out of office replacement"
msgstr "Frånvaro ersättare" msgstr "Ersättare"
#: 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
@ -8680,6 +8660,7 @@ msgid "Save"
msgstr "Spara" msgstr "Spara"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"
@ -10383,11 +10364,11 @@ msgstr ""
#: app/assets/javascripts/app/controllers/ticket_link_add.coffee #: app/assets/javascripts/app/controllers/ticket_link_add.coffee
msgid "Ticket# is needed!" msgid "Ticket# is needed!"
msgstr "" msgstr "Ärendenummer behövs"
#: app/assets/javascripts/app/models/ticket_article.coffee #: app/assets/javascripts/app/models/ticket_article.coffee
msgid "TicketID" msgid "TicketID"
msgstr "" msgstr "Ärende-ID"
#: app/assets/javascripts/app/controllers/_plugin/keyboard_shortcuts.coffee #: app/assets/javascripts/app/controllers/_plugin/keyboard_shortcuts.coffee
#: app/assets/javascripts/app/controllers/widget/user.coffee #: app/assets/javascripts/app/controllers/widget/user.coffee

View file

@ -3584,6 +3584,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "" msgstr ""
@ -5991,7 +5992,9 @@ msgstr ""
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "" msgstr ""
@ -8186,6 +8189,7 @@ msgid "Save"
msgstr "" msgstr ""
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Save Draft" msgid "Save Draft"
msgstr "" msgstr ""

View file

@ -3782,6 +3782,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "Download and install the %s Migration Plugin on your %s instance." msgstr "Download and install the %s Migration Plugin on your %s instance."
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Draft" msgstr "Draft"
@ -6390,7 +6391,9 @@ msgstr "Macro"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Makrolar" msgstr "Makrolar"
@ -8666,6 +8669,7 @@ msgid "Save"
msgstr "Kaydet" msgstr "Kaydet"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -3772,6 +3772,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "Завантажте і встановіть плагін міграції %s на Вашому екземплярі %s." msgstr "Завантажте і встановіть плагін міграції %s на Вашому екземплярі %s."
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "Чернетка" msgstr "Чернетка"
@ -6350,7 +6351,9 @@ msgstr "Макрос"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "Макрос" msgstr "Макрос"
@ -8619,6 +8622,7 @@ msgid "Save"
msgstr "Зберегти" msgstr "Зберегти"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -3653,6 +3653,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "" msgstr ""
@ -6094,7 +6095,9 @@ msgstr ""
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "" msgstr ""
@ -8335,6 +8338,7 @@ msgid "Save"
msgstr "Lưu" msgstr "Lưu"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Save Draft" msgid "Save Draft"
msgstr "" msgstr ""

View file

@ -3684,6 +3684,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "在您的 s 系統上下載並安裝 s 遷移插件" msgstr "在您的 s 系統上下載並安裝 s 遷移插件"
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "草稿" msgstr "草稿"
@ -6244,7 +6245,9 @@ msgstr "宏处理"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "宏处理" msgstr "宏处理"
@ -8505,6 +8508,7 @@ msgid "Save"
msgstr "保存" msgstr "保存"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -3784,6 +3784,7 @@ msgid "Download and install the %s Migration Plugin on your %s instance."
msgstr "在您的 %s 系統上下載並安裝 %s 遷移插件。" msgstr "在您的 %s 系統上下載並安裝 %s 遷移插件。"
#: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee #: app/assets/javascripts/app/controllers/knowledge_base/content_can_be_published_form.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
msgid "Draft" msgid "Draft"
msgstr "草稿" msgstr "草稿"
@ -6355,7 +6356,9 @@ msgstr "巨集"
msgid "Macro group restrictions do not cover all tickets" msgid "Macro group restrictions do not cover all tickets"
msgstr "" msgstr ""
#: app/assets/javascripts/app/controllers/macro.coffee db/seeds/permissions.rb #: app/assets/javascripts/app/controllers/macro.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#: db/seeds/permissions.rb
msgid "Macros" msgid "Macros"
msgstr "巨集" msgstr "巨集"
@ -8620,6 +8623,7 @@ msgid "Save"
msgstr "儲存" msgstr "儲存"
#: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee #: app/assets/javascripts/app/views/ticket_shared_draft_overwrite_modal.coffee
#: app/assets/javascripts/app/views/ticket_zoom/attribute_bar.jst.eco
#, fuzzy #, fuzzy
#| msgid "Draft" #| msgid "Draft"
msgid "Save Draft" msgid "Save Draft"

View file

@ -156,10 +156,11 @@ class ExcelSheet
record record
end end
case object[:data_type] case object[:data_type]
when 'boolean', 'select' when 'boolean', %r{^(multi|tree_)?select$}
if object[:data_option] && object[:data_option]['options'] && object[:data_option]['options'][value] if object[:data_option].present? && object[:data_option]['options'].present?
value = object[:data_option]['options'][value] value = ObjectManager::Attribute.data_options_hash(object[:data_option]['options'])[value]
end end
@worksheet.write_string(@current_row, @current_column, value) if value.present? @worksheet.write_string(@current_row, @current_column, value) if value.present?
when 'datetime' when 'datetime'
@worksheet.write_date_time(@current_row, @current_column, timestamp_in_localtime(value), @format_time) if value.present? @worksheet.write_date_time(@current_row, @current_column, timestamp_in_localtime(value), @format_time) if value.present?

View file

@ -0,0 +1,32 @@
# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
require 'rails_helper'
RSpec.describe Issue4089FixDraftAttribute, type: :db_migration do
def field
ObjectManager::Attribute.find_by(name: 'shared_drafts', object_lookup_id: ObjectLookup.by_name('Group'))
end
context 'when field does not exist', db_strategy: :reset do
before do
field.destroy
ObjectManager::Attribute.migration_execute
migrate
end
it 'does create the field and set it not editable' do
expect(field.reload.editable).to be(false)
end
end
context 'when field does exist' do
before do
field.update(editable: true)
migrate
end
it 'does set the field to not editable' do
expect(field.reload.editable).to be(false)
end
end
end

View file

@ -24,6 +24,15 @@ RSpec.describe TriggerWebhookJob::RecordPayload::Ticket::Article do
end end
end end
describe 'Webhhok transfers "accounted_time" of an article as integer instead of float/double #4127' do
let(:entry) { create(:ticket_time_accounting, ticket_id: record.ticket.id, ticket_article_id: record.id, time_unit: 3.33) }
it "stores value as 'accounted_time' key" do
entry
expect(generate['accounted_time']).to eq(3.33)
end
end
context 'when Article has stored attachments' do context 'when Article has stored attachments' do
before do before do

View file

@ -632,6 +632,20 @@ RSpec.describe Channel::EmailParser, type: :model do
include_examples 'adds message to ticket' include_examples 'adds message to ticket'
end end
context 'in visible text with a linebreak' do
let(:raw_mail) { <<~RAW.chomp }
From: me@example.com
To: customer@example.com
Subject: no reference
Lorem ipsum dolor #{ticket_ref}
consetetur sadipscing elitr
sed diam nonumy eirmod
RAW
include_examples 'adds message to ticket'
end
context 'as part of a larger word' do context 'as part of a larger word' do
let(:ticket_ref) { "Foo#{Setting.get('ticket_hook')}#{Setting.get('ticket_hook_divider')}#{ticket.number}bar" } let(:ticket_ref) { "Foo#{Setting.get('ticket_hook')}#{Setting.get('ticket_hook_divider')}#{ticket.number}bar" }

View file

@ -34,7 +34,7 @@ RSpec.describe Ticket::Article, type: :model do
describe 'Setting of ticket_define_email_from' do describe 'Setting of ticket_define_email_from' do
subject(:article) do subject(:article) do
create(:ticket_article, sender_name: 'Agent', type_name: 'email') create(:ticket_article, created_by: created_by, sender_name: 'Agent', type_name: 'email')
end end
context 'when AgentName' do context 'when AgentName' do
@ -42,9 +42,22 @@ RSpec.describe Ticket::Article, type: :model do
Setting.set('ticket_define_email_from', 'AgentName') Setting.set('ticket_define_email_from', 'AgentName')
end end
it 'sets the from based on the setting' do context 'with real sender' do
expect(article.reload.from).to eq("\"#{article.created_by.firstname} #{article.created_by.lastname}\" <#{article.ticket.group.email_address.email}>") let(:created_by) { create(:user) }
it 'sets the from to the realname of the user' do
expect(article.reload.from).to eq("\"#{article.created_by.firstname} #{article.created_by.lastname}\" <#{article.ticket.group.email_address.email}>")
end
end end
context 'with no real sender (e.g. trigger or scheduler)' do
let(:created_by) { User.find(1) }
it 'sets the from to realname of the mail address)' do
expect(article.reload.from).to eq("\"#{article.ticket.group.email_address.realname}\" <#{article.ticket.group.email_address.email}>")
end
end
end end
end end

View file

@ -1487,43 +1487,6 @@ RSpec.describe Ticket, type: :model do
end end
end end
describe 'Associations:' do
describe '#organization' do
subject(:ticket) { build(:ticket, customer: customer, organization: nil) }
let(:customer) { create(:customer, :with_org) }
context 'on creation' do
it 'automatically adopts the organization of its #customer' do
expect { ticket.save }
.to change(ticket, :organization).to(customer.organization)
end
end
context 'on update of #customer.organization' do
context 'to nil' do
it 'automatically updates to #customers new value' do
ticket.save
expect { customer.update(organization: nil) }
.to change { ticket.reload.organization }.to(nil)
end
end
context 'to a different organization' do
let(:new_org) { create(:organization) }
it 'automatically updates to #customers new value' do
ticket.save
expect { customer.update(organization: new_org) }
.to change { ticket.reload.organization }.to(new_org)
end
end
end
end
end
describe '.search' do describe '.search' do
shared_examples 'search permissions' do shared_examples 'search permissions' do

View file

@ -0,0 +1,52 @@
# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
require 'rails_helper'
RSpec.describe User::UpdatesTicketOrganization, type: :model do
subject(:ticket) { build(:ticket, customer: customer, organization: nil) }
let(:customer) { create(:customer, :with_org) }
context 'when ticket is created' do
it 'automatically adopts the organization of its #customer' do
expect { ticket.save }
.to change(ticket, :organization).to(customer.organization)
end
end
context 'when #customer.organization is updated' do
context 'when set to nil' do
it 'automatically updates to #customers new value' do
ticket.save
expect { customer.update(organization: nil) }
.to change { ticket.reload.organization }.to(nil)
end
end
context 'when #customer.organization is updated to a different organization' do
let(:old_org) { customer.organization }
let(:new_org) { create(:organization) }
it 'automatically updates to #customers new value' do
ticket.save
expect { customer.update(organization: new_org) }
.to change { ticket.reload.organization }.to(new_org)
end
it 'has made all changes with user id 1' do
expect(ticket.updated_by.id).to eq 1
end
# https://github.com/zammad/zammad/issues/3952
it 'does not send notifications' do
allow(NotificationFactory::Mailer).to receive(:send)
customer.update(organization: old_org)
expect(NotificationFactory::Mailer).not_to have_received(:send)
end
end
end
end

View file

@ -1009,14 +1009,14 @@ RSpec.describe User, type: :model do
'Trigger' => { 'created_by_id' => 0, 'updated_by_id' => 0 }, 'Trigger' => { 'created_by_id' => 0, 'updated_by_id' => 0 },
'Translation' => { 'created_by_id' => 0, 'updated_by_id' => 0 }, 'Translation' => { 'created_by_id' => 0, 'updated_by_id' => 0 },
'ObjectManager::Attribute' => { 'created_by_id' => 0, 'updated_by_id' => 0 }, 'ObjectManager::Attribute' => { 'created_by_id' => 0, 'updated_by_id' => 0 },
'User' => { 'created_by_id' => 1, 'out_of_office_replacement_id' => 1, 'updated_by_id' => 1 }, 'User' => { 'created_by_id' => 2, 'out_of_office_replacement_id' => 1, 'updated_by_id' => 2 },
'Organization' => { 'created_by_id' => 0, 'updated_by_id' => 0 }, 'Organization' => { 'created_by_id' => 0, 'updated_by_id' => 0 },
'Macro' => { 'created_by_id' => 0, 'updated_by_id' => 0 }, 'Macro' => { 'created_by_id' => 0, 'updated_by_id' => 0 },
'CoreWorkflow' => { 'created_by_id' => 0, 'updated_by_id' => 0 }, 'CoreWorkflow' => { 'created_by_id' => 0, 'updated_by_id' => 0 },
'Mention' => { 'created_by_id' => 1, 'updated_by_id' => 0, 'user_id' => 1 }, 'Mention' => { 'created_by_id' => 1, 'updated_by_id' => 0, 'user_id' => 1 },
'Channel' => { 'created_by_id' => 0, 'updated_by_id' => 0 }, 'Channel' => { 'created_by_id' => 0, 'updated_by_id' => 0 },
'Role' => { 'created_by_id' => 0, 'updated_by_id' => 0 }, 'Role' => { 'created_by_id' => 0, 'updated_by_id' => 0 },
'History' => { 'created_by_id' => 5 }, 'History' => { 'created_by_id' => 6 },
'Webhook' => { 'created_by_id' => 0, 'updated_by_id' => 0 }, 'Webhook' => { 'created_by_id' => 0, 'updated_by_id' => 0 },
'Overview' => { 'created_by_id' => 1, 'updated_by_id' => 0 }, 'Overview' => { 'created_by_id' => 1, 'updated_by_id' => 0 },
'ActivityStream' => { 'created_by_id' => 0 }, 'ActivityStream' => { 'created_by_id' => 0 },
@ -1055,6 +1055,11 @@ RSpec.describe User, type: :model do
create(:'chat/agent') create(:'chat/agent')
chat_agent_user = create(:'chat/agent', created_by_id: user.id, updated_by_id: user.id) chat_agent_user = create(:'chat/agent', created_by_id: user.id, updated_by_id: user.id)
# invalid user (by email) which has been updated by the user which
# will get deleted (#3935)
invalid_user = build(:user, email: 'abc', created_by_id: user.id, updated_by_id: user.id)
invalid_user.save!(validate: false)
# move ownership objects # move ownership objects
group = create(:group, created_by_id: user.id) group = create(:group, created_by_id: user.id)
job = create(:job, updated_by_id: user.id) job = create(:job, updated_by_id: user.id)
@ -1108,6 +1113,7 @@ RSpec.describe User, type: :model do
.and change(user_created_by, :out_of_office_replacement_id).to(1) .and change(user_created_by, :out_of_office_replacement_id).to(1)
expect { draft_start.reload }.to change(draft_start, :created_by_id).to(1) expect { draft_start.reload }.to change(draft_start, :created_by_id).to(1)
expect { draft_zoom.reload }.to change(draft_zoom, :created_by_id).to(1) expect { draft_zoom.reload }.to change(draft_zoom, :created_by_id).to(1)
expect { invalid_user.reload }.to change(invalid_user, :created_by_id).to(1)
end end
it 'does delete cache after user deletion' do it 'does delete cache after user deletion' do

View file

@ -35,4 +35,39 @@ RSpec.describe 'KnowledgeBase public answers', type: :request do
end end
end end
end end
describe '#render_alternative' do
context 'when a translation is available' do
before { create(:knowledge_base_translation, kb_locale: alternative_locale) }
it 'returns OK for published answer' do
get help_answer_path(alternative_locale.system_locale.locale, category, published_answer)
expect(response).to have_http_status :ok
end
it 'returns NOT FOUND for draft answer' do
get help_answer_path(alternative_locale.system_locale.locale, category, draft_answer)
expect(response).to have_http_status :not_found
end
# https://github.com/zammad/zammad/issues/3931
context 'when the category has been updated' do
let(:new_category) { create(:knowledge_base_category, knowledge_base: knowledge_base) }
it 'returns NOT FOUND for published answer if old category is used' do
published_answer.update! category_id: new_category.id
get help_answer_path(alternative_locale.system_locale.locale, category, published_answer)
expect(response).to have_http_status :not_found
end
it 'returns OK for published answer if new category is used' do
published_answer.update! category_id: new_category.id
get help_answer_path(alternative_locale.system_locale.locale, new_category, published_answer)
expect(response).to have_http_status :ok
end
end
end
end
end end

View file

@ -100,6 +100,18 @@ RSpec.describe Tag, type: :request do
include_examples 'no tag found using', search_term: '1foobar' include_examples 'no tag found using', search_term: '1foobar'
include_examples 'no tag found using', search_term: 'foobar2' include_examples 'no tag found using', search_term: 'foobar2'
end end
context 'without search term' do
before do
create_list(:tag, 2, tag_item: tags.last)
create_list(:tag, 1, tag_item: tags.first)
end
it 'most used is on first place without search term' do
get '/api/v1/tag_search', params: { term: '' }
expect(json_response.first['value']).to eq(tags.last.name)
end
end
end end
end end
end end

View file

@ -3,6 +3,8 @@
require_relative './set_up' require_relative './set_up'
RSpec.configure do |config| RSpec.configure do |config|
capybara_examples_performed = 0
config.before(:each, type: :system) do |example| config.before(:each, type: :system) do |example|
Capybara.register_server :puma_wrapper do |app, port, host, **_options| Capybara.register_server :puma_wrapper do |app, port, host, **_options|
@ -39,12 +41,15 @@ RSpec.configure do |config|
end end
config.after(:each, type: :system) do config.after(:each, type: :system) do
capybara_examples_performed += 1
# End the main capybara session only from time to time, to speed up tests and make
# sure memory consumption does not rise too much.
# Make sure additional sessions (from using_sessions) are always ended # Make sure additional sessions (from using_sessions) are always ended
# after every test and not kept alive. Selenium will automatically close # after every test and not kept alive. Selenium will automatically close
# idle sessions which can cause 404 errors later. # idle sessions which can cause 404 errors later.
# (see https://github.com/teamcapybara/capybara/issues/2237) # (see https://github.com/teamcapybara/capybara/issues/2237)
Capybara.send(:session_pool).reverse_each do |_mode, session| Capybara.send(:session_pool).reverse_each do |_mode, session|
if !session.eql?(Capybara.current_session) if !session.eql?(Capybara.current_session) || (capybara_examples_performed % 100).zero?
session.quit session.quit
end end
end end
@ -56,7 +61,8 @@ RSpec.configure do |config|
# WebMock makes it impossible to have persistent http connections to Selenium, # WebMock makes it impossible to have persistent http connections to Selenium,
# which may cause overhead and Net::OpenTimeout errors. # which may cause overhead and Net::OpenTimeout errors.
WebMock.disable! if !use_vcr WebMock.disable! if !use_vcr
example.run # rspec-retry
example.run_with_retry retry: 3, exceptions_to_retry: [Net::OpenTimeout, Net::ReadTimeout]
WebMock.enable! if !use_vcr WebMock.enable! if !use_vcr
end end
end end

View file

@ -0,0 +1,11 @@
# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
require 'rspec/retry'
RSpec.configure do |config|
# show retry status in spec process
config.verbose_retry = true
# show exception that triggers a retry if verbose_retry is set to true
config.display_try_failure_messages = true
# The list of exceptions to fail on should be configured in the individual :run_with_retry calls.
end

View file

@ -324,4 +324,36 @@ RSpec.describe 'Overview', type: :system do
end end
end end
end end
context 'when only one attribute is visible', authenticated_as: :user do
let(:user) { create(:agent, groups: [group]) }
let(:group) { create(:group, name: 'aaa') }
let(:ticket) { create(:ticket, group: group, customer: user) }
let(:view) { { 's' => %w[title] } }
let(:condition) do
{
'ticket.customer_id' => {
operator: 'is',
value: user.id
}
}
end
let(:overview) { create(:overview, condition: condition, view: view) }
let(:overview_table_head_selector) { 'div.table-overview table.table thead' }
let(:expected_header_text) { 'TITLE' }
before do
ticket
visit "ticket/view/#{overview.link}"
end
it 'shows only the title column' do
within :active_content, overview_table_head_selector do
expect(page).to have_css('th.js-tableHead[data-column-key="title"]', text: expected_header_text)
end
end
end
end end

View file

@ -232,4 +232,69 @@ RSpec.describe 'Search', type: :system, authenticated: true, searchindex: true d
end end
end end
end end
describe 'Searches display all groups and owners on bulk selections #4054', authenticated_as: :authenticate do
let(:group1) { create(:group) }
let(:group2) { create(:group) }
let(:agent1) { create(:agent, groups: [group1]) }
let(:agent2) { create(:agent, groups: [group2]) }
let(:agent_all) { create(:agent, groups: [group1, group2]) }
let(:ticket1) { create(:ticket, group: group1, title: '4054 group 1') }
let(:ticket2) { create(:ticket, group: group2, title: '4054 group 2') }
def authenticate
agent1 && agent2 && agent_all
ticket1 && ticket2
agent_all
end
def check_owner_empty
expect(page).to have_select('owner_id', text: '-', visible: :all)
expect(page).to have_no_select('owner_id', text: agent1.fullname, visible: :all)
expect(page).to have_no_select('owner_id', text: agent2.fullname, visible: :all)
end
def click_ticket(ticket)
page.find(".js-tableBody tr.item[data-id='#{ticket.id}'] td.js-checkbox-field").click
end
def check_owner_agent1_shown
expect(page).to have_select('owner_id', text: agent1.fullname)
expect(page).to have_no_select('owner_id', text: agent2.fullname)
end
def check_owner_agent2_shown
expect(page).to have_no_select('owner_id', text: agent1.fullname)
expect(page).to have_select('owner_id', text: agent2.fullname)
end
def check_owner_field
check_owner_empty
click_ticket(ticket1)
check_owner_agent1_shown
click_ticket(ticket1)
click_ticket(ticket2)
check_owner_agent2_shown
end
context 'when search is used' do
before do
visit '#search/4054'
end
it 'does show the correct owner selection for each bulk action' do
check_owner_field
end
end
context 'when ticket overview is used' do
before do
visit '#ticket/view/all_unassigned'
end
it 'does show the correct owner selection for each bulk action' do
check_owner_field
end
end
end
end end

View file

@ -946,4 +946,16 @@ RSpec.describe 'Ticket Create', type: :system do
wait.until { page.find("input[name='#{field_name}']", visible: :all).value == '' } wait.until { page.find("input[name='#{field_name}']", visible: :all).value == '' }
end end
end end
describe 'Wrong default values in ticket create when creating from user profile #4088' do
let(:customer) { create(:customer) }
before do
visit "ticket/create/customer/#{customer.id}"
end
it 'does show the default state when creating a ticket from a user profile' do
expect(page).to have_select('state_id', selected: 'open')
end
end
end end

View file

@ -365,10 +365,16 @@ RSpec.describe 'Ticket > Update > Full Quote Header', current_user_id: -> { curr
end end
def timestamp_reply def timestamp_reply
format_string = if Capybara.current_driver == :zammad_firefox
'%A, %B %1d, %Y at %1I:%M:%S %p'
else
'%A, %B %1d, %Y, %1I:%M:%S %p'
end
expected expected
.created_at .created_at
.in_time_zone('Europe/London') .in_time_zone('Europe/London')
.strftime('%A, %B %1d, %Y, %1I:%M:%S %p') .strftime(format_string)
end end
def timestamp_forward def timestamp_forward

View file

@ -28,11 +28,11 @@ class GeoIpTest < ActiveSupport::TestCase
result = Service::GeoIp.location('195.65.29.254') result = Service::GeoIp.location('195.65.29.254')
assert(result) assert(result)
assert_equal('Switzerland', result['country_name']) assert_equal('Switzerland', result['country_name'])
assert_equal('Niederhasli', result['city_name']) assert_equal('Effretikon / Watt', result['city_name'])
assert_equal('CH', result['country_code']) assert_equal('CH', result['country_code'])
assert_equal('EU', result['continent_code']) assert_equal('EU', result['continent_code'])
assert_equal(47.4823, result['latitude']) assert_equal(47.4288, result['latitude'])
assert_equal(8.4823, result['longitude']) assert_equal(8.7025, result['longitude'])
result = Service::GeoIp.location('134.109.140.74') result = Service::GeoIp.location('134.109.140.74')
assert(result) assert(result)
@ -49,8 +49,8 @@ class GeoIpTest < ActiveSupport::TestCase
assert_equal('Halle', result['city_name']) assert_equal('Halle', result['city_name'])
assert_equal('DE', result['country_code']) assert_equal('DE', result['country_code'])
assert_equal('EU', result['continent_code']) assert_equal('EU', result['continent_code'])
assert_equal(51.4825, result['latitude']) assert_equal(51.5036, result['latitude'])
assert_equal(11.9772, result['longitude']) assert_equal(11.9594, result['longitude'])
result = Service::GeoIp.location('169.229.216.200') result = Service::GeoIp.location('169.229.216.200')
assert(result) assert(result)
@ -58,7 +58,7 @@ class GeoIpTest < ActiveSupport::TestCase
assert_equal('Oakland', result['city_name']) assert_equal('Oakland', result['city_name'])
assert_equal('US', result['country_code']) assert_equal('US', result['country_code'])
assert_equal('NA', result['continent_code']) assert_equal('NA', result['continent_code'])
assert_equal(37.8376, result['latitude']) assert_equal(37.7428, result['latitude'])
assert_equal(-122.2398, result['longitude']) assert_equal(-122.1745, result['longitude'])
end end
end end

View file

@ -76,8 +76,8 @@ tt p://6 6.000146.0x7.147/">XSS</A>', true), '<a href="http://h%0Att%20%20p://6
assert_equal(HtmlSanitizer.strict('<a xlink:href="javascript:alert(2)">CLICKME</a>'), 'CLICKME') assert_equal(HtmlSanitizer.strict('<a xlink:href="javascript:alert(2)">CLICKME</a>'), 'CLICKME')
assert_equal(HtmlSanitizer.strict('<a xlink:href="javascript:alert(2)">CLICKME</a>', true), 'CLICKME') assert_equal(HtmlSanitizer.strict('<a xlink:href="javascript:alert(2)">CLICKME</a>', true), 'CLICKME')
assert_equal(HtmlSanitizer.strict('<!--<img src="--><img src=x onerror=alert(1)//">'), '<img src="x">') assert_equal(HtmlSanitizer.strict('<!--<img src="--><img src=x onerror=alert(1)//">'), '<img src="x">')
assert_equal(HtmlSanitizer.strict('<![><img src="]><img src=x onerror=alert(1)//">'), '<img src="%5D&gt;&lt;img%20src=x%20onerror=alert(1)//">') assert_equal(HtmlSanitizer.strict('<![><img src="]><img src=x onerror=alert(1)//">'), '&lt;![&gt;<img src="%5D&gt;&lt;img%20src=x%20onerror=alert(1)//">')
assert_equal(HtmlSanitizer.strict('<svg><![CDATA[><image xlink:href="]]><img src=xx:x onerror=alert(2)//"></svg>'), '') assert_equal(HtmlSanitizer.strict('<svg><![CDATA[><image xlink:href="]]><img src=xx:x onerror=alert(2)//"></svg>'), '&lt;![CDATA[&gt;')
assert_equal(HtmlSanitizer.strict('<abc><img src="</abc><img src=x onerror=alert(1)//">'), '<img src="&lt;/abc&gt;&lt;img%20src=x%20onerror=alert(1)//">') assert_equal(HtmlSanitizer.strict('<abc><img src="</abc><img src=x onerror=alert(1)//">'), '<img src="&lt;/abc&gt;&lt;img%20src=x%20onerror=alert(1)//">')
assert_equal(HtmlSanitizer.strict('<object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg=="></object>'), '') assert_equal(HtmlSanitizer.strict('<object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg=="></object>'), '')
assert_equal(HtmlSanitizer.strict('<embed src="data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg=="></embed>'), '') assert_equal(HtmlSanitizer.strict('<embed src="data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg=="></embed>'), '')