From 2427677f837044f65f4f8a3a555cb70f5d906f21 Mon Sep 17 00:00:00 2001 From: Martin Edenhofer Date: Tue, 12 Jul 2016 10:19:28 +0200 Subject: [PATCH] Added some order to queries (for postgresql). --- app/models/karma/activity_log.rb | 2 +- app/models/transaction/karma.rb | 4 ++-- lib/sessions/backend/collections/base.rb | 2 +- test/unit/karma_test.rb | 8 ++++---- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/models/karma/activity_log.rb b/app/models/karma/activity_log.rb index 404c3b43a..c01b17211 100644 --- a/app/models/karma/activity_log.rb +++ b/app/models/karma/activity_log.rb @@ -13,7 +13,7 @@ class Karma::ActivityLog < ApplicationModel end Karma::ActivityLog.transaction do - last_activity = Karma::ActivityLog.where(user_id: user.id).order(id: :desc).lock(true).first + last_activity = Karma::ActivityLog.where(user_id: user.id).order(created_at: :desc, id: :desc).lock(true).first latest_activity = Karma::ActivityLog.where( user_id: user.id, object_lookup_id: object_id, diff --git a/app/models/transaction/karma.rb b/app/models/transaction/karma.rb index e0f2c6378..ad6ecc2a2 100644 --- a/app/models/transaction/karma.rb +++ b/app/models/transaction/karma.rb @@ -116,7 +116,7 @@ class Transaction::Karma return if !type.communication ### answer sent (check last action time / within what time?) - articles = Ticket::Article.where(ticket_id: article.ticket_id).order(created_at: :asc) + articles = Ticket::Article.where(ticket_id: article.ticket_id).order(created_at: :asc, id: :asc) if articles.count > 1 last_sender_customer = nil last_customer_contact = nil @@ -142,7 +142,7 @@ class Transaction::Karma } if last_sender_customer && last_customer_contact diff = article.created_at - last_customer_contact - if diff > 0 + if diff >= 0 if diff < 1.hour Karma::ActivityLog.add('ticket answer 1h', user, 'Ticket', @item[:object_id]) elsif diff < 2.hours diff --git a/lib/sessions/backend/collections/base.rb b/lib/sessions/backend/collections/base.rb index c11ca0f58..eca18facc 100644 --- a/lib/sessions/backend/collections/base.rb +++ b/lib/sessions/backend/collections/base.rb @@ -13,7 +13,7 @@ class Sessions::Backend::Collections::Base < Sessions::Backend::Base def load # get whole collection - self.class.model.constantize.all + self.class.model.constantize.all.order(id: :asc) end def client_key diff --git a/test/unit/karma_test.rb b/test/unit/karma_test.rb index d21783bc2..c26498cee 100644 --- a/test/unit/karma_test.rb +++ b/test/unit/karma_test.rb @@ -60,7 +60,7 @@ class KarmaTest < ActiveSupport::TestCase to: 'some_recipient@example.com', subject: 'some subject', message_id: 'some@id', - body: 'some message', + body: 'agent phone 1 / init', internal: false, sender: Ticket::Article::Sender.lookup(name: 'Agent'), type: Ticket::Article::Type.lookup(name: 'phone'), @@ -146,7 +146,7 @@ class KarmaTest < ActiveSupport::TestCase to: 'some_recipient@example.com', subject: 'reply: some subject', message_id: 'some@id', - body: 'some message', + body: 'agent phone 2', internal: false, sender: Ticket::Article::Sender.lookup(name: 'Agent'), type: Ticket::Article::Type.lookup(name: 'phone'), @@ -185,7 +185,7 @@ class KarmaTest < ActiveSupport::TestCase to: 'some_recipient@example.com', subject: 'some subject', message_id: 'some@id', - body: 'some message', + body: 'customer phone', internal: false, sender: Ticket::Article::Sender.lookup(name: 'Customer'), type: Ticket::Article::Type.lookup(name: 'phone'), @@ -209,7 +209,7 @@ class KarmaTest < ActiveSupport::TestCase to: 'some_recipient@example.com', subject: 'some subject', message_id: 'some@id', - body: 'some message', + body: 'agent phone 3', internal: false, sender: Ticket::Article::Sender.lookup(name: 'Agent'), type: Ticket::Article::Type.lookup(name: 'phone'),