diff --git a/app/controllers/admin/account_activities_controller.rb b/app/controllers/admin/account_activities_controller.rb index 0f095734f..1e1bf9196 100644 --- a/app/controllers/admin/account_activities_controller.rb +++ b/app/controllers/admin/account_activities_controller.rb @@ -25,10 +25,11 @@ class Admin::AccountActivitiesController < AdminController @account_activities = @q.result.page(params[:page]).per(params[:results_per_page]) sort = @account_activities.orders.map(&:to_sql).join(",") + # can do here inline SQL as it's our if params[:page] && params[:page].to_i > 1 - @sum = @q.result.reorder(sort).limit(@account_activities.offset_value) + @b.result.where.not(id: @q.result.map(&:id)) + @sum = @q.result.reorder(sort).limit(@account_activities.offset_value).sum(:sum) + @b.result.where("account_activities.id NOT IN (#{@q.result.select(:id).to_sql})").sum(:sum) else - @sum = @b.result.where.not(id: @q.result.map(&:id)) + @sum = @b.result.where("account_activities.id NOT IN (#{@q.result.select(:id).to_sql})").sum(:sum) end respond_to do |format| diff --git a/app/views/admin/account_activities/index.haml b/app/views/admin/account_activities/index.haml index 80ebba2f6..e29f12f75 100644 --- a/app/views/admin/account_activities/index.haml +++ b/app/views/admin/account_activities/index.haml @@ -45,7 +45,7 @@ .col-md-3 .col-md-2 .col-md-4{class: 'text-right'} - = t(:starting_balance) + " #{@sum.to_a.map(&:sum).sum.to_f} EUR" + = t(:starting_balance) + " #{@sum.to_f} EUR" %hr @@ -66,10 +66,10 @@ %th{class: 'col-xs-2'} = sort_link(@q, 'sum') %tbody - -total = @sum.to_a.map(&:sum).sum.to_f + -total = @sum.to_f - @account_activities.each do |x| %tr - %td= link_to(x.account.registrar.try(:code), admin_registrar_path(x.account.registrar)) + %td= x.account.registrar && link_to(x.account.registrar.try(:code), admin_registrar_path(x.account.registrar)) %td= x.description.present? ? x.description : '-' %td= x.activity_type ? t(x.activity_type) : '' %td= l(x.created_at)