diff --git a/app/assets/javascripts/channels/call_waiter.js b/app/assets/javascripts/channels/call_waiter.js
index f0a804a2..ed1fa0d3 100644
--- a/app/assets/javascripts/channels/call_waiter.js
+++ b/app/assets/javascripts/channels/call_waiter.js
@@ -6,68 +6,73 @@ App.call_waiter = App.cable.subscriptions.create('CallWaiterChannel', {
disconnected: function() {},
received: function(data) {
- table = data.table
- time = data.time
- // for Notificaiotn message
- var element = "#notify-wrapper"
- var animateEnter = "";
- var animateExit = "";
-
- if (time == 'print_error') {
- var colorName = "alert-danger";
- var placementFrom = "center";
- var placementAlign = "center";
- var text = " Hello
"+table ;
- style =""
- }else{
- var colorName = "alert-warning";
- var placementFrom = "top";
- var placementAlign = "center";
- var text = " Calling Waiter
"+table.name ;
- style ="width:180px !important;"
- }
-
-
- if (text != null || colorName != null){
- showNotification(element, colorName, text, placementFrom, placementAlign, animateEnter, animateExit);
- }
-
- function showNotification(element, colorName, text, placementFrom, placementAlign, animateEnter, animateExit) {
- if (colorName === null || colorName === '') { colorName = 'bg-black'; }
- if (animateEnter === null || animateEnter === '') { animateEnter = 'animated fadeInDown'; }
- if (animateExit === null || animateExit === '') { animateExit = 'animated fadeOutUp'; }
- var allowDismiss = true;
-
- $.notify({
- message: text
- },
+ var hostname = location.hostname.trim();
+ if(data.from == "" || hostname == data.from)
{
- element: element,
- type: colorName,
- allow_dismiss: allowDismiss,
- timer: 200000000000000,
- placement: {
- from: placementFrom,
- align: placementAlign
- },
- animate: {
- enter: animateEnter,
- exit: animateExit
- },
- template: '
' +
- '
' +
- '
' +
- '
{1} ' +
- '
{2}' +
- '
' +
- '
' +
- '
'
- });
+ table = data.table
+ time = data.time
+
+ // for Notificaiotn message
+ var element = "#notify-wrapper"
+ var animateEnter = "";
+ var animateExit = "";
+
+ if (time == 'print_error') {
+ var colorName = "alert-danger";
+ var placementFrom = "center";
+ var placementAlign = "center";
+ var text = " Hello
"+table ;
+ style =""
+ }else{
+ var colorName = "alert-warning";
+ var placementFrom = "top";
+ var placementAlign = "center";
+ var text = " Calling Waiter
"+table.name ;
+ style ="width:180px !important;"
+ }
+
+
+ if (text != null || colorName != null){
+ showNotification(element, colorName, text, placementFrom, placementAlign, animateEnter, animateExit);
+ }
+
+ function showNotification(element, colorName, text, placementFrom, placementAlign, animateEnter, animateExit) {
+ if (colorName === null || colorName === '') { colorName = 'bg-black'; }
+ if (animateEnter === null || animateEnter === '') { animateEnter = 'animated fadeInDown'; }
+ if (animateExit === null || animateExit === '') { animateExit = 'animated fadeOutUp'; }
+ var allowDismiss = true;
+
+ $.notify({
+ message: text
+ },
+ {
+ element: element,
+ type: colorName,
+ allow_dismiss: allowDismiss,
+ timer: 200000000000000,
+ placement: {
+ from: placementFrom,
+ align: placementAlign
+ },
+ animate: {
+ enter: animateEnter,
+ exit: animateExit
+ },
+ template: '' +
+ '
' +
+ '
' +
+ '
{1} ' +
+ '
{2}' +
+ '
' +
+ '
' +
+ '
'
+ });
+ }
+ //end Notificaiotn message
+ }
}
- //end Notificaiotn message
-}
});
diff --git a/app/assets/javascripts/channels/check_in_booking.js b/app/assets/javascripts/channels/check_in_booking.js
index 18597f4d..d2c85e20 100644
--- a/app/assets/javascripts/channels/check_in_booking.js
+++ b/app/assets/javascripts/channels/check_in_booking.js
@@ -5,12 +5,16 @@ App.checkin = App.cable.subscriptions.create('CheckInBookingChannel', {
disconnected: function() {},
- received: function(data) {
- if($('.table_'+data.table.id).hasClass('green')){
- $('.table_'+data.table.id).removeClass('green');
- $('.table_'+data.table.id).addClass('blue');
- }
- $('.new_text_'+data.table.id).removeClass('hide');
+ received: function(data) {
+ var hostname = location.hostname.trim();
+ if(data.from == "" || hostname == data.from)
+ {
+ if($('.table_'+data.table.id).hasClass('green')){
+ $('.table_'+data.table.id).removeClass('green');
+ $('.table_'+data.table.id).addClass('blue');
+ }
+ $('.new_text_'+data.table.id).removeClass('hide');
+ }
}
});
diff --git a/app/assets/javascripts/channels/check_new_order.js b/app/assets/javascripts/channels/check_new_order.js
index ced5b3c2..b2b53bbb 100644
--- a/app/assets/javascripts/channels/check_new_order.js
+++ b/app/assets/javascripts/channels/check_new_order.js
@@ -3,36 +3,40 @@ App.check_new_order = App.cable.subscriptions.create('CheckNewOrderChannel', {
disconnected: function() {},
- received: function(data) {
- var order = data.data;
- var shop_code = data.shop_code;
- 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;
- }
- });
+ received: function(data) {
+ var hostname = location.hostname.trim();
+ if(data.from == "" || hostname == data.from)
+ {
+ var order = data.data;
+ var shop_code = data.shop_code;
+ 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);
- checkNewOrderAlert(shop_code, order_lists);
- // $("#notify_new_order_lists").text(order_lists);
- // if($("#"+shop_code+"_notify_new_order").hasClass("hidden")){
- // $("#"+shop_code+"_notify_new_order").removeClass("hidden");
- // }
- // $("#"+shop_code+"_notify_new_order").on('shown.bs.modal', function(e){
- // // $(document).off('focusin.modal');
- // $("#"+shop_code+"_notify_new_order").focus();
- // $("#"+shop_code+"_doemal_new_order").addClass("hidden");
- // $("#"+shop_code+"_notify_order_send_to_kitchen").addClass("hidden");
- // $("#"+shop_code+"_notify_order_ready_to_delivery").addClass("hidden");
- // }).on('hide.bs.modal', function (e) {
- // $("#"+shop_code+"_notify_new_order").addClass("hidden");
- // }).modal({show: true, keyboard: false, backdrop: false});
+ // alert(order_lists);
+ checkNewOrderAlert(shop_code, order_lists);
+ // $("#notify_new_order_lists").text(order_lists);
+ // if($("#"+shop_code+"_notify_new_order").hasClass("hidden")){
+ // $("#"+shop_code+"_notify_new_order").removeClass("hidden");
+ // }
+ // $("#"+shop_code+"_notify_new_order").on('shown.bs.modal', function(e){
+ // // $(document).off('focusin.modal');
+ // $("#"+shop_code+"_notify_new_order").focus();
+ // $("#"+shop_code+"_doemal_new_order").addClass("hidden");
+ // $("#"+shop_code+"_notify_order_send_to_kitchen").addClass("hidden");
+ // $("#"+shop_code+"_notify_order_ready_to_delivery").addClass("hidden");
+ // }).on('hide.bs.modal', function (e) {
+ // $("#"+shop_code+"_notify_new_order").addClass("hidden");
+ // }).modal({show: true, keyboard: false, backdrop: false});
+ }
}
}
});
diff --git a/app/assets/javascripts/channels/check_order_ready_to_delivery.js b/app/assets/javascripts/channels/check_order_ready_to_delivery.js
index 4ec3ea08..26b45d6b 100644
--- a/app/assets/javascripts/channels/check_order_ready_to_delivery.js
+++ b/app/assets/javascripts/channels/check_order_ready_to_delivery.js
@@ -3,36 +3,40 @@ App.check_order_ready_to_delivery = App.cable.subscriptions.create('CheckOrderRe
disconnected: function() {},
- received: function(data) {
- var order = data.data;
- var shop_code = data.shop_code;
- 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;
- }
- });
+ received: function(data) {
+ var hostname = location.hostname.trim();
+ if(data.from == "" || hostname == data.from)
+ {
+ var order = data.data;
+ var shop_code = data.shop_code;
+ 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);
- checkOrderReadyToKitchenAlert(shop_code, order_lists);
- // $("#notify_order_ready_to_delivery_lists").text(order_lists);
- // if($("#notify_order_ready_to_delivery").hasClass("hidden")){
- // $("#"+shop_code+"_notify_order_ready_to_delivery").removeClass("hidden");
- // }
- // $("#"+shop_code+"_notify_order_ready_to_delivery").on('shown.bs.modal', function(e){
- // // $(document).off('focusin.modal');
- // $("#"+shop_code+"_notify_order_ready_to_delivery").focus();
- // $("#"+shop_code+"_doemal_new_order").addClass("hidden");
- // $("#"+shop_code+"_notify_new_order").addClass("hidden");
- // $("#"+shop_code+"_notify_order_send_to_kitchen").addClass("hidden");
- // }).on('hide.bs.modal', function (e) {
- // $("#"+shop_code+"_notify_order_ready_to_delivery").addClass("hidden");
- // }).modal({show: true, keyboard: false, backdrop: false});
+ // alert(order_lists);
+ checkOrderReadyToKitchenAlert(shop_code, order_lists);
+ // $("#notify_order_ready_to_delivery_lists").text(order_lists);
+ // if($("#notify_order_ready_to_delivery").hasClass("hidden")){
+ // $("#"+shop_code+"_notify_order_ready_to_delivery").removeClass("hidden");
+ // }
+ // $("#"+shop_code+"_notify_order_ready_to_delivery").on('shown.bs.modal', function(e){
+ // // $(document).off('focusin.modal');
+ // $("#"+shop_code+"_notify_order_ready_to_delivery").focus();
+ // $("#"+shop_code+"_doemal_new_order").addClass("hidden");
+ // $("#"+shop_code+"_notify_new_order").addClass("hidden");
+ // $("#"+shop_code+"_notify_order_send_to_kitchen").addClass("hidden");
+ // }).on('hide.bs.modal', function (e) {
+ // $("#"+shop_code+"_notify_order_ready_to_delivery").addClass("hidden");
+ // }).modal({show: true, keyboard: false, backdrop: false});
+ }
}
}
});
diff --git a/app/assets/javascripts/channels/check_order_send_to_kitchen.js b/app/assets/javascripts/channels/check_order_send_to_kitchen.js
index 5e8751b1..729bf4ab 100644
--- a/app/assets/javascripts/channels/check_order_send_to_kitchen.js
+++ b/app/assets/javascripts/channels/check_order_send_to_kitchen.js
@@ -4,35 +4,39 @@ App.check_order_send_to_kitchen = App.cable.subscriptions.create('CheckOrderSend
disconnected: function() {},
received: function(data) {
- var order = data.data;
- var shop_code = data.shop_code;
- 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;
- }
- });
+ var hostname = location.hostname.trim();
+ if(data.from == "" || hostname == data.from)
+ {
+ var order = data.data;
+ var shop_code = data.shop_code;
+ 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);
- checkOrderSendToKitchen(shop_code, order_lists);
- // $("#notify_order_send_to_kitchen_lists").text(order_lists);
- // if($("#notify_order_send_to_kitchen").hasClass("hidden")){
- // $("#"+shop_code+"_notify_order_send_to_kitchen").removeClass("hidden");
- // }
- // $("#"+shop_code+"_notify_order_send_to_kitchen").on('shown.bs.modal', function(e){
- // // $(document).off('focusin.modal');
- // $("#"+shop_code+"_notify_order_send_to_kitchen").focus();
- // $("#"+shop_code+"_doemal_new_order").addClass("hidden");
- // $("#"+shop_code+"_notify_new_order").addClass("hidden");
- // $("#"+shop_code+"_notify_order_ready_to_delivery").addClass("hidden");
- // }).on('hide.bs.modal', function (e) {
- // $("#"+shop_code+"_notify_order_send_to_kitchen").addClass("hidden");
- // }).modal({show: true, keyboard: false, backdrop: false});
+ // alert(order_lists);
+ checkOrderSendToKitchen(shop_code, order_lists);
+ // $("#notify_order_send_to_kitchen_lists").text(order_lists);
+ // if($("#notify_order_send_to_kitchen").hasClass("hidden")){
+ // $("#"+shop_code+"_notify_order_send_to_kitchen").removeClass("hidden");
+ // }
+ // $("#"+shop_code+"_notify_order_send_to_kitchen").on('shown.bs.modal', function(e){
+ // // $(document).off('focusin.modal');
+ // $("#"+shop_code+"_notify_order_send_to_kitchen").focus();
+ // $("#"+shop_code+"_doemal_new_order").addClass("hidden");
+ // $("#"+shop_code+"_notify_new_order").addClass("hidden");
+ // $("#"+shop_code+"_notify_order_ready_to_delivery").addClass("hidden");
+ // }).on('hide.bs.modal', function (e) {
+ // $("#"+shop_code+"_notify_order_send_to_kitchen").addClass("hidden");
+ // }).modal({show: true, keyboard: false, backdrop: false});
+ }
}
}
});
diff --git a/app/assets/javascripts/channels/checkin.js b/app/assets/javascripts/channels/checkin.js
index 03159170..a0712d65 100644
--- a/app/assets/javascripts/channels/checkin.js
+++ b/app/assets/javascripts/channels/checkin.js
@@ -6,6 +6,9 @@ App.order = App.cable.subscriptions.create('CheckinChannel', {
disconnected: function() {},
received: function(data) {
+ var hostname = location.hostname.trim();
+ if(data.from == "" || hostname == data.from)
+ {
$.each(data.table,function(key,value){
if($('.table_'+value.table_id).hasClass('blue')){
$('.table_'+value.table_id).removeClass('blue');
@@ -22,5 +25,6 @@ App.order = App.cable.subscriptions.create('CheckinChannel', {
$('.new_text_'+value.table_id).removeClass('hide');
});
}
+}
});
diff --git a/app/assets/javascripts/channels/order.js b/app/assets/javascripts/channels/order.js
index 26c7897e..87b08c4a 100755
--- a/app/assets/javascripts/channels/order.js
+++ b/app/assets/javascripts/channels/order.js
@@ -3,7 +3,12 @@ App.order = App.cable.subscriptions.create('OrderChannel', {
disconnected: function() {},
- received: function(data) {
+ received: function(data) {
+ var hostname = location.hostname.trim();
+ console.log(hostname)
+ console.log(data.from)
+ if(data.from == "" || hostname == data.from)
+ {
if (data.type == 'order') {
$('.table_'+data.table.id).removeClass('green');
$('.table_'+data.table.id).addClass('blue');
@@ -14,6 +19,7 @@ App.order = App.cable.subscriptions.create('OrderChannel', {
$('.new_text_'+data.table.id).html('');
$('.new_text_'+data.table.id).removeClass('hide')
}
+ }
}
});
diff --git a/app/assets/javascripts/channels/order_queue_station.js b/app/assets/javascripts/channels/order_queue_station.js
index a72a7893..ccb3b0d3 100755
--- a/app/assets/javascripts/channels/order_queue_station.js
+++ b/app/assets/javascripts/channels/order_queue_station.js
@@ -6,83 +6,86 @@ App.order_queue_station = App.cable.subscriptions.create('OrderQueueStationChann
disconnected: function() {},
received: function(data) {
- var oqs_id = $('.oqs_active').attr('data-id');
- items = data.order;
- for(var field in items) {
- var price = parseFloat(items[field].price).toFixed(2);
- if (items[field]["options"] == "[]" || items[field]["options"] == "") {
- var options = "";
- }else{
- var options = items[field]["options"];
- }
- //for count
- test = document.getElementsByClassName("oqs_count");
+ var hostname = location.hostname.trim();
+ if(data.from == "" || hostname == data.from){
+ var oqs_id = $('.oqs_active').attr('data-id');
+ items = data.order;
+ for(var field in items) {
+ var price = parseFloat(items[field].price).toFixed(2);
+ if (items[field]["options"] == "[]" || items[field]["options"] == "") {
+ var options = "";
+ }else{
+ var options = items[field]["options"];
+ }
+ //for count
+ test = document.getElementsByClassName("oqs_count");
- for (var i = 0; i < test.length; i++) {
- oqs_count_id = $(".oqs_count"+i).attr("data-id");
- oqs_count = $(".oqs_count"+i).text();
- if ( oqs_count_id == items[field]["order_queue_station_id"]) {
- oqs_count_total = +oqs_count +1 ;
- $(".oqs_count"+i).text(oqs_count_total)
- }
- }
- //end count
+ for (var i = 0; i < test.length; i++) {
+ oqs_count_id = $(".oqs_count"+i).attr("data-id");
+ oqs_count = $(".oqs_count"+i).text();
+ if ( oqs_count_id == items[field]["order_queue_station_id"]) {
+ oqs_count_total = +oqs_count +1 ;
+ $(".oqs_count"+i).text(oqs_count_total)
+ }
+ }
+ //end count
- var date = new Date(items[field]["created_at"]);
- // var show_date = date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear() + ' ' + date.getHours()+ ':' + date.getMinutes();
- var show_date =date.getHours()+ ':' + date.getMinutes() +' '+(date.getHours() >= 12 ? 'PM' : 'AM');
+ var date = new Date(items[field]["created_at"]);
+ // var show_date = date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear() + ' ' + date.getHours()+ ':' + date.getMinutes();
+ var show_date =date.getHours()+ ':' + date.getMinutes() +' '+(date.getHours() >= 12 ? 'PM' : 'AM');
- if (oqs_id == items[field]["order_queue_station_id"]) {
- var table_type = (items[field]["table_type"] != null) ? items[field]["table_type"]:"";
- var zone = (items[field]["zone"] != null) ? "-"+items[field]["zone"]:"No Table";
- (name === 'true') ? 'Y' :'N';
- row =''
- +'
'+items[field]["order_id"]+''
- +'
'
-
+ if (oqs_id == items[field]["order_queue_station_id"]) {
+ var table_type = (items[field]["table_type"] != null) ? items[field]["table_type"]:"";
+ var zone = (items[field]["zone"] != null) ? "-"+items[field]["zone"]:"No Table";
+ (name === 'true') ? 'Y' :'N';
+ row ='
'
+ +'
'+items[field]["order_id"]+''
+ +'
'
+
- +'
'
- +''+table_type+''+ zone+''
- +''+ zone +''
- +''+items[field]["order_id"]+''
- +'
'
- +'
'
- +''+ items[field]["item_name"] +'- '
- +' [x'+ items[field]["qty"] +'] '
- +'
'
+ +'
'
+ +''+table_type+''+ zone+''
+ +''+ zone +''
+ +''+items[field]["order_id"]+''
+ +'
'
+ +'
'
+ +''+ items[field]["item_name"] +'- '
+ +' [x'+ items[field]["qty"] +'] '
+ +'
'
- +'
'+ options +'
'
+ +'
'+ options +'
'
- +'
'
- +'Order at - '
- +''+ show_date +'
'
+ +''
+ +'Order at - '
+ +''+ show_date +'
'
- +'Order By - '+ items[field]["item_order_by"] +' '
- +' '
- +''
+ +'Order By - '+ items[field]["item_order_by"] +' '
+ +' '
+ +''
- +'
'+ items[field]["customer_name"] +'
'
- +'
'+ items[field]["assigned_order_item_id"] +'
'
- +'
'
+ +'
'+ items[field]["customer_name"] +'
'
+ +'
'+ items[field]["assigned_order_item_id"] +'
'
+ +'
'
- +''
- +'
';
- $('.oqs_append').append(row);
- }
- }//end looping
+ +''
+ +'
';
+ $('.oqs_append').append(row);
+ }
+ }//end looping
- var $divs = $("div.queue_station");
- var SortListDivs = $divs.sort(function (a, b) {
+ var $divs = $("div.queue_station");
+ var SortListDivs = $divs.sort(function (a, b) {
- first = $(a).attr('data-order-no');
- next = $(b).attr('data-order-no');
+ first = $(a).attr('data-order-no');
+ next = $(b).attr('data-order-no');
- return parseInt(next.substring(4, 16)) - parseInt(first.substring(4, 16));
- });
- $("#oqs_container").html(SortListDivs);
+ return parseInt(next.substring(4, 16)) - parseInt(first.substring(4, 16));
+ });
+ $("#oqs_container").html(SortListDivs);
+ }
},
});
diff --git a/app/assets/javascripts/channels/order_reservation.js b/app/assets/javascripts/channels/order_reservation.js
index 468e4c31..39b31b5a 100644
--- a/app/assets/javascripts/channels/order_reservation.js
+++ b/app/assets/javascripts/channels/order_reservation.js
@@ -4,50 +4,53 @@ App.order_reservation = App.cable.subscriptions.create('OrderReservationChannel'
disconnected: function() {},
received: function(data) {
- var shop_code = data.shop_code;
- var order = data.data;
- if(order.length > 0){
- $('.custom-table.'+shop_code+'_order_reserve_cable tbody').html("");
- $("."+shop_code+" > .nav-item.red > a > p.num").text(order.length);
- $.each(order, function(key,value){
- var active_class = "";
- if(key==0){
- active_class = "tr-active";
- showNewOrder(order[key],shop_code);
- }
- var rowCount = key+1;
- var date = new Date(value.created_at);
- 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 hostname = location.hostname.trim();
+ if(data.from == "" || hostname == data.from){
+ var shop_code = data.shop_code;
+ var order = data.data;
+ if(order.length > 0){
+ $('.custom-table.'+shop_code+'_order_reserve_cable tbody').html("");
+ $("."+shop_code+" > .nav-item.red > a > p.num").text(order.length);
+ $.each(order, function(key,value){
+ var active_class = "";
+ if(key==0){
+ active_class = "tr-active";
+ showNewOrder(order[key],shop_code);
+ }
+ var rowCount = key+1;
+ var date = new Date(value.created_at);
+ 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 = "";
- if(value.provider == "food2u" || value.provider == "yangondoor2door"){
- delivery_type = "DELIVERY";
- }else if(value.provider == "pick_up"){
- delivery_type = "PICK-UP";
- }else{
- delivery_type = "DIRECT DELIVERY";
- }
+ var delivery_type = "";
+ if(value.provider == "food2u" || value.provider == "yangondoor2door"){
+ delivery_type = "DELIVERY";
+ }else if(value.provider == "pick_up"){
+ delivery_type = "PICK-UP";
+ }else{
+ delivery_type = "DIRECT DELIVERY";
+ }
- row = ''
- +'| '+rowCount
- +' | '
- +''+created_at
- +' | '
- +''+time
- +' | '
- +''+value.grand_total
- +' | '
- +''
- +''+ delivery_type +''
- +' | '
- +'
';
-
- $('.custom-table.'+shop_code+'_order_reserve_cable tbody').append(row);
- });
+ row = ''
+ +'| '+rowCount
+ +' | '
+ +''+created_at
+ +' | '
+ +''+time
+ +' | '
+ +''+value.grand_total
+ +' | '
+ +''
+ +''+ delivery_type +''
+ +' | '
+ +'
';
+
+ $('.custom-table.'+shop_code+'_order_reserve_cable tbody').append(row);
+ });
+ }
+
+ customTableClick();
}
-
- customTableClick();
}
});
diff --git a/app/assets/javascripts/channels/second_display.js b/app/assets/javascripts/channels/second_display.js
index 79b59cac..cfe2de8f 100644
--- a/app/assets/javascripts/channels/second_display.js
+++ b/app/assets/javascripts/channels/second_display.js
@@ -5,33 +5,36 @@ App.checkin = App.cable.subscriptions.create('SecondDisplayChannel', {
disconnected: function() {},
- received: function(data) {
- var data_obj = data.data;
- var status = data.status;
- var count = 0
- var sub_total = 0
- if (data.status == "order") {
- for(var i in data_obj) {
+ received: function(data) {
+ var hostname = location.hostname.trim();
+ if(data.from == "" || hostname == data.from){
+ var data_obj = data.data;
+ var status = data.status;
+ var count = 0
+ var sub_total = 0
+ if (data.status == "order") {
+ for(var i in data_obj) {
- sub_total = sub_total + (data_obj[i].price * data_obj[i].qty)
- count += 1
- row =''
- +'| '+count+' | '
- +''+data_obj[i].item_name+' | '
- +''+data_obj[i].qty +' | '
- + ''+data_obj[i].qty*data_obj[i].price +' | '
- +'
'
- $(".second_display_items").append(row);
- }//end looping
- }else{
- $('#s_sub_total').empty();
- $('#s_sub_total').append(data_obj.total_amount);
- $('#s_total_discount').empty();
- $('#s_total_discount').append(data_obj.total_discount);
- $('#s_tatal_tax').empty();
- $('#s_tatal_tax').append(data_obj.total_tax);
- $('#s_grand_total').empty();
- $('#s_grand_total').append(data_obj.grand_total);
+ sub_total = sub_total + (data_obj[i].price * data_obj[i].qty)
+ count += 1
+ row =''
+ +'| '+count+' | '
+ +''+data_obj[i].item_name+' | '
+ +''+data_obj[i].qty +' | '
+ + ''+data_obj[i].qty*data_obj[i].price +' | '
+ +'
'
+ $(".second_display_items").append(row);
+ }//end looping
+ }else{
+ $('#s_sub_total').empty();
+ $('#s_sub_total').append(data_obj.total_amount);
+ $('#s_total_discount').empty();
+ $('#s_total_discount').append(data_obj.total_discount);
+ $('#s_tatal_tax').empty();
+ $('#s_tatal_tax').append(data_obj.total_tax);
+ $('#s_grand_total').empty();
+ $('#s_grand_total').append(data_obj.grand_total);
+ }
}
}
});
diff --git a/app/assets/javascripts/channels/second_display_view.js b/app/assets/javascripts/channels/second_display_view.js
index 1a1cba86..6a532f09 100644
--- a/app/assets/javascripts/channels/second_display_view.js
+++ b/app/assets/javascripts/channels/second_display_view.js
@@ -6,161 +6,163 @@ App.checkin = App.cable.subscriptions.create('SecondDisplayViewChannel', {
disconnected: function() {},
received: function(data) {
- var items = data.data;
- var tax = data.tax_profiles;
- var status= data.status
- if (status == "reload") {
- jQuery('#s_reload').click();
- }
- $('#second_display_slider').addClass("hidden")
- $('#second_display_items').removeClass("hidden")
-
-
- // append items
- if (status == "add") {
- for(var i in items) {
- qty = parseInt(items[i].qty);
- append = 0;
- price = items[i].price;
-
- instance_name = items[i].instance;
- if (instance_name == "undefined"){
- instance = '';
- }else{
- instance = "("+items[i].instance+")";
- }
-
- // d_option = items[i].options;
- // if (d_option){
- // option_name = "-"+items[i].options;
- // }else{
- // option_name = '';
- // }
-
- d_option = items[i].opt;
- if (items[i].click_type != "add_icon"){
- option_name = "-"+items[i].options;
- data_option = items[i].options ;
- }else{
- option_name = ' ';
- data_option = '[]';
- }
-
- var rowCount = $('.second_display_items tbody tr').length+1;
- var item_row = $('.second_display_items tbody tr');
-
- $(item_row).each(function(j){
- var item_code = $(item_row[j]).attr('data-code');
- var instance_code = $(item_row[j]).attr('data-instance-code');
- var r_option = $(item_row[j]).attr('data-options');
- if (item_code == items[i].item_code && instance_code == items[i].instance_code && r_option==d_option) {
- if (qty > 1) {
- qty = parseInt($(item_row[j]).children('#item_qty').text()) + qty;
- }else{
- qty = parseInt($(item_row[j]).children('#item_qty').text()) + 1;
- }
-
- $(item_row[j]).children('#item_qty').text(qty);
- parseFloat($(item_row[j]).children('#item_price').text(parseFloat(price*qty).toFixed(2)));
- append =1;
- }else{
- if (qty > 1) {
- qty = qty;
- }else{
- qty = 1;
- }
- }
- });
- if (append===0) {
- row =""
- +'| '+rowCount+' | '
- +'' + items[i].name+ ' ' + instance + ' ' + option_name +' | '
- +'' + qty + ' | '
- +''
- + parseFloat(price).toFixed(2)
- +' | '
- +'
';
- $(".second_display_items tbody").append(row);
-
- }
+ var hostname = location.hostname.trim();
+ if(data.from == "" || hostname == data.from){
+ var items = data.data;
+ var tax = data.tax_profiles;
+ var status= data.status
+ if (status == "reload") {
+ jQuery('#s_reload').click();
}
- }
- if (status == "set_add") {
- // var option_arr = [];
- var attribute_arr = [];
- var rowCount = $('.second_display_items tbody tr').length+1;
- for(var i in items) {
- code = items[i].code;
- item_code = items[i].item_code;
- name = items[i].name;
- item_name = items[i].item_name;
- qty = items[i].qty;
+ $('#second_display_slider').addClass("hidden")
+ $('#second_display_items').removeClass("hidden")
+
+
+ // append items
+ if (status == "add") {
+ for(var i in items) {
+ qty = parseInt(items[i].qty);
+ append = 0;
price = items[i].price;
- option = items[i].option;
- sub_item = items[i].sub_item;
- total = qty * price ;
- // option_arr.push(option);
- row =""
+
+ instance_name = items[i].instance;
+ if (instance_name == "undefined"){
+ instance = '';
+ }else{
+ instance = "("+items[i].instance+")";
+ }
+
+ // d_option = items[i].options;
+ // if (d_option){
+ // option_name = "-"+items[i].options;
+ // }else{
+ // option_name = '';
+ // }
+
+ d_option = items[i].opt;
+ if (items[i].click_type != "add_icon"){
+ option_name = "-"+items[i].options;
+ data_option = items[i].options ;
+ }else{
+ option_name = ' ';
+ data_option = '[]';
+ }
+
+ var rowCount = $('.second_display_items tbody tr').length+1;
+ var item_row = $('.second_display_items tbody tr');
+
+ $(item_row).each(function(j){
+ var item_code = $(item_row[j]).attr('data-code');
+ var instance_code = $(item_row[j]).attr('data-instance-code');
+ var r_option = $(item_row[j]).attr('data-options');
+ if (item_code == items[i].item_code && instance_code == items[i].instance_code && r_option==d_option) {
+ if (qty > 1) {
+ qty = parseInt($(item_row[j]).children('#item_qty').text()) + qty;
+ }else{
+ qty = parseInt($(item_row[j]).children('#item_qty').text()) + 1;
+ }
+
+ $(item_row[j]).children('#item_qty').text(qty);
+ parseFloat($(item_row[j]).children('#item_price').text(parseFloat(price*qty).toFixed(2)));
+ append =1;
+ }else{
+ if (qty > 1) {
+ qty = qty;
+ }else{
+ qty = 1;
+ }
+ }
+ });
+ if (append===0) {
+ row ="
"
+'| '+rowCount+' | '
- +'' + item_name+ ' ' + name + ''+option+' | '
+ +'' + items[i].name+ ' ' + instance + ' ' + option_name +' | '
+'' + qty + ' | '
+''
- + parseFloat(total).toFixed(2)
+ + parseFloat(price).toFixed(2)
+' | '
+'
';
$(".second_display_items tbody").append(row);
- rowCount = rowCount + 1;
-
- }
- }
- //end apend items
- var total_price = 0;
- var taxable_amount = 0;
- var total_discount = 0
- var total_tax_amount = 0
- var item_row = $('.second_display_items tbody tr');
- //calculate Sub Total
- $(item_row).each(function(i){
- var unit_price = parseFloat($(item_row[i]).attr('data-price'));
- var qty = parseFloat($(item_row[i]).children('#item_qty').text());
- total_price += qty*unit_price;
- });
- //calculate Tax Amount
- for(var i in tax) {
- // substract , to give after discount
- var total_tax = total_price - total_discount
- // include or execulive
- if (tax[i].inclusive){
- rate = tax[i].rate
- divided_value = (100 + rate)/rate
- total_tax_amount = total_tax_amount + (total_tax / divided_value)
- }else{
- total_tax_amount = total_tax_amount + (total_tax * tax[i].rate / 100)
+
+ }
}
}
- //end calculate Tax amount
- var fixed_total_price = parseFloat(total_price).toFixed(2);
- var fixed_taxable_amount = parseFloat(total_tax_amount).toFixed(2);
- var fixed_grand_total = parseFloat(total_price + total_tax_amount).toFixed(2);
+ if (status == "set_add") {
+ // var option_arr = [];
+ var attribute_arr = [];
+ var rowCount = $('.second_display_items tbody tr').length+1;
+ for(var i in items) {
+ code = items[i].code;
+ item_code = items[i].item_code;
+ name = items[i].name;
+ item_name = items[i].item_name;
+ qty = items[i].qty;
+ price = items[i].price;
+ option = items[i].option;
+ sub_item = items[i].sub_item;
+ total = qty * price ;
+ // option_arr.push(option);
+ row =""
+ +'| '+rowCount+' | '
+ +'' + item_name+ ' ' + name + ''+option+' | '
+ +'' + qty + ' | '
+ +''
+ + parseFloat(total).toFixed(2)
+ +' | '
+ +'
';
+ $(".second_display_items tbody").append(row);
+ rowCount = rowCount + 1;
+
+ }
+ }
+ //end apend items
+ var total_price = 0;
+ var taxable_amount = 0;
+ var total_discount = 0
+ var total_tax_amount = 0
+ var item_row = $('.second_display_items tbody tr');
+ //calculate Sub Total
+ $(item_row).each(function(i){
+ var unit_price = parseFloat($(item_row[i]).attr('data-price'));
+ var qty = parseFloat($(item_row[i]).children('#item_qty').text());
+ total_price += qty*unit_price;
+ });
+ //calculate Tax Amount
+ for(var i in tax) {
+ // substract , to give after discount
+ var total_tax = total_price - total_discount
+ // include or execulive
+ if (tax[i].inclusive){
+ rate = tax[i].rate
+ divided_value = (100 + rate)/rate
+ total_tax_amount = total_tax_amount + (total_tax / divided_value)
+ }else{
+ total_tax_amount = total_tax_amount + (total_tax * tax[i].rate / 100)
+ }
+ }
+ //end calculate Tax amount
+ var fixed_total_price = parseFloat(total_price).toFixed(2);
+ var fixed_taxable_amount = parseFloat(total_tax_amount).toFixed(2);
+ var fixed_grand_total = parseFloat(total_price + total_tax_amount).toFixed(2);
- $('#s_sub_total').empty();
- $('#s_sub_total').append(fixed_total_price);
- $('#s_tatal_tax').empty();
- $('#s_tatal_tax').append(fixed_taxable_amount);
- $('#s_grand_total').empty();
- $('#s_grand_total').append(fixed_grand_total);
+ $('#s_sub_total').empty();
+ $('#s_sub_total').append(fixed_total_price);
+ $('#s_tatal_tax').empty();
+ $('#s_tatal_tax').append(fixed_taxable_amount);
+ $('#s_grand_total').empty();
+ $('#s_grand_total').append(fixed_grand_total);
+ }
}
-
});
diff --git a/app/controllers/api/bill_controller.rb b/app/controllers/api/bill_controller.rb
index 2fb3d621..8d8af8b2 100755
--- a/app/controllers/api/bill_controller.rb
+++ b/app/controllers/api/bill_controller.rb
@@ -47,9 +47,12 @@ class Api::BillController < Api::ApiController
Promotion.promo_activate(@sale)
#BillBroadcastJob.perform_later(table)
- #if ENV["SERVER_MODE"] != 'cloud'
- ActionCable.server.broadcast "bill_channel",table: table
- #end
+ if ENV["SERVER_MODE"] == 'cloud'
+ from = request.subdomain + "." + request.domain
+ else
+ from = ""
+ end
+ ActionCable.server.broadcast "bill_channel",table: table, from: from
else
@status = false
@error_message = "No Current Open Shift"
diff --git a/app/controllers/api/call_waiters_controller.rb b/app/controllers/api/call_waiters_controller.rb
index b8c11897..9c6ad974 100644
--- a/app/controllers/api/call_waiters_controller.rb
+++ b/app/controllers/api/call_waiters_controller.rb
@@ -6,9 +6,12 @@ class Api::CallWaitersController < ActionController::API
@time = params[:time]
@table = DiningFacility.find(@table_id)
# CallWaiterJob.perform_later(@table,@time)
- #if ENV["SERVER_MODE"] != 'cloud'
- ActionCable.server.broadcast "call_waiter_channel",table: @table,time:@time
- #end
+ if ENV["SERVER_MODE"] == 'cloud'
+ from = request.subdomain + "." + request.domain
+ else
+ from = ""
+ end
+ ActionCable.server.broadcast "call_waiter_channel",table: @table,time:@time,from: from
# get printer info
@shop = Shop.first
unique_code = "CallWaiterPdf"
diff --git a/app/controllers/api/check_in_process_controller.rb b/app/controllers/api/check_in_process_controller.rb
index 4bd9434d..492e345e 100644
--- a/app/controllers/api/check_in_process_controller.rb
+++ b/app/controllers/api/check_in_process_controller.rb
@@ -6,7 +6,16 @@ class Api::CheckInProcessController < Api::ApiController
booking = dining_facility.get_current_checkout_booking
if !booking.nil?
- DiningFacility.check_in_booking(params[:dining_id])
+ # DiningFacility.check_in_booking(params[:dining_id])
+
+ table = DiningFacility.find(params[:dining_id])
+ #Send to background job for processing
+ if ENV["SERVER_MODE"] == 'cloud'
+ from = request.subdomain + "." + request.domain
+ else
+ from = ""
+ end
+ ActionCable.server.broadcast "check_in_booking_channel",table: table,from:from
check_in_time = booking.checkin_at.utc.getlocal.strftime("%Y-%m-%d %H:%M")
check_out_time = booking.checkout_at.utc.getlocal.strftime("%Y-%m-%d %H:%M")
diff --git a/app/controllers/api/order_reserve/order_reservation_controller.rb b/app/controllers/api/order_reserve/order_reservation_controller.rb
index a7929653..32e87a20 100644
--- a/app/controllers/api/order_reserve/order_reservation_controller.rb
+++ b/app/controllers/api/order_reserve/order_reservation_controller.rb
@@ -73,7 +73,12 @@ class Api::OrderReserve::OrderReservationController < Api::ApiController
result = { :status => true, :order_reservation_id => order_reservation_id, :message => "Order reservation is successfully created!" }
order_reservation = OrderReservation.get_pending_orders #find(order_reservation_id)
- ActionCable.server.broadcast "order_reservation_channel",data: order_reservation,shop_code: shop_code
+ if ENV["SERVER_MODE"] == 'cloud'
+ from = request.subdomain + "." + request.domain
+ else
+ from = ""
+ end
+ ActionCable.server.broadcast "order_reservation_channel",data: order_reservation,shop_code: shop_code,from:from
else
result = { :status => true, :order_reservation_id => order_reservation_id, :message => "Order reservation is already existed!" }
end
diff --git a/app/controllers/origami/addorders_controller.rb b/app/controllers/origami/addorders_controller.rb
index 63cb8736..3fc11693 100755
--- a/app/controllers/origami/addorders_controller.rb
+++ b/app/controllers/origami/addorders_controller.rb
@@ -181,6 +181,12 @@ puts params[:id]
@status, @booking = @order.generate
+ if @status && @booking
+ if params[:order_source] != "quick_service"
+ process_order_queue(@order.order_id,@order.table_id,@order.source)
+ end
+ end
+
# Order.send_customer_view(@booking)
if current_user.role != "waiter" && params[:create_type] == "create_pay"
@@ -188,8 +194,12 @@ puts params[:id]
@status, @sale = Sale.request_bill(@order,current_user,current_login_employee)
# for second display
- #if ENV["SERVER_MODE"] != 'cloud'
- ActionCable.server.broadcast "second_display_channel",data: @sale,status:"sale"
+ if ENV["SERVER_MODE"] == 'cloud'
+ from = request.subdomain + "." + request.domain
+ else
+ from = ""
+ end
+ ActionCable.server.broadcast "second_display_channel",data: @sale,status:"sale",from:from
#end
result = {:status=> @status, :data => @sale }
render :json => result.to_json
@@ -240,6 +250,81 @@ puts params[:id]
return false
end
end
+
+ def process_order_queue(order_id,table_id,order_source)
+ print_status = nil
+ cup_status = nil
+
+ #Send to background job for processing
+ order = Order.find(order_id)
+ sidekiq = Lookup.find_by_lookup_type("sidekiq")
+
+ if ENV["SERVER_MODE"] != 'cloud'
+ cup_status = `#{"sudo service cups status"}`
+ print_status = check_cup_status(cup_status)
+ end
+
+ if print_status
+ if !sidekiq.nil?
+ OrderQueueProcessorJob.perform_later(order_id, table_id)
+ else
+ if order
+ oqs = OrderQueueStation.new
+ oqs.process_order(order, table_id, order_source)
+ end
+ # assign_order = AssignedOrderItem.assigned_order_item_by_job(order_id)
+ # ActionCable.server.broadcast "order_queue_station_channel",order: assign_order
+ end
+ else
+ if ENV["SERVER_MODE"] != 'cloud'
+ cup_start = `#{"sudo service cups start"}`
+ cup_status = `#{"sudo service cups status"}`
+ print_status = check_cup_status(cup_status)
+ end
+
+ if print_status
+ if !sidekiq.nil?
+ OrderQueueProcessorJob.perform_later(order_id, table_id)
+ else
+ if order
+ oqs = OrderQueueStation.new
+ oqs.process_order(order, table_id, order_source)
+ end
+ # assign_order = AssignedOrderItem.assigned_order_item_by_job(order_id)
+ # ActionCable.server.broadcast "order_queue_station_channel",order: assign_order
+ end
+ else
+ if ENV["SERVER_MODE"] != 'cloud'
+ from = ""
+ msg = ' Print Error ! Please contact to service'
+ ActionCable.server.broadcast "call_waiter_channel",table: msg,time:'print_error',from:from
+ end
+ if !sidekiq.nil?
+ OrderQueueProcessorJob.perform_later(order_id, table_id)
+ else
+ if order
+ oqs = OrderQueueStation.new
+ oqs.process_order(order, table_id, order_source)
+ end
+
+ if ENV["SERVER_MODE"] == 'cloud'
+ from = request.subdomain + "." + request.domain
+ else
+ from = ""
+ end
+ assign_order = AssignedOrderItem.assigned_order_item_by_job(order_id)
+ ActionCable.server.broadcast "order_queue_station_channel",order: assign_order,from:from
+ end
+ end
+ end
+ end
+
+ def check_cup_status(status)
+ if status.include? "Active: active (running)" || "Active: active (exited)" #"Cup Server is already running"
+ return true
+ end
+ return false
+ end
private
diff --git a/app/controllers/origami/second_display_controller.rb b/app/controllers/origami/second_display_controller.rb
index ac869719..5f88bdfc 100644
--- a/app/controllers/origami/second_display_controller.rb
+++ b/app/controllers/origami/second_display_controller.rb
@@ -13,8 +13,12 @@ class Origami::SecondDisplayController < BaseOrigamiController
else
tax_profiles = nil
end
- #if ENV["SERVER_MODE"] != 'cloud'
- ActionCable.server.broadcast "second_display_view_channel",data: params[:data],tax_profiles: tax_profiles,status:params[:status]
+ if ENV["SERVER_MODE"] == 'cloud'
+ from = request.subdomain + "." + request.domain
+ else
+ from = ""
+ end
+ ActionCable.server.broadcast "second_display_view_channel",data: params[:data],tax_profiles: tax_profiles,status:params[:status],from:from
# end
end
#Shop Name in Navbor
diff --git a/app/controllers/origami/split_bill_controller.rb b/app/controllers/origami/split_bill_controller.rb
index 2d2ca4fb..77f4589a 100755
--- a/app/controllers/origami/split_bill_controller.rb
+++ b/app/controllers/origami/split_bill_controller.rb
@@ -337,9 +337,13 @@ class Origami::SplitBillController < BaseOrigamiController
end
Promotion.promo_activate(sale)
- #if ENV["SERVER_MODE"] != 'cloud'
- ActionCable.server.broadcast "bill_channel",table: table
- #end
+ if ENV["SERVER_MODE"] == 'cloud'
+ from = request.subdomain + "." + request.domain
+ else
+ from = ""
+ end
+ ActionCable.server.broadcast "bill_channel",table: table,from:from
+
render :json => { status: status }
else
render :json => { status: false, error_message: 'No Current Open Shift!'}
diff --git a/app/models/dining_facility.rb b/app/models/dining_facility.rb
index cff5fd60..c0843dbd 100755
--- a/app/models/dining_facility.rb
+++ b/app/models/dining_facility.rb
@@ -157,15 +157,25 @@ class DiningFacility < ApplicationRecord
#Send to background job for processing
# CheckInBookingJob.perform_later(table)
#if ENV["SERVER_MODE"] != 'cloud'
- ActionCable.server.broadcast "check_in_booking_channel",table: table
+ if ENV["SERVER_MODE"] == 'cloud'
+ from = request.subdomain + "." + request.domain
+ else
+ from = ""
+ end
+ ActionCable.server.broadcast "check_in_booking_channel",table: table,from:from
#end
end
def self.checkin_time
table = DiningFacility.get_checkin_booking
if table.length > 0
+ if ENV["SERVER_MODE"] == 'cloud'
+ from = request.subdomain + "." + request.domain
+ else
+ from = ""
+ end
if ENV["SERVER_MODE"] != 'cloud'
- ActionCable.server.broadcast "checkin_channel",table: table
+ ActionCable.server.broadcast "checkin_channel",table: table,from:from
end
end
end
diff --git a/app/models/display_image.rb b/app/models/display_image.rb
index 30d83566..73e88e31 100644
--- a/app/models/display_image.rb
+++ b/app/models/display_image.rb
@@ -1,3 +1,3 @@
class DisplayImage < ApplicationRecord
- belongs_to :shop
+ belongs_to :shop
end
diff --git a/app/models/order.rb b/app/models/order.rb
index 8a0e52b3..9a52942e 100755
--- a/app/models/order.rb
+++ b/app/models/order.rb
@@ -71,9 +71,9 @@ class Order < ApplicationRecord
BookingOrder.create({:booking_id => booking.booking_id, :order => self})
#Send order to queue one it done!
- if self.source != "quick_service"
- process_order_queue
- end
+ # if self.source != "quick_service"
+ # process_order_queue
+ # end
#send order to broadcast job
send_order_broadcast(booking)
@@ -108,9 +108,9 @@ class Order < ApplicationRecord
BookingOrder.create({:booking_id => booking.booking_id, :order => self})
#Send order to queue one it done!
- if self.source != "quick_service"
- process_order_queue
- end
+ # if self.source != "quick_service"
+ # process_order_queue
+ # end
#send order to broadcast job
send_order_broadcast(booking)
@@ -283,69 +283,7 @@ class Order < ApplicationRecord
# Counter number of quantityf
end
- #Process order items and send to order queue
- def process_order_queue
- print_status = nil
- cup_status = nil
-
- #Send to background job for processing
- order = Order.find(self.id)
- sidekiq = Lookup.find_by_lookup_type("sidekiq")
-
- if ENV["SERVER_MODE"] != 'cloud'
- cup_status = `#{"sudo service cups status"}`
- print_status = check_cup_status(cup_status)
- end
-
- if print_status
- if !sidekiq.nil?
- OrderQueueProcessorJob.perform_later(self.id, self.table_id)
- else
- if order
- oqs = OrderQueueStation.new
- oqs.process_order(order, self.table_id, self.source)
- end
- # assign_order = AssignedOrderItem.assigned_order_item_by_job(self.id)
- # ActionCable.server.broadcast "order_queue_station_channel",order: assign_order
- end
- else
- if ENV["SERVER_MODE"] != 'cloud'
- cup_start = `#{"sudo service cups start"}`
- cup_status = `#{"sudo service cups status"}`
- print_status = check_cup_status(cup_status)
- end
-
- if print_status
- if !sidekiq.nil?
- OrderQueueProcessorJob.perform_later(self.id, self.table_id)
- else
- if order
- oqs = OrderQueueStation.new
- oqs.process_order(order, self.table_id, self.source)
- end
- # assign_order = AssignedOrderItem.assigned_order_item_by_job(self.id)
- # ActionCable.server.broadcast "order_queue_station_channel",order: assign_order
- end
- else
- if ENV["SERVER_MODE"] != 'cloud'
-
- msg = ' Print Error ! Please contact to service'
- ActionCable.server.broadcast "call_waiter_channel",table: msg,time:'print_error'
- end
- if !sidekiq.nil?
- OrderQueueProcessorJob.perform_later(self.id, self.table_id)
- else
- if order
- oqs = OrderQueueStation.new
- oqs.process_order(order, self.table_id, self.source)
- end
- assign_order = AssignedOrderItem.assigned_order_item_by_job(self.id)
- ActionCable.server.broadcast "order_queue_station_channel",order: assign_order
- end
- end
- end
- end
-
+
#Process order items and send to order queue
def self.pay_process_order_queue(id,table_id)
# if ENV["SERVER_MODE"] != 'cloud'
@@ -378,9 +316,13 @@ class Order < ApplicationRecord
type = 'order'
#Send to background job for processing
# OrderBroadcastJob.perform_later(table,type)
- #if ENV["SERVER_MODE"] != 'cloud'
- ActionCable.server.broadcast "order_channel",table: table,type:type
- #end
+ if ENV["SERVER_MODE"] == 'cloud'
+ from = request.subdomain + "." + request.domain
+ else
+ from = ""
+ end
+ ActionCable.server.broadcast "order_channel",table: table,type:type,from:from
+
end
end
@@ -534,11 +476,78 @@ class Order < ApplicationRecord
end
end
end
- #if ENV["SERVER_MODE"] != 'cloud'
- ActionCable.server.broadcast "second_display_channel",data: @data_array,status:@status
- #end
+ if ENV["SERVER_MODE"] == 'cloud'
+ from = request.subdomain + "." + request.domain
+ else
+ from = ""
+ end
+ ActionCable.server.broadcast "second_display_channel",data: @data_array,status:@status,from:from
end
+ #Process order items and send to order queue
+ # def process_order_queue
+ # print_status = nil
+ # cup_status = nil
+
+ # #Send to background job for processing
+ # order = Order.find(self.id)
+ # sidekiq = Lookup.find_by_lookup_type("sidekiq")
+
+ # if ENV["SERVER_MODE"] != 'cloud'
+ # cup_status = `#{"sudo service cups status"}`
+ # print_status = check_cup_status(cup_status)
+ # end
+
+ # if print_status
+ # if !sidekiq.nil?
+ # OrderQueueProcessorJob.perform_later(self.id, self.table_id)
+ # else
+ # if order
+ # oqs = OrderQueueStation.new
+ # oqs.process_order(order, self.table_id, self.source)
+ # end
+ # # assign_order = AssignedOrderItem.assigned_order_item_by_job(self.id)
+ # # ActionCable.server.broadcast "order_queue_station_channel",order: assign_order
+ # end
+ # else
+ # if ENV["SERVER_MODE"] != 'cloud'
+ # cup_start = `#{"sudo service cups start"}`
+ # cup_status = `#{"sudo service cups status"}`
+ # print_status = check_cup_status(cup_status)
+ # end
+
+ # if print_status
+ # if !sidekiq.nil?
+ # OrderQueueProcessorJob.perform_later(self.id, self.table_id)
+ # else
+ # if order
+ # oqs = OrderQueueStation.new
+ # oqs.process_order(order, self.table_id, self.source)
+ # end
+ # # assign_order = AssignedOrderItem.assigned_order_item_by_job(self.id)
+ # # ActionCable.server.broadcast "order_queue_station_channel",order: assign_order
+ # end
+ # else
+ # if ENV["SERVER_MODE"] != 'cloud'
+
+ # msg = ' Print Error ! Please contact to service'
+ # ActionCable.server.broadcast "call_waiter_channel",table: msg,time:'print_error'
+ # end
+ # if !sidekiq.nil?
+ # OrderQueueProcessorJob.perform_later(self.id, self.table_id)
+ # else
+ # if order
+ # oqs = OrderQueueStation.new
+ # oqs.process_order(order, self.table_id, self.source)
+ # end
+ # assign_order = AssignedOrderItem.assigned_order_item_by_job(self.id)
+ # ActionCable.server.broadcast "order_queue_station_channel",order: assign_order
+ # end
+ # end
+ # end
+ # end
+
+
private
def generate_custom_id
diff --git a/app/models/order_queue_station.rb b/app/models/order_queue_station.rb
index 70b28c1f..a775601a 100755
--- a/app/models/order_queue_station.rb
+++ b/app/models/order_queue_station.rb
@@ -116,7 +116,19 @@ class OrderQueueStation < ApplicationRecord
order = Order.find(order_id)
order_items = order.order_items
- Order.pay_process_order_queue(order_id,table_id)
+ # Order.pay_process_order_queue(order_id,table_id)
+ if order
+ oqs = OrderQueueStation.new
+ oqs.process_order(order, table_id)
+ end
+ assign_order = AssignedOrderItem.assigned_order_item_by_job(order_id)
+ if ENV["SERVER_MODE"] == 'cloud'
+ from = request.subdomain + "." + request.domain
+ else
+ from = ""
+ end
+ ActionCable.server.broadcast "order_queue_station_channel",order: assign_order,from:from
+
if table_id.to_i > 0
# get dining
dining = DiningFacility.find(table_id)
diff --git a/app/models/order_reservation.rb b/app/models/order_reservation.rb
index 057f6f9b..69b94ff8 100644
--- a/app/models/order_reservation.rb
+++ b/app/models/order_reservation.rb
@@ -317,9 +317,15 @@ class OrderReservation < ApplicationRecord
end
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, shop_code: shop_code
- end
+ if ENV["SERVER_MODE"] == 'cloud'
+ from = request.subdomain + "." + request.domain
+ ActionCable.server.broadcast "check_new_order_channel",data: order_reservation, shop_code: shop_code,from:from
+ else
+ from = ""
+ end
+ # if ENV["SERVER_MODE"] == 'cloud'
+ # ActionCable.server.broadcast "check_new_order_channel",data: order_reservation, shop_code: shop_code
+ # end
end
end
@@ -332,9 +338,15 @@ class OrderReservation < ApplicationRecord
end
order_reservation = OrderReservation.where("status='accepted' and requested_time <= '#{Time.now.utc}'")
if order_reservation.length > 0
- if ENV["SERVER_MODE"] == 'cloud'
- ActionCable.server.broadcast "check_order_send_to_kitchen_channel",data: order_reservation, shop_code: shop_code
- end
+ if ENV["SERVER_MODE"] == 'cloud'
+ from = request.subdomain + "." + request.domain
+ ActionCable.server.broadcast "check_order_send_to_kitchen_channel",data: order_reservation, shop_code: shop_code,from:from
+ else
+ from = ""
+ end
+ # if ENV["SERVER_MODE"] == 'cloud'
+ # ActionCable.server.broadcast "check_order_send_to_kitchen_channel",data: order_reservation, shop_code: shop_code
+ # end
end
end
@@ -347,9 +359,15 @@ class OrderReservation < ApplicationRecord
end
order_reservation = OrderReservation.where("status='send_to_kitchen' and requested_time <= '#{Time.now.utc}'")
if order_reservation.length > 0
- if ENV["SERVER_MODE"] == 'cloud'
- ActionCable.server.broadcast "check_order_ready_to_delivery_channel",data: order_reservation, shop_code: shop_code
- end
+ if ENV["SERVER_MODE"] == 'cloud'
+ from = request.subdomain + "." + request.domain
+ ActionCable.server.broadcast "check_order_ready_to_delivery_channel",data: order_reservation, shop_code: shop_code,from:from
+ else
+ from = ""
+ end
+ # if ENV["SERVER_MODE"] == 'cloud'
+ # ActionCable.server.broadcast "check_order_ready_to_delivery_channel",data: order_reservation, shop_code: shop_code
+ # end
end
end
diff --git a/app/models/sale_payment.rb b/app/models/sale_payment.rb
index 5f372581..5fbc8c24 100755
--- a/app/models/sale_payment.rb
+++ b/app/models/sale_payment.rb
@@ -609,7 +609,12 @@ class SalePayment < ApplicationRecord
#Send to background job for processing
# OrderBroadcastJob.perform_later(table,type)
#if ENV["SERVER_MODE"] != 'cloud'
- ActionCable.server.broadcast "order_channel",table: table,type:type
+ if ENV["SERVER_MODE"] == 'cloud'
+ from = request.subdomain + "." + request.domain
+ else
+ from = ""
+ end
+ ActionCable.server.broadcast "order_channel",table: table,type:type,from:from
#end
end
end
diff --git a/db/migrate/20180213053009_create_display_images.rb b/db/migrate/20180521041850_create_display_images.rb
similarity index 82%
rename from db/migrate/20180213053009_create_display_images.rb
rename to db/migrate/20180521041850_create_display_images.rb
index f40a9179..f139d227 100644
--- a/db/migrate/20180213053009_create_display_images.rb
+++ b/db/migrate/20180521041850_create_display_images.rb
@@ -2,13 +2,11 @@ class CreateDisplayImages < ActiveRecord::Migration[5.1]
def change
create_table :display_images do |t|
t.integer :shop_id
+ t.string :name
t.binary :image
t.string :created_by
+
t.timestamps
end
end
-
- def down
- drop_table :display_images
- end
end
diff --git a/spec/models/display_image_spec.rb b/spec/models/display_image_spec.rb
new file mode 100644
index 00000000..1c6a0666
--- /dev/null
+++ b/spec/models/display_image_spec.rb
@@ -0,0 +1,5 @@
+require 'rails_helper'
+
+RSpec.describe DisplayImage, type: :model do
+ pending "add some examples to (or delete) #{__FILE__}"
+end