diff --git a/lib/open_food_network/reports/parameters/base.rb b/lib/open_food_network/reports/parameters/base.rb new file mode 100644 index 0000000000..22e2d5ac89 --- /dev/null +++ b/lib/open_food_network/reports/parameters/base.rb @@ -0,0 +1,20 @@ +module OpenFoodNetwork + module Reports + module Parameters + class Base + extend ActiveModel::Naming + extend ActiveModel::Translation + include ActiveModel::Validations + + 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 diff --git a/lib/order_management/reports/enterprise_fee_summary/parameters.rb b/lib/order_management/reports/enterprise_fee_summary/parameters.rb index 70f8d89c78..418038967c 100644 --- a/lib/order_management/reports/enterprise_fee_summary/parameters.rb +++ b/lib/order_management/reports/enterprise_fee_summary/parameters.rb @@ -1,7 +1,9 @@ +require "open_food_network/reports/parameters/base" + module OrderManagement module Reports module EnterpriseFeeSummary - class Parameters + class Parameters < OpenFoodNetwork::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) @@ -29,14 +31,9 @@ module OrderManagement self.shipping_method_ids = [] self.payment_method_ids = [] - attributes.each do |key, value| - public_send("#{key}=", value) - end + super(attributes) end - # The parameters are never persisted. - def to_key; end - protected def require_valid_datetime_range