Replacing old representative template for OCs with active model serializers

This commit is contained in:
Rob Harrington
2015-03-19 12:17:09 +11:00
parent 1c09b8b76f
commit e9f2e743ce
5 changed files with 36 additions and 29 deletions

View File

@@ -0,0 +1,3 @@
class Api::Admin::EnterpriseFeeSerializer < ActiveModel::Serializer
attributes :id, :enterprise_id
end

View File

@@ -0,0 +1,12 @@
class Api::Admin::ExchangeSerializer < ActiveModel::Serializer
attributes :id, :sender_id, :receiver_id, :incoming, :variants, :pickup_time, :pickup_instructions
has_many :enterprise_fees, serializer: Api::Admin::EnterpriseFeeSerializer
def variants
Hash[
OpenFoodNetwork::Permissions.new(options[:current_user]).
visible_variants_within(object).map { |v| [v.id, true] }
]
end
end

View File

@@ -0,0 +1,18 @@
class Api::Admin::OrderCycleSerializer < ActiveModel::Serializer
attributes :id, :name, :orders_open_at, :orders_close_at, :coordinator_id, :exchanges
has_many :coordinator_fees, serializer: Api::IdSerializer
def orders_open_at
object.orders_open_at.to_s
end
def orders_close_at
object.orders_close_at.to_s
end
def exchanges
scoped_exchanges = OpenFoodNetwork::Permissions.new(options[:current_user]).order_cycle_exchanges(object).order('id ASC')
ActiveModel::ArraySerializer.new(scoped_exchanges, {each_serializer: Api::Admin::ExchangeSerializer, current_user: options[:current_user] })
end
end