Fixes #3943 - Title column is missing if ticket number is disabled in overview options.
This commit is contained in:
parent
81408f7e87
commit
ab37cfe972
2 changed files with 43 additions and 3 deletions
|
@ -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 })
|
||||||
|
|
||||||
|
@ -1177,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
|
||||||
|
@ -1249,6 +1248,15 @@ class Table extends App.Controller
|
||||||
bulkAll.prop('indeterminate', true)
|
bulkAll.prop('indeterminate', true)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
convertOverviewAttributesToArray: (overviewAttributes) ->
|
||||||
|
# Ensure that the given attributes for the overview is an array,
|
||||||
|
# otherwise some data might not be displayed.
|
||||||
|
# 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()
|
||||||
@stopListening user, 'refresh'
|
@stopListening user, 'refresh'
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue