diff --git a/app/presenters/exchange_presenter.rb b/app/presenters/exchange_presenter.rb new file mode 100644 index 0000000000..cea4814bad --- /dev/null +++ b/app/presenters/exchange_presenter.rb @@ -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 diff --git a/app/views/admin/order_cycles/_form.html.haml b/app/views/admin/order_cycles/_form.html.haml index 40fd9701e8..f4ad2aafc6 100644 --- a/app/views/admin/order_cycles/_form.html.haml +++ b/app/views/admin/order_cycles/_form.html.haml @@ -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)' diff --git a/app/views/admin/order_cycles/show.rep b/app/views/admin/order_cycles/show.rep index 6fb0539c5c..024358da99 100644 --- a/app/views/admin/order_cycles/show.rep +++ b/app/views/admin/order_cycles/show.rep @@ -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