diff --git a/app/assets/javascripts/app/controllers/_application_controller_table.coffee b/app/assets/javascripts/app/controllers/_application_controller_table.coffee
index 6240cca77..d32477773 100644
--- a/app/assets/javascripts/app/controllers/_application_controller_table.coffee
+++ b/app/assets/javascripts/app/controllers/_application_controller_table.coffee
@@ -113,7 +113,6 @@ class App.ControllerTable extends App.Controller
radio: false
renderState: undefined
groupBy: undefined
- groupDirection: undefined
shownPerPage: 150
shownPage: 0
@@ -772,9 +771,6 @@ class App.ControllerTable extends App.Controller
for key of groupObjects
groupsSorted.push key
groupsSorted = groupsSorted.sort()
- # Reverse the sorted groups depending on the groupDirection
- if @groupDirection == 'DESC'
- groupsSorted.reverse()
# get new order
localObjects = []
diff --git a/app/assets/javascripts/app/controllers/ticket_overview.coffee b/app/assets/javascripts/app/controllers/ticket_overview.coffee
index 7a70edd5d..369fea4d5 100644
--- a/app/assets/javascripts/app/controllers/ticket_overview.coffee
+++ b/app/assets/javascripts/app/controllers/ticket_overview.coffee
@@ -969,7 +969,6 @@ class Table extends App.Controller
overviewAttributes: @overview.view.s
objects: ticketListShow
groupBy: @overview.group_by
- groupDirection: @overview.group_direction
orderBy: @overview.order.by
orderDirection: @overview.order.direction
)
@@ -1135,7 +1134,6 @@ class Table extends App.Controller
objects: ticketListShow
checkbox: checkbox
groupBy: @overview.group_by
- groupDirection: @overview.group_direction
orderBy: @overview.order.by
orderDirection: @overview.order.direction
class: 'table--light'
@@ -1531,7 +1529,7 @@ class App.OverviewSettings extends App.ControllerModal
},
{
name: 'order::direction'
- display: 'Order by Direction'
+ display: 'Direction'
tag: 'select'
default: @overview.order.direction
null: false
@@ -1549,18 +1547,7 @@ class App.OverviewSettings extends App.ControllerModal
nulloption: true
translate: true
options: App.Overview.groupByAttributes()
- },
- {
- name: 'group_direction'
- display: 'Group by Direction'
- tag: 'select'
- default: @overview.group_direction
- null: false
- translate: true
- options:
- ASC: 'up'
- DESC: 'down'
- },)
+ })
controller = new App.ControllerForm(
model: { configure_attributes: @configure_attributes_article }
@@ -1585,10 +1572,6 @@ class App.OverviewSettings extends App.ControllerModal
@overview.order.direction = params.order.direction
@reload_needed = true
- if @overview.group_direction isnt params.group_direction
- @overview.group_direction = params.group_direction
- @reload_needed = true
-
for key, value of params.view
@overview.view[key] = value
diff --git a/app/assets/javascripts/app/models/overview.coffee b/app/assets/javascripts/app/models/overview.coffee
index 4834b94bf..f5126170a 100644
--- a/app/assets/javascripts/app/models/overview.coffee
+++ b/app/assets/javascripts/app/models/overview.coffee
@@ -1,5 +1,5 @@
class App.Overview extends App.Model
- @configure 'Overview', 'name', 'prio', 'condition', 'order', 'group_by', 'group_direction', 'view', 'user_ids', 'organization_shared', 'role_ids', 'active'
+ @configure 'Overview', 'name', 'prio', 'condition', 'order', 'group_by', 'view', 'user_ids', 'organization_shared', 'role_ids', 'active'
@extend Spine.Model.Ajax
@url: @apiPath + '/overviews'
@configure_attributes = [
@@ -29,7 +29,7 @@ class App.Overview extends App.Model
},
{
name: 'order::direction'
- display: 'Order by Direction'
+ display: 'Direction'
tag: 'select'
default: 'down'
null: false
@@ -53,17 +53,6 @@ class App.Overview extends App.Model
group: 'Group'
owner: 'Owner'
},
- {
- name: 'group_direction'
- display: 'Group by Direction'
- tag: 'select'
- default: 'down'
- null: false
- translate: true
- options:
- ASC: 'up'
- DESC: 'down'
- },
{ name: 'active', display: 'Active', tag: 'active', default: true },
{ name: 'created_by_id', display: 'Created by', relation: 'User', readonly: 1 },
{ name: 'created_at', display: 'Created', tag: 'datetime', readonly: 1 },
diff --git a/db/migrate/20120101000010_create_ticket.rb b/db/migrate/20120101000010_create_ticket.rb
index 07ee6371d..9c16bf3d7 100644
--- a/db/migrate/20120101000010_create_ticket.rb
+++ b/db/migrate/20120101000010_create_ticket.rb
@@ -237,7 +237,6 @@ class CreateTicket < ActiveRecord::Migration[4.2]
t.column :condition, :text, limit: 500.kilobytes + 1, null: false
t.column :order, :string, limit: 2500, null: false
t.column :group_by, :string, limit: 250, null: true
- t.column :group_direction, :string, limit: 250, null: true
t.column :organization_shared, :boolean, null: false, default: false
t.column :out_of_office, :boolean, null: false, default: false
t.column :view, :string, limit: 1000, null: false
diff --git a/db/migrate/20180709020509_add_group_direction_to_overviews.rb b/db/migrate/20180709020509_add_group_direction_to_overviews.rb
deleted file mode 100644
index fba072601..000000000
--- a/db/migrate/20180709020509_add_group_direction_to_overviews.rb
+++ /dev/null
@@ -1,8 +0,0 @@
-class AddGroupDirectionToOverviews < ActiveRecord::Migration[5.1]
- def change
- # return if it's a new setup
- return if !Setting.find_by(name: 'system_init_done')
-
- add_column :overviews, :group_direction, :string, limit: 250, null: true
- end
-end
diff --git a/public/assets/tests/table.js b/public/assets/tests/table.js
index 4e3164e17..8754aaa8d 100644
--- a/public/assets/tests/table.js
+++ b/public/assets/tests/table.js
@@ -355,39 +355,6 @@ test('table test', function() {
el.find('tbody > tr:nth-child(5) > td:nth-child(1) label').click()
equal(el.find('tbody > tr:nth-child(5) > td:nth-child(1) input').prop('checked'), true, 'check row 5')
equal(el.find('tbody > tr:nth-child(5) > td:nth-child(1) input').val(), '1', 'check row 5')
-
-
- $('#table').append('
table Group By Direction DESC
')
- el = $('#table6')
- var clickCheckbox = function (id, checked, e) {
- console.log('clickCheckbox', id, checked, e.target)
- };
- new App.ControllerTable({
- el: el,
- overview: ['number', 'title', 'owner', 'customer', 'priority', 'group', 'state', 'created_at'],
- model: App.Ticket,
- objects: App.Ticket.search({sortBy:'created_at', order: 'DESC'}),
- groupBy: 'priority',
- groupDirection: 'DESC',
- })
- equal(el.find('tbody > tr:nth-child(1) > td:nth-child(1)').text().trim(), '2 normal', 'check row 1')
- equal(el.find('tbody > tr:nth-child(3) > td:nth-child(1)').text().trim(), '1 niedrig', 'check row 3')
-
- $('#table').append('
table Group By Direction ASC
')
- el = $('#table7')
- var clickCheckbox = function (id, checked, e) {
- console.log('clickCheckbox', id, checked, e.target)
- };
- new App.ControllerTable({
- el: el,
- overview: ['number', 'title', 'owner', 'customer', 'priority', 'group', 'state', 'created_at'],
- model: App.Ticket,
- objects: App.Ticket.search({sortBy:'created_at', order: 'DESC'}),
- groupBy: 'priority',
- groupDirection: 'ASC',
- })
- equal(el.find('tbody > tr:nth-child(1) > td:nth-child(1)').text().trim(), '1 niedrig', 'check row 1')
- equal(el.find('tbody > tr:nth-child(4) > td:nth-child(1)').text().trim(), '2 normal', 'check row 4')
});
test('table test 2.1', function() {
diff --git a/test/browser/admin_overview_test.rb b/test/browser/admin_overview_test.rb
index e9cfe0b9c..87b6791f5 100644
--- a/test/browser/admin_overview_test.rb
+++ b/test/browser/admin_overview_test.rb
@@ -38,106 +38,4 @@ class AdminOverviewTest < TestCase
)
end
- def test_overview_group_by_direction
- name = "overview_#{rand(99_999_999)}"
- ticket_titles = (1..3).map { |i| "Priority #{i} ticket" }
-
- @browser = instance = browser_instance
- login(
- username: 'master@example.com',
- password: 'test',
- url: browser_url,
- )
- tasks_close_all()
-
- ticket_create(
- data: {
- customer: 'nico',
- group: 'Users',
- title: 'Priority 1 ticket',
- body: 'some body 123äöü',
- priority: '1 low',
- },
- )
-
- ticket_create(
- data: {
- customer: 'nico',
- group: 'Users',
- title: 'Priority 2 ticket',
- body: 'some body 123äöü',
- priority: '2 normal',
- },
- )
-
- ticket_create(
- data: {
- customer: 'nico',
- group: 'Users',
- title: 'Priority 3 ticket',
- body: 'some body 123äöü',
- priority: '3 high',
- },
- )
-
- # Add new overview to sort groups from high to low
- overview_create(
- data: {
- name: name,
- roles: ['Agent'],
- selector: {
- 'State' => 'open',
- },
- 'order::direction' => 'down',
- group_by: 'Priority',
- group_direction: 'down',
- }
- )
-
- click(
- browser: instance,
- css: 'a[href="#ticket/view"]',
- mute_log: true,
- )
- click(
- browser: instance,
- css: "div.overview-header a[href='#ticket/view/#{name}']",
- mute_log: true,
- )
-
- # Sort the tickets according to their onscreen Y location
- tickets_low_to_high = ticket_titles.map do |title|
- [title,
- get_location( css: "td[title='#{title}']").y]
- end
- tickets_low_to_high = tickets_low_to_high.sort_by { |x| -x[1] }.map { |x| x[0] }
- assert_equal(ticket_titles, tickets_low_to_high)
-
- # Update overview to sort groups from low to high
- overview_update(
- data: {
- name: name,
- group_direction: 'up',
- }
- )
-
- click(
- browser: instance,
- css: 'a[href="#ticket/view"]',
- mute_log: true,
- )
- click(
- browser: instance,
- css: "div.overview-header a[href='#ticket/view/#{name}']",
- mute_log: true,
- )
-
- # Sort the tickets according to their onscreen Y location
- tickets_high_to_low = ticket_titles.map do |title|
- [title,
- get_location( css: "td[title='#{title}']").y]
- end
- tickets_high_to_low = tickets_high_to_low.sort_by { |x| x[1] }.map { |x| x[0] }
- assert_equal(ticket_titles, tickets_high_to_low)
- end
end
diff --git a/test/browser_test_helper.rb b/test/browser_test_helper.rb
index 12705ddc6..75b22fafe 100644
--- a/test/browser_test_helper.rb
+++ b/test/browser_test_helper.rb
@@ -1018,40 +1018,6 @@ class TestCase < Test::Unit::TestCase
=begin
-Get the on-screen pixel coordinates of a given DOM element. Can be used to compare
-the relative location of table rows before and after sort, for example.
-
-Returns a Selenium::WebDriver::Point object. Use result.x and result.y to access
-its X and Y coordinates respectively.
-
- get_location(
- browser: browser1,
- css: '.some_class',
- )
-
-=end
-
- def get_location(params)
- switch_window_focus(params)
- log('exists', params)
-
- instance = params[:browser] || @browser
- if params[:css]
- query = { css: params[:css] }
- end
- if params[:xpath]
- query = { xpath: params[:xpath] }
- end
- if !instance.find_elements(query)[0]
- screenshot(browser: instance, comment: 'exists_failed')
- raise "#{query} dosn't exist, but should"
- end
-
- instance.find_elements(query)[0].location
- end
-
-=begin
-
set type of task (closeTab, closeNextInOverview, stayOnTab)
task_type(
@@ -1769,15 +1735,6 @@ wait untill text in selector disabppears
)
end
- if data[:group_direction]
- select(
- browser: instance,
- css: '.modal select[name="group_direction"]',
- value: data[:group_direction],
- mute_log: true,
- )
- end
-
instance.find_elements(css: '.modal button.js-submit')[0].click
modal_disappear(browser: instance)
11.times do
@@ -1882,15 +1839,6 @@ wait untill text in selector disabppears
)
end
- if data[:group_direction]
- select(
- browser: instance,
- css: '.modal select[name="group_direction"]',
- value: data[:group_direction],
- mute_log: true,
- )
- end
-
instance.find_elements(css: '.modal button.js-submit')[0].click
modal_disappear(browser: instance)
11.times do
diff --git a/test/controllers/overviews_controller_test.rb b/test/controllers/overviews_controller_test.rb
index 639a04ec8..d2bcb36c0 100644
--- a/test/controllers/overviews_controller_test.rb
+++ b/test/controllers/overviews_controller_test.rb
@@ -181,41 +181,4 @@ class OverviewsControllerTest < ActionDispatch::IntegrationTest
assert_equal(1, overview2.prio)
end
- test 'create an overview with group_by direction' do
- credentials = ActionController::HttpAuthentication::Basic.encode_credentials('tickets-admin', 'adminpw')
-
- params = {
- name: 'Overview2',
- link: 'my_overview',
- roles: Role.where(name: 'Agent').pluck(:name),
- condition: {
- 'ticket.state_id' => {
- operator: 'is',
- value: [1, 2, 3],
- },
- },
- order: {
- by: 'created_at',
- direction: 'DESC',
- },
- group_by: 'priority',
- group_direction: 'ASC',
- view: {
- d: %w[title customer state created_at],
- s: %w[number title customer state created_at],
- m: %w[number title customer state created_at],
- view_mode_default: 's',
- },
- }
-
- post '/api/v1/overviews', params: params.to_json, headers: @headers.merge('Authorization' => credentials)
- assert_response(201)
- result = JSON.parse(@response.body)
- assert_equal(Hash, result.class)
- assert_equal('Overview2', result['name'])
- assert_equal('my_overview', result['link'])
- assert_equal('priority', result['group_by'])
- assert_equal('ASC', result['group_direction'])
- end
-
end