mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-05 22:26:07 +00:00
Move some in OpenFoodNetwork to engine services
This removes the OpenFoodNetwork namespace from these too.
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
require "open_food_network/reports"
|
||||
require "order_management/reports/enterprise_fee_summary/parameters"
|
||||
require "order_management/reports/enterprise_fee_summary/permissions"
|
||||
require "order_management/reports/enterprise_fee_summary/authorizer"
|
||||
@@ -22,7 +21,7 @@ module Spree
|
||||
|
||||
@report = report_klass::ReportService.new(@permissions, @report_parameters)
|
||||
renderer.render(self)
|
||||
rescue OpenFoodNetwork::Reports::Authorizer::ParameterNotAllowedError => e
|
||||
rescue ::Reports::Authorizer::ParameterNotAllowedError => e
|
||||
flash[:error] = e.message
|
||||
render_report_form
|
||||
end
|
||||
@@ -61,7 +60,7 @@ module Spree
|
||||
when nil, "", "html"
|
||||
report_klass::Renderers::HtmlRenderer
|
||||
else
|
||||
raise OpenFoodNetwork::Reports::UnsupportedReportFormatException
|
||||
raise Reports::UnsupportedReportFormatException
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
3
engines/order_management/app/services/reports.rb
Normal file
3
engines/order_management/app/services/reports.rb
Normal file
@@ -0,0 +1,3 @@
|
||||
module Reports
|
||||
class UnsupportedReportFormatException < StandardError; end
|
||||
end
|
||||
12
engines/order_management/app/services/reports/authorizer.rb
Normal file
12
engines/order_management/app/services/reports/authorizer.rb
Normal file
@@ -0,0 +1,12 @@
|
||||
module Reports
|
||||
class Authorizer
|
||||
class ParameterNotAllowedError < StandardError; end
|
||||
|
||||
attr_accessor :parameters, :permissions
|
||||
|
||||
def initialize(parameters, permissions)
|
||||
@parameters = parameters
|
||||
@permissions = permissions
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,19 @@
|
||||
module Reports
|
||||
module Parameters
|
||||
class Base
|
||||
extend ActiveModel::Naming
|
||||
extend ActiveModel::Translation
|
||||
include ActiveModel::Validations
|
||||
include ActiveModel::Validations::Callbacks
|
||||
|
||||
def initialize(attributes = {})
|
||||
attributes.each do |key, value|
|
||||
public_send("#{key}=", value)
|
||||
end
|
||||
end
|
||||
|
||||
# The parameters are never persisted.
|
||||
def to_key; end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,9 @@
|
||||
module Reports
|
||||
class Permissions
|
||||
attr_accessor :user
|
||||
|
||||
def initialize(user)
|
||||
@user = user
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,11 @@
|
||||
module Reports
|
||||
module Renderers
|
||||
class Base
|
||||
attr_reader :report_data
|
||||
|
||||
def initialize(report_data)
|
||||
@report_data = report_data
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,11 @@
|
||||
module Reports
|
||||
module ReportData
|
||||
class Base
|
||||
def initialize(attributes = {})
|
||||
attributes.each do |key, value|
|
||||
public_send("#{key}=", value)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1,9 +1,7 @@
|
||||
require "open_food_network/reports/authorizer"
|
||||
|
||||
module OrderManagement
|
||||
module Reports
|
||||
module EnterpriseFeeSummary
|
||||
class Authorizer < OpenFoodNetwork::Reports::Authorizer
|
||||
class Authorizer < ::Reports::Authorizer
|
||||
@i18n_scope = "order_management.reports.enterprise_fee_summary"
|
||||
|
||||
PARAMETER_NOT_ALLOWED_ERROR = I18n.t("parameter_not_allowed_error", scope: @i18n_scope)
|
||||
@@ -28,7 +26,7 @@ module OrderManagement
|
||||
end
|
||||
|
||||
def require_ids_allowed(array, allowed_objects)
|
||||
error_klass = OpenFoodNetwork::Reports::Authorizer::ParameterNotAllowedError
|
||||
error_klass = ::Reports::Authorizer::ParameterNotAllowedError
|
||||
error_message = PARAMETER_NOT_ALLOWED_ERROR
|
||||
ids_allowed = (array - allowed_objects.map(&:id).map(&:to_s)).blank?
|
||||
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
require "open_food_network/reports/parameters/base"
|
||||
|
||||
module OrderManagement
|
||||
module Reports
|
||||
module EnterpriseFeeSummary
|
||||
class Parameters < OpenFoodNetwork::Reports::Parameters::Base
|
||||
class Parameters < ::Reports::Parameters::Base
|
||||
@i18n_scope = "order_management.reports.enterprise_fee_summary"
|
||||
|
||||
DATE_END_BEFORE_START_ERROR = I18n.t("date_end_before_start_error", scope: @i18n_scope)
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
require "open_food_network/reports/permissions"
|
||||
|
||||
module OrderManagement
|
||||
module Reports
|
||||
module EnterpriseFeeSummary
|
||||
class Permissions < OpenFoodNetwork::Reports::Permissions
|
||||
class Permissions < ::Reports::Permissions
|
||||
def allowed_order_cycles
|
||||
@allowed_order_cycles ||= OrderCycle.accessible_by(user)
|
||||
end
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
require "open_food_network/reports/renderers/base"
|
||||
|
||||
module OrderManagement
|
||||
module Reports
|
||||
module EnterpriseFeeSummary
|
||||
module Renderers
|
||||
class CsvRenderer < OpenFoodNetwork::Reports::Renderers::Base
|
||||
class CsvRenderer < ::Reports::Renderers::Base
|
||||
def render(context)
|
||||
context.send_data(generate, filename: filename)
|
||||
end
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
require "open_food_network/reports/renderers/base"
|
||||
|
||||
module OrderManagement
|
||||
module Reports
|
||||
module EnterpriseFeeSummary
|
||||
module Renderers
|
||||
class HtmlRenderer < OpenFoodNetwork::Reports::Renderers::Base
|
||||
class HtmlRenderer < ::Reports::Renderers::Base
|
||||
def render(context)
|
||||
context.instance_variable_set :@renderer, self
|
||||
context.render(action: :create, renderer: self)
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
require "open_food_network/reports/report_data/base"
|
||||
|
||||
module OrderManagement
|
||||
module Reports
|
||||
module EnterpriseFeeSummary
|
||||
module ReportData
|
||||
class EnterpriseFeeTypeTotal < OpenFoodNetwork::Reports::ReportData::Base
|
||||
class EnterpriseFeeTypeTotal < ::Reports::ReportData::Base
|
||||
attr_accessor :fee_type, :enterprise_name, :fee_name, :customer_name, :fee_placement,
|
||||
:fee_calculated_on_transfer_through_name, :tax_category_name, :total_amount
|
||||
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
require "open_food_network/reports/report_data/base"
|
||||
|
||||
module OrderManagement
|
||||
module Reports
|
||||
module EnterpriseFeeSummary
|
||||
module ReportData
|
||||
class EnterpriseFeeTypeTotals < OpenFoodNetwork::Reports::ReportData::Base
|
||||
class EnterpriseFeeTypeTotals < ::Reports::ReportData::Base
|
||||
attr_accessor :list
|
||||
|
||||
def initialize(*args)
|
||||
|
||||
@@ -3,7 +3,6 @@ require "spec_helper"
|
||||
require "order_management/reports/enterprise_fee_summary/parameters"
|
||||
require "order_management/reports/enterprise_fee_summary/permissions"
|
||||
require "order_management/reports/enterprise_fee_summary/authorizer"
|
||||
require "open_food_network/reports/authorizer"
|
||||
|
||||
describe OrderManagement::Reports::EnterpriseFeeSummary::Authorizer do
|
||||
let(:report_klass) { OrderManagement::Reports::EnterpriseFeeSummary }
|
||||
@@ -33,7 +32,7 @@ describe OrderManagement::Reports::EnterpriseFeeSummary::Authorizer do
|
||||
|
||||
it "raises ParameterNotAllowedError" do
|
||||
expect { authorizer.authorize! }
|
||||
.to raise_error(OpenFoodNetwork::Reports::Authorizer::ParameterNotAllowedError)
|
||||
.to raise_error(Reports::Authorizer::ParameterNotAllowedError)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -58,7 +57,7 @@ describe OrderManagement::Reports::EnterpriseFeeSummary::Authorizer do
|
||||
|
||||
it "raises ParameterNotAllowedError" do
|
||||
expect { authorizer.authorize! }
|
||||
.to raise_error(OpenFoodNetwork::Reports::Authorizer::ParameterNotAllowedError)
|
||||
.to raise_error(Reports::Authorizer::ParameterNotAllowedError)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -83,7 +82,7 @@ describe OrderManagement::Reports::EnterpriseFeeSummary::Authorizer do
|
||||
|
||||
it "raises ParameterNotAllowedError" do
|
||||
expect { authorizer.authorize! }
|
||||
.to raise_error(OpenFoodNetwork::Reports::Authorizer::ParameterNotAllowedError)
|
||||
.to raise_error(Reports::Authorizer::ParameterNotAllowedError)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -108,7 +107,7 @@ describe OrderManagement::Reports::EnterpriseFeeSummary::Authorizer do
|
||||
|
||||
it "raises ParameterNotAllowedError" do
|
||||
expect { authorizer.authorize! }
|
||||
.to raise_error(OpenFoodNetwork::Reports::Authorizer::ParameterNotAllowedError)
|
||||
.to raise_error(Reports::Authorizer::ParameterNotAllowedError)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -133,7 +132,7 @@ describe OrderManagement::Reports::EnterpriseFeeSummary::Authorizer do
|
||||
|
||||
it "raises ParameterNotAllowedError" do
|
||||
expect { authorizer.authorize! }
|
||||
.to raise_error(OpenFoodNetwork::Reports::Authorizer::ParameterNotAllowedError)
|
||||
.to raise_error(Reports::Authorizer::ParameterNotAllowedError)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -158,7 +157,7 @@ describe OrderManagement::Reports::EnterpriseFeeSummary::Authorizer do
|
||||
|
||||
it "raises ParameterNotAllowedError" do
|
||||
expect { authorizer.authorize! }
|
||||
.to raise_error(OpenFoodNetwork::Reports::Authorizer::ParameterNotAllowedError)
|
||||
.to raise_error(Reports::Authorizer::ParameterNotAllowedError)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -77,7 +77,7 @@ describe OrderManagement::Reports::EnterpriseFeeSummary::Parameters do
|
||||
|
||||
it "raises error when the parameters are not allowed" do
|
||||
parameters = described_class.new(order_cycle_ids: [(order_cycle.id + 1).to_s])
|
||||
expect { parameters.authorize!(permissions) }.to raise_error(OpenFoodNetwork::Reports::Authorizer::ParameterNotAllowedError)
|
||||
expect { parameters.authorize!(permissions) }.to raise_error(Reports::Authorizer::ParameterNotAllowedError)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
module OpenFoodNetwork
|
||||
module Reports
|
||||
class UnsupportedReportFormatException < StandardError; end
|
||||
end
|
||||
end
|
||||
@@ -1,14 +0,0 @@
|
||||
module OpenFoodNetwork
|
||||
module Reports
|
||||
class Authorizer
|
||||
class ParameterNotAllowedError < StandardError; end
|
||||
|
||||
attr_accessor :parameters, :permissions
|
||||
|
||||
def initialize(parameters, permissions)
|
||||
@parameters = parameters
|
||||
@permissions = permissions
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1,21 +0,0 @@
|
||||
module OpenFoodNetwork
|
||||
module Reports
|
||||
module Parameters
|
||||
class Base
|
||||
extend ActiveModel::Naming
|
||||
extend ActiveModel::Translation
|
||||
include ActiveModel::Validations
|
||||
include ActiveModel::Validations::Callbacks
|
||||
|
||||
def initialize(attributes = {})
|
||||
attributes.each do |key, value|
|
||||
public_send("#{key}=", value)
|
||||
end
|
||||
end
|
||||
|
||||
# The parameters are never persisted.
|
||||
def to_key; end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1,11 +0,0 @@
|
||||
module OpenFoodNetwork
|
||||
module Reports
|
||||
class Permissions
|
||||
attr_accessor :user
|
||||
|
||||
def initialize(user)
|
||||
@user = user
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1,13 +0,0 @@
|
||||
module OpenFoodNetwork
|
||||
module Reports
|
||||
module Renderers
|
||||
class Base
|
||||
attr_reader :report_data
|
||||
|
||||
def initialize(report_data)
|
||||
@report_data = report_data
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1,13 +0,0 @@
|
||||
module OpenFoodNetwork
|
||||
module Reports
|
||||
module ReportData
|
||||
class Base
|
||||
def initialize(attributes = {})
|
||||
attributes.each do |key, value|
|
||||
public_send("#{key}=", value)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user