mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-14 04:04:23 +00:00
record subscription issue if no order is generated
This commit is contained in:
@@ -22,6 +22,10 @@ module OrderManagement
|
||||
summary_for(order).record_issue(type, order, message)
|
||||
end
|
||||
|
||||
def record_subscription_issue(subscription)
|
||||
summary_for_shop_id(subscription.shop_id).record_subscription_issue(subscription)
|
||||
end
|
||||
|
||||
def record_and_log_error(type, order, error_message = nil)
|
||||
return record_issue(type, order) unless order.errors.any?
|
||||
|
||||
@@ -51,10 +55,13 @@ module OrderManagement
|
||||
|
||||
private
|
||||
|
||||
def summary_for(order)
|
||||
shop_id = order.distributor_id
|
||||
def summary_for_shop_id(shop_id)
|
||||
@summaries[shop_id] ||= Summary.new(shop_id)
|
||||
end
|
||||
|
||||
def summary_for(order)
|
||||
summary_for_shop_id(order.distributor_id)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -3,13 +3,14 @@
|
||||
module OrderManagement
|
||||
module Subscriptions
|
||||
class Summary
|
||||
attr_reader :shop_id, :issues
|
||||
attr_reader :shop_id, :issues, :subscription_issues
|
||||
|
||||
def initialize(shop_id)
|
||||
@shop_id = shop_id
|
||||
@order_ids = []
|
||||
@success_ids = []
|
||||
@issues = {}
|
||||
@subscription_issues = []
|
||||
end
|
||||
|
||||
def record_order(order)
|
||||
@@ -25,6 +26,10 @@ module OrderManagement
|
||||
issues[type][order.id] = message
|
||||
end
|
||||
|
||||
def record_subscription_issue(subscription)
|
||||
@subscription_issues << subscription.id
|
||||
end
|
||||
|
||||
def order_count
|
||||
@order_ids.count
|
||||
end
|
||||
@@ -34,7 +39,7 @@ module OrderManagement
|
||||
end
|
||||
|
||||
def issue_count
|
||||
(@order_ids - @success_ids).count
|
||||
(@order_ids - @success_ids).count + @subscription_issues.count
|
||||
end
|
||||
|
||||
def orders_affected_by(type)
|
||||
|
||||
Reference in New Issue
Block a user