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 %>