From de9453fa24b1c645ee418845f34f02296f3b32fb Mon Sep 17 00:00:00 2001 From: "tg(x)" <*@tg-x.net> Date: Wed, 13 Nov 2013 16:29:30 +0100 Subject: [PATCH 1/2] dashboard: link to view order page --- app/helpers/group_orders_helper.rb | 13 ++++++++++++- app/views/shared/_open_orders.html.haml | 4 ++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/helpers/group_orders_helper.rb b/app/helpers/group_orders_helper.rb index b7707744..1c734498 100644 --- a/app/helpers/group_orders_helper.rb +++ b/app/helpers/group_orders_helper.rb @@ -16,6 +16,17 @@ module GroupOrdersHelper link_to order.name, path, options end + def link_to_ordering_price(order, options = {}) + if group_order = order.group_order(current_user.ordergroup) + price = group_order.price + path = group_order_path(group_order) + else + price = 0 + path = new_group_order_path(:order_id => order.id) + end + link_to number_to_currency(price), path, options + end + # Return css class names for order result table def order_article_class_name(quantity, tolerance, result) @@ -36,4 +47,4 @@ module GroupOrdersHelper {group_order_article: goa, quantity: quantity, tolerance: tolerance, result: result, sub_total: sub_total} end -end \ No newline at end of file +end diff --git a/app/views/shared/_open_orders.html.haml b/app/views/shared/_open_orders.html.haml index 63259520..b4ec76f0 100644 --- a/app/views/shared/_open_orders.html.haml +++ b/app/views/shared/_open_orders.html.haml @@ -10,7 +10,7 @@ %th= t '.supplier' %th= t '.ending' %th= t '.who_ordered' - %th= t '.total' + %th.numeric= t '.total' %tbody - total = 0 - Order.open.each do |order| @@ -20,7 +20,7 @@ - if group_order = order.group_order(ordergroup) - total += group_order.price %td= "#{group_order.updated_by.nick} (#{format_time(group_order.updated_on)})" - %td.numeric= number_to_currency(group_order.price) + %td.numeric= link_to_ordering_price(order) - else %td{:colspan => 2} - if total > 0 From 810656a53b9c8fadbfbd1dabe7f20ba87ff53a6b Mon Sep 17 00:00:00 2001 From: wvengen Date: Mon, 25 Nov 2013 10:04:44 +0100 Subject: [PATCH 2/2] small link_to_ordering refactoring --- app/helpers/group_orders_helper.rb | 22 +++++++++------------- app/views/shared/_open_orders.html.haml | 4 +++- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/app/helpers/group_orders_helper.rb b/app/helpers/group_orders_helper.rb index 1c734498..11434a83 100644 --- a/app/helpers/group_orders_helper.rb +++ b/app/helpers/group_orders_helper.rb @@ -7,24 +7,20 @@ module GroupOrdersHelper }.join("\n") end + # Returns a link to the page where a group_order can be edited. + # If the option :show is true, the link is for showing the group_order. def link_to_ordering(order, options = {}) - path = if group_order = order.group_order(current_user.ordergroup) + group_order = order.group_order(current_user.ordergroup) + path = if options[:show] and group_order + group_order_path(group_order) + elsif group_order edit_group_order_path(group_order, :order_id => order.id) else new_group_order_path(:order_id => order.id) end - link_to order.name, path, options - end - - def link_to_ordering_price(order, options = {}) - if group_order = order.group_order(current_user.ordergroup) - price = group_order.price - path = group_order_path(group_order) - else - price = 0 - path = new_group_order_path(:order_id => order.id) - end - link_to number_to_currency(price), path, options + options.delete(:show) + name = block_given? ? yield(order, group_order) : order.name + path ? link_to(name, path, options) : name end # Return css class names for order result table diff --git a/app/views/shared/_open_orders.html.haml b/app/views/shared/_open_orders.html.haml index b4ec76f0..e3fef854 100644 --- a/app/views/shared/_open_orders.html.haml +++ b/app/views/shared/_open_orders.html.haml @@ -20,7 +20,9 @@ - if group_order = order.group_order(ordergroup) - total += group_order.price %td= "#{group_order.updated_by.nick} (#{format_time(group_order.updated_on)})" - %td.numeric= link_to_ordering_price(order) + %td.numeric + = link_to_ordering(order, show: true) do + - number_to_currency(group_order.price) - else %td{:colspan => 2} - if total > 0