Sha256: 35459699ac6fe9bf460f759c809121f640c8dcd788cc08e6c47852b37448d2f3

Contents?: true

Size: 1.84 KB

Versions: 1

Compression:

Stored size: 1.84 KB

Contents

module Comee
  module Core
    class SalesOrdersController < ApplicationController
      include Common
      before_action :set_service, only: %i[submit confirm cancel]

      def index
        super do
          Comee::Core::SalesOrder.includes(:customer_order, :fulfillment_center, :sales_order_items).all
        end
      end

      def filter
        @sales_order = Comee::Core::SalesOrder.ransack(params[:q]).result
        render json: {success: true, data: serialize(@sales_order)}
      end

      def submit
        order = @service.submit(params[:id])
        render json: {success: true, data: serialize(order)}
      rescue StandardError => e
        render json: {success: false, error: e.message}
      end

      def confirm
        order = @service.confirm(params[:id])
        render json: {success: true, data: serialize(order)}
      rescue StandardError => e
        render json: {success: false, error: e.message}
      end

      def cancel
        order = @service.cancel(params[:id])
        render json: {success: true, data: serialize(order)}
      rescue StandardError => e
        render json: {success: false, error: e.message}
      end

      private

      def model_params
        params.require(:payload).permit(:order_number, :customer_order_id, :payment_penalty, :status,
                                        :total_price, :amount_paid, :pallete_note, :handover_date, :remark, files: [])
      end

      def back_order_params
        params.permit(payload: [:supplier_id, :order_number, :order_date, :delivery_date, :delivery_address, :invoice_address,
                                :fulfillment_center_id,
                                back_order_items: %i[product_id requested_quantity requested_price supplier_quantity delivery_date]])
      end

      def set_service
        @service = SalesOrderService.new
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
comee_core-0.1.54 app/controllers/comee/core/sales_orders_controller.rb