Revert "[Invoices] Notify if any order cannot be invoiced on bulk invoice sending"

This commit is contained in:
Filipe
2024-06-13 08:47:05 -06:00
parent e22bec014b
commit df30c1af98
2 changed files with 19 additions and 47 deletions

View File

@@ -33,9 +33,19 @@ module Admin
end
def bulk_invoice(params)
visible_orders = bulk_load_orders(params)
visible_orders = editable_orders.invoiceable.where(id: params[:bulk_ids])
return if notify_if_abn_related_issue(visible_orders)
if Spree::Config.enterprise_number_required_on_invoices?
distributors_without_abn = Enterprise.where(
id: visible_orders.select(:distributor_id),
abn: nil,
)
if distributors_without_abn.exists?
render_business_number_required_error(distributors_without_abn)
return
end
end
cable_ready.append(
selector: "#orders-index",
@@ -84,15 +94,15 @@ module Admin
end
def send_invoices(params)
orders = bulk_load_orders(params)
count = 0
editable_orders.invoiceable.where(id: params[:bulk_ids]).find_each do |o|
next unless o.distributor.can_invoice?
return if notify_if_abn_related_issue(orders)
orders.each do |o|
Spree::OrderMailer.invoice_email(o.id, current_user_id: current_user.id).deliver_later
count += 1
end
success("admin.send_invoice_feedback", orders.size)
success("admin.send_invoice_feedback", count)
end
private
@@ -124,30 +134,5 @@ module Admin
enterprise_name: distributor_names.join(", "))
morph_admin_flashes
end
def bulk_load_orders(params)
editable_orders.invoiceable.where(id: params[:bulk_ids])
end
def notify_if_abn_related_issue(orders)
return false unless abn_required?
distributors = distributors_without_abn(orders)
return false if distributors.empty?
render_business_number_required_error(distributors)
true
end
def abn_required?
Spree::Config.enterprise_number_required_on_invoices?
end
def distributors_without_abn(orders)
Enterprise.where(
id: orders.select(:distributor_id),
abn: [nil, ""],
)
end
end
end

View File

@@ -363,22 +363,9 @@ RSpec.describe '
} must have a valid ABN before invoices can be used."
end
end
context "ABN is null" do
it_behaves_like "should not print the invoice"
context "with legal invoices feature", feature: :invoices do
it_behaves_like "should not print the invoice"
context "with legal invoices feature", feature: :invoices do
it_behaves_like "should not print the invoice"
end
end
context "ABN is empty string" do
before do
order4.distributor.update(abn: "123456789")
order5.distributor.update(abn: "")
end
it_behaves_like "should not print the invoice"
context "with legal invoices feature", feature: :invoices do
it_behaves_like "should not print the invoice"
end
end
end
end