From 31b33594c621ffaa9ee53a5137d66d854f48f05b Mon Sep 17 00:00:00 2001 From: phyusin Date: Tue, 26 Jun 2018 15:43:58 +0630 Subject: [PATCH] check order reservataion status --- app/assets/javascripts/order_reservation.js | 17 +++++-- .../origami/order_reservation_controller.rb | 50 ++++++++++++++----- .../pending_order/completed_sale.html.erb | 4 +- app/views/origami/sales/show.html.erb | 2 + 4 files changed, 54 insertions(+), 19 deletions(-) diff --git a/app/assets/javascripts/order_reservation.js b/app/assets/javascripts/order_reservation.js index 4dd86dfd..96be3a43 100644 --- a/app/assets/javascripts/order_reservation.js +++ b/app/assets/javascripts/order_reservation.js @@ -15,12 +15,12 @@ $(function() { customTableClick(); $(".nav-item").on("click", function(){ - type = $(this).attr("data-type"); - refreshDetailData(); + var type = $(this).attr("data-type"); $('#accepted').hide(); $('#cancel').hide(); $(".tbl_customer").hide(); $(".order_close_cashier").hide(); + refreshDetailData(); if (type == "pending") { $(".first-1").click(); $('#accepted').text("ACCEPT"); @@ -240,6 +240,11 @@ function customTableClick(){ } function refreshDetailData(){ + $("#ref_no").text(""); + $("#callback_url").text(""); + $("#order_id").text(""); + $("#status").text(""); + $('#requested_date_time').text(""); $("#sr_number").text(""); $("#delivery_info").text(""); @@ -260,7 +265,7 @@ function refreshDetailData(){ //show order list function show_order_detail(url,sr_no){ - $('.summary-items').html(""); + // $('.summary-items').html(""); //Start Ajax $.ajax({ type: "GET", @@ -470,8 +475,10 @@ function callback_url(callback,ref_no,order_id,status,min_type,time,exptime,reas closeOnConfirm: false, closeOnCancel: false, allowOutsideClick: false - }, function () { - window.location.href = '/origami/order_reservation'; + }, function (isConfirm) { + if(isConfirm){ + window.location.href = '/origami/order_reservation'; + } }); } } diff --git a/app/controllers/origami/order_reservation_controller.rb b/app/controllers/origami/order_reservation_controller.rb index 10f7f679..4654eb22 100644 --- a/app/controllers/origami/order_reservation_controller.rb +++ b/app/controllers/origami/order_reservation_controller.rb @@ -17,29 +17,53 @@ class Origami::OrderReservationController < BaseOrigamiController expected_waiting_time = min_type + " " +params[:expected_time] end remark = params[:remark] - access_code = params[:access_code] - @order_reservation = OrderReservation.find(@id) + # access_code = params[:access_code] order_reserve = OrderReservation.find_by_transaction_ref(params[:ref_no]) if !order_reserve.nil? if !ShiftSale.current_shift.nil? if @status == "processed" - result = OrderReservation.create_doemal_order(@order_reservation,current_user) + if order_reserve.status == "accepted" + result = OrderReservation.create_doemal_order(order_reserve,current_user) + else + Rails.logger.debug "Order reservation :: " + order_reserve.to_json + " :: send status ::" + @status + result = {status: false, message: 'Could not send order to kitchen!'} + end elsif @status == "delivery" - OrderReservation.update_order_reservation(@id, nil, "ready_to_delivery") - response = OrderReservation.send_status_to_ordering(@order_reservation.callback_url,@order_reservation.transaction_ref,"ready_to_delivery") - result = {:status=> true, :message => "ready for delivery" } + if order_reserve.status == "send_to_kitchen" + OrderReservation.update_order_reservation(@id, nil, "ready_to_delivery") + response = OrderReservation.send_status_to_ordering(order_reserve.callback_url,order_reserve.transaction_ref,"ready_to_delivery") + result = {:status=> true, :message => "ready for delivery" } + else + Rails.logger.debug "Order reservation :: " + order_reserve.to_json + " :: send status ::" + @status + result = {status: false, message: 'Could not ready order to deliver!'} + end elsif @status == "completed" - result = OrderReservation.update_doemal_payment(@order_reservation,current_user) + if order_reserve.status == "ready_to_delivery" + result = OrderReservation.update_doemal_payment(order_reserve,current_user) + else + Rails.logger.debug "Order reservation :: " + order_reserve.to_json + " :: send status ::" + @status + result = {status: false, message: 'Could not deliver order!'} + end else if @status == "rejected" - OrderReservation.update_order_reservation(@id, nil, "rejected",nil,remark,access_code,current_user) - response = OrderReservation.send_status_to_ordering(@order_reservation.callback_url,@order_reservation.transaction_ref,"rejected") - result = {:status=> true, :message => "rejected" } + if order_reserve.status == "new" || order_reserve.status == "accepted" + OrderReservation.update_order_reservation(@id, nil, "rejected",nil,remark,access_code,current_user) + response = OrderReservation.send_status_to_ordering(order_reserve.callback_url,order_reserve.transaction_ref,"rejected") + result = {:status=> true, :message => "rejected" } + else + Rails.logger.debug "Order reservation :: " + order_reserve.to_json + " :: send status ::" + @status + result = {status: false, message: 'Could not reject order!'} + end else - OrderReservation.update_order_reservation(@id, nil, "accepted", expected_waiting_time) - response = OrderReservation.send_status_to_ordering(@order_reservation.callback_url,@order_reservation.transaction_ref,"accepted") - result = {:status=> true, :message => "accepted" } + if order_reserve.status == "new" + OrderReservation.update_order_reservation(@id, nil, "accepted", expected_waiting_time) + response = OrderReservation.send_status_to_ordering(order_reserve.callback_url,order_reserve.transaction_ref,"accepted") + result = {:status=> true, :message => "accepted" } + else + Rails.logger.debug "Order reservation :: " + order_reserve.to_json + " :: send status ::" + @status + result = {status: false, message: 'Could not accept order!'} + end end end else diff --git a/app/views/origami/pending_order/completed_sale.html.erb b/app/views/origami/pending_order/completed_sale.html.erb index 46dc035d..1a649634 100644 --- a/app/views/origami/pending_order/completed_sale.html.erb +++ b/app/views/origami/pending_order/completed_sale.html.erb @@ -173,7 +173,9 @@ <% if current_user.role != "waiter" %> <% if @sale.sale_status != 'void' && @sale.sale_status != 'waste' && @sale.sale_status != 'spoile' %> <% if current_user.role == "cashier" %> - Void + <% if @sale.payment_status != 'foc' %> + Void + <% end %> Re.Print <% else %> diff --git a/app/views/origami/sales/show.html.erb b/app/views/origami/sales/show.html.erb index b373fd45..865433ad 100755 --- a/app/views/origami/sales/show.html.erb +++ b/app/views/origami/sales/show.html.erb @@ -257,7 +257,9 @@ <% if @sale.sale_status != 'void' && @sale.sale_status != 'waste' && @sale.sale_status != 'spoile' %> <% if current_login_employee.role == "cashier" %> + <% if @sale.payment_status != 'foc' %> Void + <% end %> Re.Print <% else %>