From ca5a5bf3013be58ab7ba18c5dea01347bb4c144c Mon Sep 17 00:00:00 2001 From: luisramos0 Date: Wed, 24 Jul 2019 09:37:39 +0100 Subject: [PATCH] Convert oc.rabl to oc serializer and use it in both haml file and controller --- app/controllers/shop_controller.rb | 4 ++-- app/helpers/injection_helper.rb | 4 ++++ app/serializers/api/order_cycle_serializer.rb | 11 +++++++++++ app/views/json/_order_cycle.rabl | 3 --- app/views/shopping_shared/_order_cycles.html.haml | 5 ++--- 5 files changed, 19 insertions(+), 8 deletions(-) create mode 100644 app/serializers/api/order_cycle_serializer.rb delete mode 100644 app/views/json/_order_cycle.rabl diff --git a/app/controllers/shop_controller.rb b/app/controllers/shop_controller.rb index de783a1eb3..1d9d727aa2 100644 --- a/app/controllers/shop_controller.rb +++ b/app/controllers/shop_controller.rb @@ -27,12 +27,12 @@ class ShopController < BaseController if oc = OrderCycle.with_distributor(@distributor).active.find_by_id(params[:order_cycle_id]) current_order(true).set_order_cycle! oc @current_order_cycle = oc - render partial: "json/order_cycle" + render json: @current_order_cycle, serializer: Api::OrderCycleSerializer else render status: :not_found, json: "" end else - render partial: "json/order_cycle" + render json: current_order_cycle, serializer: Api::OrderCycleSerializer end end diff --git a/app/helpers/injection_helper.rb b/app/helpers/injection_helper.rb index aa85939fbe..4e1d1cd1ff 100644 --- a/app/helpers/injection_helper.rb +++ b/app/helpers/injection_helper.rb @@ -61,6 +61,10 @@ module InjectionHelper inject_json_ams "currentOrder", current_order, Api::CurrentOrderSerializer, current_distributor: current_distributor, current_order_cycle: current_order_cycle end + def inject_current_order_cycle + inject_json_ams "orderCycleData", current_order_cycle, Api::OrderCycleSerializer + end + def inject_available_shipping_methods inject_json_ams "shippingMethods", available_shipping_methods, Api::ShippingMethodSerializer, current_order: current_order diff --git a/app/serializers/api/order_cycle_serializer.rb b/app/serializers/api/order_cycle_serializer.rb new file mode 100644 index 0000000000..beb7af4e52 --- /dev/null +++ b/app/serializers/api/order_cycle_serializer.rb @@ -0,0 +1,11 @@ +class Api::OrderCycleSerializer < ActiveModel::Serializer + attributes :order_cycle_id, :orders_close_at + + def order_cycle_id + object.id + end + + def orders_close_at + object.orders_close_at.to_s + end +end diff --git a/app/views/json/_order_cycle.rabl b/app/views/json/_order_cycle.rabl deleted file mode 100644 index 0f5d0c990a..0000000000 --- a/app/views/json/_order_cycle.rabl +++ /dev/null @@ -1,3 +0,0 @@ -object current_order_cycle -attributes :orders_close_at -attribute id: :order_cycle_id diff --git a/app/views/shopping_shared/_order_cycles.html.haml b/app/views/shopping_shared/_order_cycles.html.haml index 7a8fe772f9..f8a60b14a3 100644 --- a/app/views/shopping_shared/_order_cycles.html.haml +++ b/app/views/shopping_shared/_order_cycles.html.haml @@ -1,6 +1,5 @@ -- content_for :scripts do - :javascript - angular.module('Darkswarm').value('orderCycleData', #{render "json/order_cycle"}) +- content_for :injection_data do + = inject_current_order_cycle %ordercycle{"ng-controller" => "OrderCycleCtrl"}