diff --git a/app/assets/javascripts/channels/check_new_order.js b/app/assets/javascripts/channels/check_new_order.js
new file mode 100644
index 00000000..5bd64013
--- /dev/null
+++ b/app/assets/javascripts/channels/check_new_order.js
@@ -0,0 +1,40 @@
+App.check_new_order = App.cable.subscriptions.create('CheckNewOrderChannel', {
+ connected: function() {},
+
+ disconnected: function() {},
+
+ received: function(data) {
+ var order = data.data;
+ if(order.length > 0){
+ var order_lists = "";
+ $.each(order, function(key, value){
+ if(key==0){
+ order_lists = value.order_reservation_id;
+ }else if(key == (order.length - 1)){
+ order_lists += ' and ' + value.order_reservation_id;
+ }else{
+ order_lists += ', ' + value.order_reservation_id;
+ }
+ });
+
+ // alert(order_lists);
+ swal({
+ html: true,
+ title: 'Information',
+ target: document.getElementById('notify_new_order'),
+ text: "You have new orders.
"+
+ "Are you accept or reject for these orders "+order_lists+"?",
+ type: 'success',
+ timer: 1000,
+ closeOnConfirm: false,
+ closeOnCancel: false,
+ allowOutsideClick: false
+ },function(isConfirm){
+ if(isConfirm){
+ swal.close();
+ }
+ });
+ }
+ }
+});
+
diff --git a/app/assets/javascripts/channels/check_order_ready_to_delivery.js b/app/assets/javascripts/channels/check_order_ready_to_delivery.js
new file mode 100644
index 00000000..84dd1982
--- /dev/null
+++ b/app/assets/javascripts/channels/check_order_ready_to_delivery.js
@@ -0,0 +1,40 @@
+App.check_order_ready_to_delivery = App.cable.subscriptions.create('CheckOrderReadyToDeliveryChannel', {
+ connected: function() {},
+
+ disconnected: function() {},
+
+ received: function(data) {
+ var order = data.data;
+ if(order.length > 0){
+ var order_lists = "";
+ $.each(order, function(key, value){
+ if(key==0){
+ order_lists = value.order_reservation_id;
+ }else if(key == (order.length - 1)){
+ order_lists += ' and ' + value.order_reservation_id;
+ }else{
+ order_lists += ', ' + value.order_reservation_id;
+ }
+ });
+
+ // alert(order_lists);
+ swal({
+ html: true,
+ title: 'Information',
+ target: document.getElementById('notify_order_ready_to_delivery'),
+ text: "You have orders that are ready to deliver.
"+
+ "Could you ready these orders "+order_lists+" to deliver?",
+ type: 'success',
+ timer: 1000,
+ closeOnConfirm: false,
+ closeOnCancel: false,
+ allowOutsideClick: false
+ },function(isConfirm){
+ if(isConfirm){
+ swal.close();
+ }
+ });
+ }
+ }
+});
+
diff --git a/app/assets/javascripts/channels/check_order_send_to_kitchen.js b/app/assets/javascripts/channels/check_order_send_to_kitchen.js
new file mode 100644
index 00000000..6727dbdb
--- /dev/null
+++ b/app/assets/javascripts/channels/check_order_send_to_kitchen.js
@@ -0,0 +1,40 @@
+App.check_order_send_to_kitchen = App.cable.subscriptions.create('CheckOrderSendToKitchenChannel', {
+ connected: function() {},
+
+ disconnected: function() {},
+
+ received: function(data) {
+ var order = data.data;
+ if(order.length > 0){
+ var order_lists = "";
+ $.each(order, function(key, value){
+ if(key==0){
+ order_lists = value.order_reservation_id;
+ }else if(key == (order.length - 1)){
+ order_lists += ' and ' + value.order_reservation_id;
+ }else{
+ order_lists += ', ' + value.order_reservation_id;
+ }
+ });
+
+ // alert(order_lists);
+ swal({
+ html: true,
+ title: 'Information',
+ target: document.getElementById('notify_order_send_to_kitchen'),
+ text: "You have to send order to kitchen.
"+
+ "Could you send these orders "+order_lists+" to kitchen?",
+ type: 'success',
+ timer: 1000,
+ closeOnConfirm: false,
+ closeOnCancel: false,
+ allowOutsideClick: false
+ },function(isConfirm){
+ if(isConfirm){
+ swal.close();
+ }
+ });
+ }
+ }
+});
+
diff --git a/app/assets/javascripts/channels/order_reservation.js b/app/assets/javascripts/channels/order_reservation.js
index 8acf8997..68da8d87 100644
--- a/app/assets/javascripts/channels/order_reservation.js
+++ b/app/assets/javascripts/channels/order_reservation.js
@@ -1,6 +1,4 @@
-App.checkin = App.cable.subscriptions.create('OrderReservationChannel', {
-// App.messages = App.cable.subscriptions.create('MessagesChannel', {
-
+App.order_reservation = App.cable.subscriptions.create('OrderReservationChannel', {
connected: function() {},
disconnected: function() {},
@@ -14,15 +12,11 @@ App.checkin = App.cable.subscriptions.create('OrderReservationChannel', {
var active_class = "";
if(key==0){
active_class = "tr-active";
+ showNewOrder(order[key]);
}
var rowCount = key+1;
var date = new Date(value.created_at);
- // var deliveries = value["delivery"];
- var isPM = date.getHours() >= 12;
- var isMidday = date.getHours() == 12;
- var time = [date.getHours() - (isPM && !isMidday ? 12 : 0),
- date.getMinutes() || '00'].join(':') +
- (isPM ? ' PM' : 'AM');
+ var time = timeFormat(date);
var created_at = date.getFullYear() +'-'+ (date.getMonth() > 10? date.getMonth() : '0' + (date.getMonth() + 1)) +'-'+ (date.getDate()>10?date.getDate() : '0'+date.getDate());
var delivery_type = "";
@@ -48,11 +42,11 @@ App.checkin = App.cable.subscriptions.create('OrderReservationChannel', {
+''
+' ';
- $('.order_reserve_cable tbody').append(row);
+ $('.custom-table.order_reserve_cable tbody').append(row);
});
}
-
+ customTableClick();
}
});
diff --git a/app/assets/javascripts/order_reservation.js b/app/assets/javascripts/order_reservation.js
index 8f9b3f4d..c60accdf 100644
--- a/app/assets/javascripts/order_reservation.js
+++ b/app/assets/javascripts/order_reservation.js
@@ -1,12 +1,19 @@
$(function() {
-
+ $("#discount").hide();
+ $(".expected_time").hide();
+ $(function() {
+ $('.first-1').click();
+ });
+
+ customTableClick();
+
$(".nav-item").on("click", function(){
type = $(this).attr("data-type");
refreshDetailData();
if (type == "pending") {
$(".first-1").click();
- $('#accepted').text("Accepted");
+ $('#accepted').text("ACCEPT");
$('#accepted').attr("data-value","accepted");
}else if(type == "processing"){
$(".second-1").click();
@@ -24,147 +31,6 @@ $(function() {
// console.log(type);
});
- $(function(){
- $('.first-1').click();
- });
-
- $(".custom-tr").on("click", function(){
- $(".custom-tr").removeClass("tr-active");
- $(this).addClass("tr-active");
- var order_id = $(this).attr("data-id");
- var sr_no = $(this).attr("data-sr-no");
- var url = "order_reservation/get_order/"+order_id;
- show_order_detail(url,sr_no);
- });
-
- function refreshDetailData(){
- $('#requested_date_time').text("");
- $("#sr_number").text("");
- $("#delivery_info").text("");
- $("#contact_info").text("");
- $('.summary-items').html("");
- $('#sub_total').text("0.00");
- $('#delivery_fee').text("0.00");
- $('#total_charges').text("0.00");
- $('#discount_amount').text("0.00");
- $('#total_tax').text("0.00");
- $('#grand_total').text("0.00");
- }
-
- //show order list
- function show_order_detail(url,sr_no){
- $('.summary-items').html("");
- //Start Ajax
- $.ajax({
- type: "GET",
- url: url,
- data: {},
- dataType: "json",
- success: function(data) {
- // console.log(data);
- var delivery = data["delivery"];
- var items = data["order_items"];
- var item_list = $('.summary-items');
-
- var newDate = new Date(data.requested_time);
- var isPM = newDate.getHours() >= 12;
- var isMidday = newDate.getHours() == 12;
- var time = [newDate.getHours() - (isPM && !isMidday ? 12 : 0),
- newDate.getMinutes() || '00'].join(':') +
- (isPM ? ' PM' : 'AM');
- var requested_date = newDate.getFullYear() + '-' + (newDate.getMonth() > 10? newDate.getMonth() : '0' + (newDate.getMonth() + 1)) +'-'+ (newDate.getDate() > 10? newDate.getDate() : '0' + newDate.getDate()) +' '+time;
-
- if((data.expected_waiting_time!=undefined) && (data.expected_waiting_time!=null)){
- var expDate = new Date(data.expected_waiting_time);
- var isPM = expDate.getHours() >= 12;
- var isMidday = expDate.getHours() == 12;
- var exptime = [expDate.getHours() - (isPM && !isMidday ? 12 : 0),
- expDate.getMinutes() || '00'].join(':') +
- (isPM ? ' PM' : 'AM');
- var expected_time = expDate.getFullYear() + '-' + (expDate.getMonth() > 10? expDate.getMonth() : '0' + (expDate.getMonth() + 1)) +'-'+ (expDate.getDate() > 10? expDate.getDate() : '0' + expDate.getDate()) +' '+exptime;
- $('.expected_time').show();
- $('#expected_time').text(expected_time? expected_time : '');
- }else{
- $('.expected_time').hide();
- $('#expected_time').text('');
- }
-
- item_list.empty();
-
- if(items!=undefined && items!=""){
- if(items.length > 0){
- for(var i in items) {
- var item_price = 0;
- if(items[i].price > 0){
- item_price = items[i].price;
- }else{
- item_price = items[i].unit_price;
- }
- var total = items[i].qty * item_price;
- row = '
'
- +''+items[i].item_name
- +' '+items[i].qty+ ' X'+items[i].unit_price+''
- +' | '
- +''+ total +' | '
- +'
';
- $('.summary-items').append(row);
- }
-
- if(data.discount_amount > 0){
- $("#discount").show();
- }
-
- $('#requested_date_time').text(requested_date);
- $('#sub_total').text(data.total_amount);
- $('#delivery_fee').text((parseFloat(delivery.delivery_fee) > 0)? delivery.delivery_fee : '0.0');
- $('#total_charges').text((parseFloat(data.convenience_charge) > 0)? data.convenience_charge : '0.0');
- $('#discount_amount').text((parseFloat(data.discount_amount) > 0)? data.discount_amount : '0.0');
- $('#total_tax').text(data.total_tax);
- $('#grand_total').text(data.grand_total);
-
- var address = delivery.address;
- if(delivery.township != null && delivery.township!=""){
- address += ', ' +delivery.township;
- }else if(delivery.direction_address!=null && delivery.direction_address!=""){
- address += ", (" +delivery.direction_address+")";
- }
- $('#requested_time').text(requested_date);
- $('#customer_name').text(data.customer_name);
- $('#phone').text(data.phone);
- $('#address').text(address);
- $('#delivery_to').text(delivery.provider);
-
- $('#ref_no').text(data.transaction_ref);
- $('#callback_url').text(data.callback_url);
- $('#order_id').text(data.order_reservation_id);
-
- if(delivery.delivery_type == "service"){
- $("#delivery_info").text("(DELIVERY)");
- }else if(delivery.delivery_type == "pick_up"){
- $("#delivery_info").text("(PICK-UP)");
- }else{
- $("#delivery_info").text("(DIRECT DELIVERY)");
- }
-
- if(data.order_remark!=null && data.order_remark!=""){
- $("#order_remark").text(data.order_remark);
- }else if(data.reservation_remark!=null && data.reservation_remark!=""){
- $("#order_remark").text(data.reservation_remark);
- }
- $("#sr_number").text("NO."+sr_no);
- if (data["receipt_no"]) {
- $("#contact_info").text(data["receipt_no"]);
- }else{
- $("#contact_info").text(data["order_reservation_id"]);
- }
-
- }
- }
- }
- });
- //end Ajax
- }
-
$("#accepted").on("click", function(){
if($(this).text().trim() == "ACCEPT"){
var requested_time = $("#requested_date_time").text();
@@ -188,78 +54,6 @@ $(function() {
callback_url(callback,ref_no,order_id,status);
});
- function showTimePicker(requested_time){
- // var date = new Date(requested_time);
- // var isPM = date.getHours() >= 12;
- // var isMidday = date.getHours() == 12;
- // var time = [date.getHours() - (isPM && !isMidday ? 12 : 0),
- // date.getMinutes() || '00'].join(':') +
- // (isPM ? 'pm' : 'am');
- // console.log(time);
- $('.timepicker').bootstrapMaterialDatePicker({
- format: 'HH:mm',
- useSeconds: false,
- clearButton: true,
- date: false
- });
- }
-
- function callback_url(callback,ref_no,order_id,status,time,exptime){
- var url = 'order_reservation/update';
- var post_url = "order_reservation/send_status";
- var waiting_time = "";
- if(time!=undefined && time!=""){
- waiting_time = time;
- }
- var expected_time = "";
- if(exptime!=undefined && exptime!=""){
- expected_time = exptime;
- }
- $.ajax({
- type: "POST",
- url: post_url,
- data: {url: callback, ref_no: ref_no, status: status, waiting_time: waiting_time},
- dataType: "json",
- success: function(data) {
- if(data.status){
- $.ajax({
- type: "POST",
- url: url,
- data: {'order_id': order_id, 'status': status, 'expected_time' : expected_time},
- dataType: "json",
- success: function(data) {
- if (data.status) {
- swal({
- title: 'Information',
- text: "Order has been "+data.message,
- type: 'success',
- html: true,
- closeOnConfirm: false,
- closeOnCancel: false,
- allowOutsideClick: false
- }, function () {
- window.location.href = '/origami/order_reservation';
- });
- }
- }
- });
- }else{
- swal({
- title: 'Oops',
- text: data.message,
- type: 'error',
- html: true,
- closeOnConfirm: false,
- closeOnCancel: false,
- allowOutsideClick: false
- }, function () {
- window.location.href = '/origami/order_reservation';
- });
- }
- }
- });
- }
-
$("#save").on("click",function(){
$("#waiting_timeErr").text("");
var status = $("#status").text();
@@ -279,7 +73,231 @@ $(function() {
$("#waiting_time").val("");
$("#waiting_timeErr").text("Expected waiting time is greater than requested time!");
}
-
});
});
+function customTableClick(){
+ $(".custom-table .custom-tr").on("click", function(){
+ $(".custom-tr").removeClass("tr-active");
+ $(this).addClass("tr-active");
+ var order_id = $(this).attr("data-id");
+ var sr_no = $(this).attr("data-sr-no");
+ var url = "order_reservation/get_order/"+order_id;
+ show_order_detail(url,sr_no);
+ });
+}
+
+function refreshDetailData(){
+ $('#requested_date_time').text("");
+ $("#sr_number").text("");
+ $("#delivery_info").text("");
+ $("#contact_info").text("");
+ $('.summary-items').html("");
+ $('#sub_total').text("0.00");
+ $('#delivery_fee').text("0.00");
+ $('#total_charges').text("0.00");
+ $('#discount_amount').text("0.00");
+ $('#total_tax').text("0.00");
+ $('#grand_total').text("0.00");
+}
+
+//show order list
+function show_order_detail(url,sr_no){
+ $('.summary-items').html("");
+ //Start Ajax
+ $.ajax({
+ type: "GET",
+ url: url,
+ data: {},
+ dataType: "json",
+ success: function(data) {
+ // console.log(data);
+ var delivery = data["delivery"];
+ var items = data["order_items"];
+ var item_list = $('.summary-items');
+
+ var newDate = new Date(data.requested_time);
+ var time = timeFormat(newDate);
+ var requested_date = newDate.getFullYear() + '-' + (newDate.getMonth() > 10? newDate.getMonth() : '0' + (newDate.getMonth() + 1)) +'-'+ (newDate.getDate() > 10? newDate.getDate() : '0' + newDate.getDate()) +' '+time;
+
+ if((data.expected_waiting_time!=undefined) && (data.expected_waiting_time!=null)){
+ var expDate = new Date(data.expected_waiting_time);
+ var exptime = timeFormat(expDate);
+ var expected_time = expDate.getFullYear() + '-' + (expDate.getMonth() > 10? expDate.getMonth() : '0' + (expDate.getMonth() + 1)) +'-'+ (expDate.getDate() > 10? expDate.getDate() : '0' + expDate.getDate()) +' '+exptime;
+ $('.expected_time').show();
+ $('#expected_time').text(expected_time? expected_time : '');
+ }else{
+ $('.expected_time').hide();
+ $('#expected_time').text('');
+ }
+
+ item_list.empty();
+
+ if(items!=undefined && items!=""){
+ if(items.length > 0){
+ for(var i in items) {
+ var item_price = 0;
+ if(items[i].price > 0){
+ item_price = items[i].price;
+ }else{
+ item_price = items[i].unit_price;
+ }
+ var total = items[i].qty * item_price;
+ row = ''
+ +''+items[i].item_name
+ +' '+items[i].qty+ ' X'+items[i].unit_price+''
+ +' | '
+ +''+ total +' | '
+ +'
';
+ $('.summary-items').append(row);
+ }
+
+ if(data.discount_amount > 0){
+ $("#discount").show();
+ }
+
+ $('#requested_date_time').text(requested_date);
+ $('#sub_total').text(data.total_amount);
+ $('#delivery_fee').text((parseFloat(delivery.delivery_fee) > 0)? delivery.delivery_fee : '0.0');
+ $('#total_charges').text((parseFloat(data.convenience_charge) > 0)? data.convenience_charge : '0.0');
+ $('#discount_amount').text((parseFloat(data.discount_amount) > 0)? data.discount_amount : '0.0');
+ $('#total_tax').text(data.total_tax);
+ $('#grand_total').text(data.grand_total);
+
+ var address = delivery.address;
+ if(delivery.township != null && delivery.township!=""){
+ address += ', ' +delivery.township;
+ }else if(delivery.direction_address!=null && delivery.direction_address!=""){
+ address += ", (" +delivery.direction_address+")";
+ }
+ $('#requested_time').text(requested_date);
+ $('#customer_name').text(data.customer_name);
+ $('#phone').text(data.phone);
+ $('#address').text(address);
+ $('#delivery_to').text(delivery.provider);
+
+ $('#ref_no').text(data.transaction_ref);
+ $('#callback_url').text(data.callback_url);
+ $('#order_id').text(data.order_reservation_id);
+
+ if(delivery.delivery_type == "service"){
+ $("#delivery_info").text("(DELIVERY)");
+ }else if(delivery.delivery_type == "pick_up"){
+ $("#delivery_info").text("(PICK-UP)");
+ }else{
+ $("#delivery_info").text("(DIRECT DELIVERY)");
+ }
+
+ if(data.order_remark!=null && data.order_remark!=""){
+ $("#order_remark").text(data.order_remark);
+ }else if(data.reservation_remark!=null && data.reservation_remark!=""){
+ $("#order_remark").text(data.reservation_remark);
+ }
+ $("#sr_number").text("NO."+sr_no);
+ if (data["receipt_no"]) {
+ $("#contact_info").text(data["receipt_no"]);
+ }else{
+ $("#contact_info").text(data["order_reservation_id"]);
+ }
+
+ }
+ }
+ }
+ });
+ //end Ajax
+}
+
+function showTimePicker(requested_time){
+ // var date = new Date(requested_time);
+ // var time = timeFormat(date);
+ // console.log(time);
+ $('.timepicker').bootstrapMaterialDatePicker({
+ format: 'HH:mm',
+ useSeconds: false,
+ clearButton: true,
+ date: false
+ });
+}
+
+function callback_url(callback,ref_no,order_id,status,time,exptime){
+ var url = 'order_reservation/update';
+ var post_url = "order_reservation/send_status";
+ var waiting_time = "";
+ if(time!=undefined && time!=""){
+ waiting_time = time;
+ }
+ var expected_time = "";
+ if(exptime!=undefined && exptime!=""){
+ expected_time = exptime;
+ }
+ $.ajax({
+ type: "POST",
+ url: post_url,
+ data: {url: callback, ref_no: ref_no, status: status, waiting_time: waiting_time},
+ dataType: "json",
+ success: function(data) {
+ if(data.status){
+ $.ajax({
+ type: "POST",
+ url: url,
+ data: {'order_id': order_id, 'status': status, 'expected_time' : expected_time},
+ dataType: "json",
+ success: function(data) {
+ if (data.status) {
+ swal({
+ title: 'Information',
+ text: "Order has been "+data.message,
+ type: 'success',
+ html: true,
+ closeOnConfirm: false,
+ closeOnCancel: false,
+ allowOutsideClick: false
+ }, function () {
+ window.location.href = '/origami/order_reservation';
+ });
+ }
+ }
+ });
+ }else{
+ swal({
+ title: 'Oops',
+ text: data.message,
+ type: 'error',
+ html: true,
+ closeOnConfirm: false,
+ closeOnCancel: false,
+ allowOutsideClick: false
+ }, function () {
+ window.location.href = '/origami/order_reservation';
+ });
+ }
+ }
+ });
+}
+
+function timeFormat(date){
+ var isPM = date.getHours() >= 12;
+ var isMidday = date.getHours() == 12;
+ var time = [date.getHours() - (isPM && !isMidday ? 12 : 0),
+ date.getMinutes() || '00'].join(':') +
+ (isPM ? ' PM' : 'AM');
+ return time;
+}
+
+function showNewOrder(order_reservation){
+ // console.log(order_reservation);
+ if((order_reservation!=undefined) && (order_reservation!=null) && (order_reservation!="")){
+ var date = new Date(order_reservation.requested_time);
+ var time = timeFormat(date);
+ var requested_date = date.getFullYear() + '-' + (date.getMonth() > 10? date.getMonth() : '0' + (date.getMonth() + 1)) +'-'+ (date.getDate() > 10? date.getDate() : '0' + date.getDate()) +' '+time;
+ swal({
+ html: true,
+ title: 'Information',
+ text: "You have new order " + order_reservation.order_reservation_id + " at "+requested_date+"",
+ type: 'success',
+ closeOnConfirm: false,
+ closeOnCancel: false,
+ allowOutsideClick: false
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/channels/check_new_order_channel.rb b/app/channels/check_new_order_channel.rb
new file mode 100644
index 00000000..8a7dfcfb
--- /dev/null
+++ b/app/channels/check_new_order_channel.rb
@@ -0,0 +1,10 @@
+class CheckNewOrderChannel < ApplicationCable::Channel
+ def subscribed
+ stream_from "check_new_order_channel"
+ end
+
+ def unsubscribed
+ stop_all_streams
+ # Any cleanup needed when channel is unsubscribed
+ end
+end
diff --git a/app/channels/check_order_ready_to_delivery_channel.rb b/app/channels/check_order_ready_to_delivery_channel.rb
new file mode 100644
index 00000000..6f5e1a06
--- /dev/null
+++ b/app/channels/check_order_ready_to_delivery_channel.rb
@@ -0,0 +1,10 @@
+class CheckOrderReadyToDeliveryChannel < ApplicationCable::Channel
+ def subscribed
+ stream_from "check_order_ready_to_delivery_channel"
+ end
+
+ def unsubscribed
+ stop_all_streams
+ # Any cleanup needed when channel is unsubscribed
+ end
+end
diff --git a/app/channels/check_order_send_to_kitchen_channel.rb b/app/channels/check_order_send_to_kitchen_channel.rb
new file mode 100644
index 00000000..c0821483
--- /dev/null
+++ b/app/channels/check_order_send_to_kitchen_channel.rb
@@ -0,0 +1,10 @@
+class CheckOrderSendToKitchenChannel < ApplicationCable::Channel
+ def subscribed
+ stream_from "check_order_send_to_kitchen_channel"
+ end
+
+ def unsubscribed
+ stop_all_streams
+ # Any cleanup needed when channel is unsubscribed
+ end
+end
diff --git a/app/controllers/origami/moveroom_controller.rb b/app/controllers/origami/moveroom_controller.rb
index 316ab894..b7260863 100755
--- a/app/controllers/origami/moveroom_controller.rb
+++ b/app/controllers/origami/moveroom_controller.rb
@@ -3,6 +3,8 @@ class Origami::MoveroomController < BaseOrigamiController
authorize_resource :class => false
def move_dining
+ @webview = check_mobile
+
@tables = Table.all.active.order('status desc')
@rooms = Room.all.active.order('status desc')
@complete = Sale.all
diff --git a/app/controllers/origami/movetable_controller.rb b/app/controllers/origami/movetable_controller.rb
index bbc02bdc..eaf7fca1 100755
--- a/app/controllers/origami/movetable_controller.rb
+++ b/app/controllers/origami/movetable_controller.rb
@@ -3,6 +3,8 @@ class Origami::MovetableController < BaseOrigamiController
authorize_resource :class => false
def move_dining
+ @webview = check_mobile
+
@tables = Table.all.active.order('status desc')
@rooms = Room.all.active.order('status desc')
@complete = Sale.all
diff --git a/app/models/order_reservation.rb b/app/models/order_reservation.rb
index 12f11252..e5b95f8c 100644
--- a/app/models/order_reservation.rb
+++ b/app/models/order_reservation.rb
@@ -207,6 +207,35 @@ class OrderReservation < ApplicationRecord
.order("order_reservations.order_reservation_id desc, order_reservations.created_at desc")
end
+ def self.check_new_order
+ order_reservation = OrderReservation.where("status='new'")
+ if order_reservation.length > 0
+ if ENV["SERVER_MODE"] == 'cloud'
+ ActionCable.server.broadcast "check_new_order_channel",data: order_reservation
+ end
+ end
+ end
+
+ def self.check_order_send_to_kitchen
+ today = Time.now.utc
+ order_reservation = OrderReservation.where("status='accepted' and requested_time > '#{today}'")
+ if order_reservation.length > 0
+ if ENV["SERVER_MODE"] == 'cloud'
+ ActionCable.server.broadcast "check_order_send_to_kitchen_channel",data: order_reservation
+ end
+ end
+ end
+
+ def self.check_order_ready_to_delivery
+ today = Time.now.utc
+ order_reservation = OrderReservation.where("status='send_to_kitchen' and requested_time > '#{today}'")
+ if order_reservation.length > 0
+ if ENV["SERVER_MODE"] == 'cloud'
+ ActionCable.server.broadcast "check_order_ready_to_delivery_channel",data: order_reservation
+ end
+ end
+ end
+
private
def generate_custom_id
self.order_reservation_id = SeedGenerator.generate_id(self.class.name, "ODRS")
diff --git a/app/views/origami/moveroom/move_dining.html.erb b/app/views/origami/moveroom/move_dining.html.erb
index b46834ca..240d3b20 100755
--- a/app/views/origami/moveroom/move_dining.html.erb
+++ b/app/views/origami/moveroom/move_dining.html.erb
@@ -166,6 +166,10 @@
\ No newline at end of file
+
+
+
\ No newline at end of file
diff --git a/config/schedule.rb b/config/schedule.rb
index 4b3f6a3b..8f151e3d 100755
--- a/config/schedule.rb
+++ b/config/schedule.rb
@@ -12,4 +12,16 @@ end
every 1.minutes do
runner "DiningFacility.checkin_time"
+end
+
+every 3.minutes do
+ runner "OrderReservation.check_new_order"
+end
+
+every 5.minutes do
+ runner "OrderReservation.check_order_send_to_kitchen"
+end
+
+every 5.minutes do
+ runner "OrderReservation.check_order_ready_to_delivery"
end
\ No newline at end of file