mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-06 22:36:07 +00:00
Display exchange product names
This commit is contained in:
14
app/presenters/exchange_presenter.rb
Normal file
14
app/presenters/exchange_presenter.rb
Normal file
@@ -0,0 +1,14 @@
|
||||
class ExchangePresenter
|
||||
attr_accessor :exchange
|
||||
|
||||
def initialize(exchange)
|
||||
@exchange = exchange
|
||||
end
|
||||
|
||||
delegate :id, :sender_id, :receiver_id, :exchange_variants, :to => :exchange
|
||||
|
||||
def exchange_products
|
||||
@exchange.exchange_variants.group_by { |ev| ev.variant.product }
|
||||
end
|
||||
|
||||
end
|
||||
@@ -24,7 +24,9 @@
|
||||
%td {{ enterprises[exchange.enterprise_id].name }}
|
||||
%td= f.submit 'Products', 'ng-click' => 'toggleProducts($event, exchange)'
|
||||
%tr.products{'ng-show' => 'exchange.showProducts'}
|
||||
%td{:colspan => 3} Hello, products
|
||||
%td{:colspan => 3}
|
||||
.exchange-product{'ng-repeat' => 'product in exchange.exchange_products'}
|
||||
{{ product.name }}
|
||||
|
||||
= select_tag :new_supplier_id, options_from_collection_for_select(Enterprise.is_primary_producer, :id, :name), {'ng-model' => 'new_supplier_id'}
|
||||
= f.submit 'Add supplier', 'ng-click' => 'addSupplier($event)'
|
||||
|
||||
@@ -4,11 +4,13 @@ r.element :order_cycle, @order_cycle do
|
||||
r.element :orders_open_at
|
||||
r.element :orders_close_at
|
||||
r.element :coordinator_id
|
||||
r.list_of :exchanges do
|
||||
r.list_of :exchanges, @order_cycle.exchanges.map { |e| ExchangePresenter.new(e) } do
|
||||
r.element :sender_id
|
||||
r.element :receiver_id
|
||||
r.list_of :exchange_variants do |ev|
|
||||
r.element :variant, VariantPresenter.new(ev.variant) do
|
||||
r.list_of :exchange_products do |product, exchange_variants|
|
||||
r.element :id, product.id
|
||||
r.element :name, product.name
|
||||
r.list_of :variants, exchange_variants.map { |ev| VariantPresenter.new(ev.variant) } do
|
||||
r.element :id
|
||||
r.element :image_url
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user