Move incoming and outgoing parts of the (not simple) OC new and edit pages to separate routes and views to make this page a multi step page

This commit is contained in:
luisramos0
2019-10-29 15:47:09 +00:00
parent ed15bc422e
commit 5f1360e226
5 changed files with 75 additions and 45 deletions

View File

@@ -2,6 +2,7 @@ module Admin
class OrderCyclesController < ResourceController
include OrderCyclesHelper
prepend_before_filter :set_order_cycle_id, only: [:incoming, :outgoing]
before_filter :load_data_for_index, only: :index
before_filter :require_coordinator, only: :new
before_filter :remove_protected_attrs, only: [:update]
@@ -48,6 +49,10 @@ module Admin
end
end
def set_order_cycle_id
params[:id] = params[:order_cycle_id]
end
def update
@order_cycle_form = OrderCycleForm.new(@order_cycle, params, spree_current_user)

View File

@@ -2,48 +2,3 @@
-if Enterprise.managed_by(spree_current_user).include? @order_cycle.coordinator
= render 'coordinator_fees', f: f
%h2= t('.incoming')
%table.exchanges
%thead
%tr
%th= t('.supplier')
%th
=t('.products')
= surround '(', ')' do
%a{href: '#', 'ng-click' => "OrderCycle.toggleAllProducts('incoming')"}
%span{'ng-show' => "OrderCycle.showProducts['incoming']"}= t(:collapse_all)
%span{'ng-hide' => "OrderCycle.showProducts['incoming']"}= t(:expand_all)
%th= t('.receival_details')
%th= t('.fees')
%th.actions
%tbody.panel-ctrl{ object: 'exchange', 'ng-repeat' => 'exchange in order_cycle.incoming_exchanges'}
= render 'exchange_form', f: f, type: 'supplier'
- if Enterprise.managed_by(spree_current_user).include? @order_cycle.coordinator
= render 'add_exchange_form', f: f, type: 'supplier'
%h2= t('.outgoing')
%table.exchanges
%thead
%tr
%th= t('.distributor')
%th
= t('.products')
= surround '(', ')' do
%a{href: '#', 'ng-click' => "OrderCycle.toggleAllProducts('outgoing')"}
%span{'ng-show' => "OrderCycle.showProducts['outgoing']"}= t(:collapse_all)
%span{'ng-hide' => "OrderCycle.showProducts['outgoing']"}= t(:expand_all)
%th{ ng: { if: 'enterprises[exchange.enterprise_id].managed || order_cycle.viewing_as_coordinator' } }
= t('.tags')
%th= t('.delivery_details')
%th= t('.fees')
%th.actions
%tbody.panel-ctrl{ object: 'exchange', 'ng-repeat' => 'exchange in order_cycle.outgoing_exchanges'}
= render 'exchange_form', f: f, type: 'distributor'
- if Enterprise.managed_by(spree_current_user).include? @order_cycle.coordinator
= render 'add_exchange_form', f: f, type: 'distributor'
.actions
%span{'ng-hide' => 'loaded()'}= t(:loading)

View File

@@ -0,0 +1,33 @@
%h1
= t :edit_order_cycle
= admin_inject_order_cycle_instance
= form_for [main_app, :admin, @order_cycle], :url => '', :html => {:class => 'ng order_cycle', 'ng-app' => 'admin.orderCycles', 'ng-controller' => 'AdminEditOrderCycleCtrl', name: 'order_cycle_form'} do |f|
%save-bar{ dirty: "order_cycle_form.$dirty", persist: "true" }
%input.red{ type: "button", value: t(:update), ng: { click: "submit($event, null)", disabled: "!order_cycle_form.$dirty || order_cycle_form.$invalid" } }
%input.red{ type: "button", value: t('.update_and_close'), ng: { click: "submit($event, '#{main_app.admin_order_cycles_path}')", disabled: "!order_cycle_form.$dirty || order_cycle_form.$invalid" } }
%input{ type: "button", ng: { value: "order_cycle_form.$dirty ? '#{t(:cancel)}' : '#{t(:close)}'", click: "cancel('#{main_app.admin_order_cycles_path}')" } }
%h2= t('.incoming')
%table.exchanges
%thead
%tr
%th= t('.supplier')
%th
= t('.products')
= surround '(', ')' do
%a{href: '#', 'ng-click' => "OrderCycle.toggleAllProducts('incoming')"}
%span{'ng-show' => "OrderCycle.showProducts['incoming']"}= t(:collapse_all)
%span{'ng-hide' => "OrderCycle.showProducts['incoming']"}= t(:expand_all)
%th= t('.receival_details')
%th= t('.fees')
%th.actions
%tbody.panel-ctrl{ object: 'exchange', 'ng-repeat' => 'exchange in order_cycle.incoming_exchanges'}
= render 'exchange_form', f: f, type: 'supplier'
- if Enterprise.managed_by(spree_current_user).include? @order_cycle.coordinator
= render 'add_exchange_form', f: f, type: 'supplier'
.actions
%span{'ng-hide' => 'loaded()'}= t(:loading)

View File

@@ -0,0 +1,35 @@
%h1
= t :edit_order_cycle
= admin_inject_order_cycle_instance
= form_for [main_app, :admin, @order_cycle], :url => '', :html => {:class => 'ng order_cycle', 'ng-app' => 'admin.orderCycles', 'ng-controller' => 'AdminEditOrderCycleCtrl', name: 'order_cycle_form'} do |f|
%save-bar{ dirty: "order_cycle_form.$dirty", persist: "true" }
%input.red{ type: "button", value: t(:update), ng: { click: "submit($event, null)", disabled: "!order_cycle_form.$dirty || order_cycle_form.$invalid" } }
%input.red{ type: "button", value: t('.update_and_close'), ng: { click: "submit($event, '#{main_app.admin_order_cycles_path}')", disabled: "!order_cycle_form.$dirty || order_cycle_form.$invalid" } }
%input{ type: "button", ng: { value: "order_cycle_form.$dirty ? '#{t(:cancel)}' : '#{t(:close)}'", click: "cancel('#{main_app.admin_order_cycles_path}')" } }
%h2= t('.outgoing')
%table.exchanges
%thead
%tr
%th= t('.distributor')
%th
= t('.products')
= surround '(', ')' do
%a{href: '#', 'ng-click' => "OrderCycle.toggleAllProducts('outgoing')"}
%span{'ng-show' => "OrderCycle.showProducts['outgoing']"}= t(:collapse_all)
%span{'ng-hide' => "OrderCycle.showProducts['outgoing']"}= t(:expand_all)
%th{ ng: { if: 'enterprises[exchange.enterprise_id].managed || order_cycle.viewing_as_coordinator' } }
= t('.tags')
%th= t('.delivery_details')
%th= t('.fees')
%th.actions
%tbody.panel-ctrl{ object: 'exchange', 'ng-repeat' => 'exchange in order_cycle.outgoing_exchanges'}
= render 'exchange_form', f: f, type: 'distributor'
- if Enterprise.managed_by(spree_current_user).include? @order_cycle.coordinator
= render 'add_exchange_form', f: f, type: 'distributor'
.actions
%span{'ng-hide' => 'loaded()'}= t(:loading)

View File

@@ -9,6 +9,8 @@ Openfoodnetwork::Application.routes.draw do
resources :order_cycles do
post :bulk_update, on: :collection, as: :bulk_update
get :incoming
get :outgoing
member do
get :clone