Potential fix for one of the issues mentioned in #49

Reduces the number of SQL queries used on group_orders/index and
group_orders/archive, but adds extra  complexity to the code
This commit is contained in:
Florian Lentsch 2020-07-12 10:26:36 +02:00 committed by Patrick Gansterer
parent 602f663245
commit 5eb8abf431
7 changed files with 45 additions and 9 deletions

View file

@ -6,8 +6,9 @@
%th= heading_helper Order, :ends
%th= heading_helper GroupOrder, :price
%tbody
- for order in orders
- group_order = order.group_order(@ordergroup) # Get GroupOrder if possible
- for order_hash in orders
- order = order_hash[:order]
- group_order = order_hash[:group_order]
- order_class = group_order ? "" : "color:grey"
%tr{:class=> cycle('even', 'odd', :name => 'orders'), :style => order_class}
%td= group_order.present? ? link_to(order.name, group_order_path(group_order)) : order.name

View file

@ -5,9 +5,9 @@
.row-fluid
.span6
%h2= t '.title_open'
= render :partial => "orders", :locals => {:orders => Order.finished_not_closed, :pagination => false}
= render partial: 'orders', locals: {orders: @finished_not_closed_orders_including_group_order, pagination: false}
.span6
%h2= t '.title_closed'
#closed_orders
= render :partial => "orders", :locals => {:orders => @closed_orders, :pagination => true}
= render partial: 'orders', locals: {orders: @closed_orders_including_group_order, pagination: true}

View file

@ -1 +1 @@
$('#closed_orders').html('#{escape_javascript(render("orders", orders: @closed_orders, pagination: true))}');
$('#closed_orders').html('#{escape_javascript(render("orders", orders: @closed_orders_including_group_order, pagination: true))}');

View file

@ -21,19 +21,19 @@
= render :partial => "shared/open_orders", :locals => {:ordergroup => @ordergroup}
// finished orders
- unless Order.finished_not_closed.empty?
- unless @finished_not_closed_orders_including_group_order.empty?
%section
%h2= t '.finished_orders.title'
= render :partial => "orders", :locals => {:orders => Order.finished_not_closed, :pagination => false}
= render partial: 'orders', locals: {orders: @finished_not_closed_orders_including_group_order, pagination: false}
- if @ordergroup.value_of_finished_orders > 0
%p
= t('.finished_orders.total_sum') + ':'
%b= number_to_currency(@ordergroup.value_of_finished_orders)
// closed orders
- unless Order.closed.empty?
- unless @closed_orders_including_group_order.empty?
%section
%h2= t '.closed_orders.title'
= render :partial => "orders", :locals => {:orders => Order.closed.limit(5), :pagination => false}
= render partial: 'orders', locals: {orders: @closed_orders_including_group_order, pagination: false}
%br/
= link_to t('.closed_orders.more'), archive_group_orders_path