From 81b30902f77ec7056a22c4c66115b1ba1d3915b0 Mon Sep 17 00:00:00 2001 From: Ilion Beyst Date: Thu, 10 Sep 2015 15:47:54 +0200 Subject: [PATCH] add issuer name to transactions query --- app/grids/transactions_query.rb | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/app/grids/transactions_query.rb b/app/grids/transactions_query.rb index 032ab97..99ea471 100644 --- a/app/grids/transactions_query.rb +++ b/app/grids/transactions_query.rb @@ -7,20 +7,32 @@ class TransactionsQuery end def arel + Arel::SelectManager.new(ActiveRecord::Base) + .from(issued_by(User).union(issued_by(Client))) + .project(Arel.star) + end + + def issued_by klass + issuers = klass.arel_table.alias('issuer') Arel::SelectManager.new(ActiveRecord::Base) .from(transactions) .join(@peers).on(@peers[:id].eq(@perspectived[:peer_id])) + .join(issuers).on(issuers[:id].eq(@perspectived[:issuer_id])) + .where(@perspectived[:issuer_type].eq(klass.name)) .project( @perspectived[:amount], @perspectived[:date], + @perspectived[:message], @peers[:name].as('peer'), - @perspectived[:issuer_id], - @perspectived[:message] + issuers[:name].as('issuer') ) end def transactions - Arel::Nodes::TableAlias.new(incoming.union(outgoing), @perspectived.name) + Arel::Nodes::TableAlias.new( + incoming.union(outgoing), + @perspectived.name + ) end def outgoing