update the invoice renderer to check if the feature is enable for individual user

This commit is contained in:
Mohamed ABDELLANI
2023-08-20 07:28:32 +01:00
committed by Konrad
parent dce096a56e
commit 3f4eab2a0a
4 changed files with 10 additions and 8 deletions

View File

@@ -104,7 +104,7 @@ module Spree
@order = @order.invoices.find(params[:invoice_id]).presenter
end
render_with_wicked_pdf InvoiceRenderer.new.args(@order)
render_with_wicked_pdf InvoiceRenderer.new.args(@order, spree_current_user)
end
private

View File

@@ -38,7 +38,7 @@ class BulkInvoiceJob < ApplicationJob
else
order
end
invoice = renderer.render_to_string(renderer_data)
invoice = renderer.render_to_string(renderer_data, current_user)
pdf << CombinePDF.parse(invoice)
end

View File

@@ -58,7 +58,7 @@ module Spree
@order
end
pdf = InvoiceRenderer.new.render_to_string(renderer_data)
pdf = InvoiceRenderer.new.render_to_string(renderer_data, current_user)
attach_file("invoice-#{@order.number}.pdf", pdf)
I18n.with_locale valid_locale(@order.user) do

View File

@@ -1,16 +1,18 @@
# frozen_string_literal: true
class InvoiceRenderer
def initialize(renderer = ApplicationController.new)
def initialize(renderer = ApplicationController.new, user = nil)
@renderer = renderer
@user = user
end
def render_to_string(order)
def render_to_string(order, user = @user)
renderer.instance_variable_set(:@order, order)
renderer.render_to_string_with_wicked_pdf(args(order))
renderer.render_to_string_with_wicked_pdf(args(order, user))
end
def args(order)
def args(order, user = @user)
@user = user
{
pdf: "invoice-#{order.number}.pdf",
template: invoice_template,
@@ -24,7 +26,7 @@ class InvoiceRenderer
attr_reader :renderer
def invoice_template
if OpenFoodNetwork::FeatureToggle.enabled?(:invoices)
if OpenFoodNetwork::FeatureToggle.enabled?(:invoices, @user)
invoice_presenter_template
elsif Spree::Config.invoice_style2?
"spree/admin/orders/invoice2"