diff --git a/app/serializers/api/admin/id_email_serializer.rb b/app/serializers/api/admin/id_email_serializer.rb index 908192014e..bdf29d3620 100644 --- a/app/serializers/api/admin/id_email_serializer.rb +++ b/app/serializers/api/admin/id_email_serializer.rb @@ -1,3 +1,7 @@ -class Api::Admin::IdEmailSerializer < ActiveModel::Serializer - attributes :id, :email +module Api + module Admin + class IdEmailSerializer < ActiveModel::Serializer + attributes :id, :email + end + end end diff --git a/app/serializers/api/admin/index_order_cycle_serializer.rb b/app/serializers/api/admin/index_order_cycle_serializer.rb index 97987c100c..22d6d4445e 100644 --- a/app/serializers/api/admin/index_order_cycle_serializer.rb +++ b/app/serializers/api/admin/index_order_cycle_serializer.rb @@ -1,67 +1,71 @@ require 'open_food_network/order_cycle_permissions' -class Api::Admin::IndexOrderCycleSerializer < ActiveModel::Serializer - include OrderCyclesHelper +module Api + module Admin + class IndexOrderCycleSerializer < ActiveModel::Serializer + include OrderCyclesHelper - attributes :id, :name, :orders_open_at, :orders_close_at, :status, :variant_count, :deletable - attributes :coordinator, :producers, :shops, :viewing_as_coordinator - attributes :edit_path, :clone_path, :delete_path + attributes :id, :name, :orders_open_at, :orders_close_at, :status, :variant_count, :deletable + attributes :coordinator, :producers, :shops, :viewing_as_coordinator + attributes :edit_path, :clone_path, :delete_path - has_many :schedules, serializer: Api::Admin::IdNameSerializer + has_many :schedules, serializer: Api::Admin::IdNameSerializer - def deletable - can_delete?(object) - end + def deletable + can_delete?(object) + end - def variant_count - object.variants.count - end + def variant_count + object.variants.count + end - def status - order_cycle_status_class object - end + def status + order_cycle_status_class object + end - def orders_open_at - object.orders_open_at.to_s - end + def orders_open_at + object.orders_open_at.to_s + end - def orders_close_at - object.orders_close_at.to_s - end + def orders_close_at + object.orders_close_at.to_s + end - def viewing_as_coordinator - Enterprise.managed_by(options[:current_user]).include? object.coordinator - end + def viewing_as_coordinator + Enterprise.managed_by(options[:current_user]).include? object.coordinator + end - def coordinator - Api::Admin::IdNameSerializer.new(object.coordinator).serializable_hash - end + def coordinator + Api::Admin::IdNameSerializer.new(object.coordinator).serializable_hash + end - def producers - producers = object.suppliers.merge(visible_enterprises) - ActiveModel::ArraySerializer.new(producers, each_serializer: Api::Admin::IdNameSerializer) - end + def producers + producers = object.suppliers.merge(visible_enterprises) + ActiveModel::ArraySerializer.new(producers, each_serializer: Api::Admin::IdNameSerializer) + end - def shops - shops = object.distributors.merge(visible_enterprises) - ActiveModel::ArraySerializer.new(shops, each_serializer: Api::Admin::IdNameSerializer) - end + def shops + shops = object.distributors.merge(visible_enterprises) + ActiveModel::ArraySerializer.new(shops, each_serializer: Api::Admin::IdNameSerializer) + end - def edit_path - edit_admin_order_cycle_path(object) - end + def edit_path + edit_admin_order_cycle_path(object) + end - def clone_path - clone_admin_order_cycle_path(object) - end + def clone_path + clone_admin_order_cycle_path(object) + end - def delete_path - admin_order_cycle_path(object) - end + def delete_path + admin_order_cycle_path(object) + end - private + private - def visible_enterprises - @visible_enterprises ||= OpenFoodNetwork::OrderCyclePermissions.new(options[:current_user], object).visible_enterprises + def visible_enterprises + @visible_enterprises ||= OpenFoodNetwork::OrderCyclePermissions.new(options[:current_user], object).visible_enterprises + end + end end end diff --git a/app/serializers/api/admin/proxy_order_serializer.rb b/app/serializers/api/admin/proxy_order_serializer.rb index 7e8a52bc07..aa09830657 100644 --- a/app/serializers/api/admin/proxy_order_serializer.rb +++ b/app/serializers/api/admin/proxy_order_serializer.rb @@ -1,24 +1,28 @@ -class Api::Admin::ProxyOrderSerializer < ActiveModel::Serializer - attributes :id, :state, :edit_path, :number, :completed_at, :order_cycle_id, :total - attributes :update_issues +module Api + module Admin + class ProxyOrderSerializer < ActiveModel::Serializer + attributes :id, :state, :edit_path, :number, :completed_at, :order_cycle_id, :total + attributes :update_issues - def total - if object.total.present? - object.total.to_money.to_s - else - object.standing_order.standing_line_items.sum(&:total_estimate) + def total + if object.total.present? + object.total.to_money.to_s + else + object.standing_order.standing_line_items.sum(&:total_estimate) + end + end + + def update_issues + options[:order_update_issues].andand[object.order_id] || [] + end + + def completed_at + object.completed_at.blank? ? "" : object.completed_at.strftime("%F %T") + end + + def edit_path + edit_admin_proxy_order_path(object) + end end end - - def update_issues - options[:order_update_issues].andand[object.order_id] || [] - end - - def completed_at - object.completed_at.blank? ? "" : object.completed_at.strftime("%F %T") - end - - def edit_path - edit_admin_proxy_order_path(object) - end end diff --git a/app/serializers/api/admin/schedule_serializer.rb b/app/serializers/api/admin/schedule_serializer.rb index 20207c4e97..37afe40033 100644 --- a/app/serializers/api/admin/schedule_serializer.rb +++ b/app/serializers/api/admin/schedule_serializer.rb @@ -1,9 +1,13 @@ -class Api::Admin::ScheduleSerializer < ActiveModel::Serializer - attributes :id, :name, :order_cycle_ids, :viewing_as_coordinator +module Api + module Admin + class ScheduleSerializer < ActiveModel::Serializer + attributes :id, :name, :order_cycle_ids, :viewing_as_coordinator - has_many :order_cycles, serializer: Api::Admin::IdNameSerializer + has_many :order_cycles, serializer: Api::Admin::IdNameSerializer - def viewing_as_coordinator - options[:editable_schedule_ids].include? object.id + def viewing_as_coordinator + options[:editable_schedule_ids].include? object.id + end + end end end diff --git a/app/serializers/api/admin/standing_line_item_serializer.rb b/app/serializers/api/admin/standing_line_item_serializer.rb index e152c5fe44..9f9ce324df 100644 --- a/app/serializers/api/admin/standing_line_item_serializer.rb +++ b/app/serializers/api/admin/standing_line_item_serializer.rb @@ -1,17 +1,21 @@ -class Api::Admin::StandingLineItemSerializer < ActiveModel::Serializer - attributes :id, :variant_id, :quantity, :description, :price_estimate +module Api + module Admin + class StandingLineItemSerializer < ActiveModel::Serializer + attributes :id, :variant_id, :quantity, :description, :price_estimate - def description - "#{object.variant.product.name} - #{object.variant.full_name}" - end + def description + "#{object.variant.product.name} - #{object.variant.full_name}" + end - def price_estimate - if object.price_estimate - object.price_estimate - elsif options[:fee_calculator] - (object.variant.price + options[:fee_calculator].indexed_fees_for(object.variant)).to_f - else - "?" + def price_estimate + if object.price_estimate + object.price_estimate + elsif options[:fee_calculator] + (object.variant.price + options[:fee_calculator].indexed_fees_for(object.variant)).to_f + else + "?" + end + end end end end diff --git a/app/serializers/api/admin/standing_order_serializer.rb b/app/serializers/api/admin/standing_order_serializer.rb index 8c9ce437e9..f5711623e4 100644 --- a/app/serializers/api/admin/standing_order_serializer.rb +++ b/app/serializers/api/admin/standing_order_serializer.rb @@ -1,39 +1,43 @@ -class Api::Admin::StandingOrderSerializer < ActiveModel::Serializer - attributes :id, :shop_id, :customer_id, :schedule_id, :payment_method_id, :shipping_method_id, :begins_at, :ends_at - attributes :customer_email, :schedule_name, :edit_path, :canceled_at, :paused_at, :state, :credit_card_id +module Api + module Admin + class StandingOrderSerializer < ActiveModel::Serializer + attributes :id, :shop_id, :customer_id, :schedule_id, :payment_method_id, :shipping_method_id, :begins_at, :ends_at + attributes :customer_email, :schedule_name, :edit_path, :canceled_at, :paused_at, :state, :credit_card_id - has_many :standing_line_items, serializer: Api::Admin::StandingLineItemSerializer - has_many :closed_proxy_orders, serializer: Api::Admin::ProxyOrderSerializer - has_many :not_closed_proxy_orders, serializer: Api::Admin::ProxyOrderSerializer - has_one :bill_address, serializer: Api::AddressSerializer - has_one :ship_address, serializer: Api::AddressSerializer + has_many :standing_line_items, serializer: Api::Admin::StandingLineItemSerializer + has_many :closed_proxy_orders, serializer: Api::Admin::ProxyOrderSerializer + has_many :not_closed_proxy_orders, serializer: Api::Admin::ProxyOrderSerializer + has_one :bill_address, serializer: Api::AddressSerializer + has_one :ship_address, serializer: Api::AddressSerializer - def begins_at - object.begins_at.andand.strftime('%F') - end + def begins_at + object.begins_at.andand.strftime('%F') + end - def ends_at - object.ends_at.andand.strftime('%F') - end + def ends_at + object.ends_at.andand.strftime('%F') + end - def paused_at - object.paused_at.andand.strftime('%F') - end + def paused_at + object.paused_at.andand.strftime('%F') + end - def canceled_at - object.canceled_at.andand.strftime('%F') - end + def canceled_at + object.canceled_at.andand.strftime('%F') + end - def customer_email - object.customer.andand.email - end + def customer_email + object.customer.andand.email + end - def schedule_name - object.schedule.andand.name - end + def schedule_name + object.schedule.andand.name + end - def edit_path - return '' unless object.id - edit_admin_standing_order_path(object) + def edit_path + return '' unless object.id + edit_admin_standing_order_path(object) + end + end end end