update action cable and other bugs
This commit is contained in:
@@ -6,68 +6,73 @@ App.call_waiter = App.cable.subscriptions.create('CallWaiterChannel', {
|
|||||||
disconnected: function() {},
|
disconnected: function() {},
|
||||||
|
|
||||||
received: function(data) {
|
received: function(data) {
|
||||||
table = data.table
|
|
||||||
time = data.time
|
|
||||||
|
|
||||||
// for Notificaiotn message
|
var hostname = location.hostname.trim();
|
||||||
var element = "#notify-wrapper"
|
if(data.from == "" || hostname == data.from)
|
||||||
var animateEnter = "";
|
|
||||||
var animateExit = "";
|
|
||||||
|
|
||||||
if (time == 'print_error') {
|
|
||||||
var colorName = "alert-danger";
|
|
||||||
var placementFrom = "center";
|
|
||||||
var placementAlign = "center";
|
|
||||||
var text = " Hello <br> "+table ;
|
|
||||||
style =""
|
|
||||||
}else{
|
|
||||||
var colorName = "alert-warning";
|
|
||||||
var placementFrom = "top";
|
|
||||||
var placementAlign = "center";
|
|
||||||
var text = " Calling Waiter <br> "+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,
|
table = data.table
|
||||||
type: colorName,
|
time = data.time
|
||||||
allow_dismiss: allowDismiss,
|
|
||||||
timer: 200000000000000,
|
// for Notificaiotn message
|
||||||
placement: {
|
var element = "#notify-wrapper"
|
||||||
from: placementFrom,
|
var animateEnter = "";
|
||||||
align: placementAlign
|
var animateExit = "";
|
||||||
},
|
|
||||||
animate: {
|
if (time == 'print_error') {
|
||||||
enter: animateEnter,
|
var colorName = "alert-danger";
|
||||||
exit: animateExit
|
var placementFrom = "center";
|
||||||
},
|
var placementAlign = "center";
|
||||||
template: '<div data-notify="container" style="'+style+'" class="bootstrap-notify-container alert alert-dismissible {0} ' + (allowDismiss ? "p-r-30" : "") + '" role="alert">' +
|
var text = " Hello <br> "+table ;
|
||||||
'<button type="button" aria-hidden="true" class="close notify-close float-right m-l-5 m-t--5" data-notify="dismiss">×</button>' +
|
style =""
|
||||||
'<span data-notify="icon"></span> ' +
|
}else{
|
||||||
'<span data-notify="title">{1}</span> ' +
|
var colorName = "alert-warning";
|
||||||
'<span data-notify="message">{2}</span>' +
|
var placementFrom = "top";
|
||||||
'<div class="progress" data-notify="progressbar">' +
|
var placementAlign = "center";
|
||||||
'<div class="progress-bar progress-bar-{0}" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div>' +
|
var text = " Calling Waiter <br> "+table.name ;
|
||||||
'</div>' +
|
style ="width:180px !important;"
|
||||||
'<a href="{3}" target="{4}" data-notify="url"></a>' +
|
}
|
||||||
'</div>'
|
|
||||||
});
|
|
||||||
|
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: '<div data-notify="container" style="'+style+'" class="bootstrap-notify-container alert alert-dismissible {0} ' + (allowDismiss ? "p-r-30" : "") + '" role="alert">' +
|
||||||
|
'<button type="button" aria-hidden="true" class="close notify-close float-right m-l-5 m-t--5" data-notify="dismiss">×</button>' +
|
||||||
|
'<span data-notify="icon"></span> ' +
|
||||||
|
'<span data-notify="title">{1}</span> ' +
|
||||||
|
'<span data-notify="message">{2}</span>' +
|
||||||
|
'<div class="progress" data-notify="progressbar">' +
|
||||||
|
'<div class="progress-bar progress-bar-{0}" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div>' +
|
||||||
|
'</div>' +
|
||||||
|
'<a href="{3}" target="{4}" data-notify="url"></a>' +
|
||||||
|
'</div>'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//end Notificaiotn message
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//end Notificaiotn message
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -5,12 +5,16 @@ App.checkin = App.cable.subscriptions.create('CheckInBookingChannel', {
|
|||||||
|
|
||||||
disconnected: function() {},
|
disconnected: function() {},
|
||||||
|
|
||||||
received: function(data) {
|
received: function(data) {
|
||||||
if($('.table_'+data.table.id).hasClass('green')){
|
var hostname = location.hostname.trim();
|
||||||
$('.table_'+data.table.id).removeClass('green');
|
if(data.from == "" || hostname == data.from)
|
||||||
$('.table_'+data.table.id).addClass('blue');
|
{
|
||||||
}
|
if($('.table_'+data.table.id).hasClass('green')){
|
||||||
$('.new_text_'+data.table.id).removeClass('hide');
|
$('.table_'+data.table.id).removeClass('green');
|
||||||
|
$('.table_'+data.table.id).addClass('blue');
|
||||||
|
}
|
||||||
|
$('.new_text_'+data.table.id).removeClass('hide');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -3,36 +3,40 @@ App.check_new_order = App.cable.subscriptions.create('CheckNewOrderChannel', {
|
|||||||
|
|
||||||
disconnected: function() {},
|
disconnected: function() {},
|
||||||
|
|
||||||
received: function(data) {
|
received: function(data) {
|
||||||
var order = data.data;
|
var hostname = location.hostname.trim();
|
||||||
var shop_code = data.shop_code;
|
if(data.from == "" || hostname == data.from)
|
||||||
if(order.length > 0){
|
{
|
||||||
var order_lists = "";
|
var order = data.data;
|
||||||
$.each(order, function(key, value){
|
var shop_code = data.shop_code;
|
||||||
if(key==0){
|
if(order.length > 0){
|
||||||
order_lists = value.order_reservation_id;
|
var order_lists = "";
|
||||||
}else if(key == (order.length - 1)){
|
$.each(order, function(key, value){
|
||||||
order_lists += ' and ' + value.order_reservation_id;
|
if(key==0){
|
||||||
}else{
|
order_lists = value.order_reservation_id;
|
||||||
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);
|
// alert(order_lists);
|
||||||
checkNewOrderAlert(shop_code, order_lists);
|
checkNewOrderAlert(shop_code, order_lists);
|
||||||
// $("#notify_new_order_lists").text(order_lists);
|
// $("#notify_new_order_lists").text(order_lists);
|
||||||
// if($("#"+shop_code+"_notify_new_order").hasClass("hidden")){
|
// if($("#"+shop_code+"_notify_new_order").hasClass("hidden")){
|
||||||
// $("#"+shop_code+"_notify_new_order").removeClass("hidden");
|
// $("#"+shop_code+"_notify_new_order").removeClass("hidden");
|
||||||
// }
|
// }
|
||||||
// $("#"+shop_code+"_notify_new_order").on('shown.bs.modal', function(e){
|
// $("#"+shop_code+"_notify_new_order").on('shown.bs.modal', function(e){
|
||||||
// // $(document).off('focusin.modal');
|
// // $(document).off('focusin.modal');
|
||||||
// $("#"+shop_code+"_notify_new_order").focus();
|
// $("#"+shop_code+"_notify_new_order").focus();
|
||||||
// $("#"+shop_code+"_doemal_new_order").addClass("hidden");
|
// $("#"+shop_code+"_doemal_new_order").addClass("hidden");
|
||||||
// $("#"+shop_code+"_notify_order_send_to_kitchen").addClass("hidden");
|
// $("#"+shop_code+"_notify_order_send_to_kitchen").addClass("hidden");
|
||||||
// $("#"+shop_code+"_notify_order_ready_to_delivery").addClass("hidden");
|
// $("#"+shop_code+"_notify_order_ready_to_delivery").addClass("hidden");
|
||||||
// }).on('hide.bs.modal', function (e) {
|
// }).on('hide.bs.modal', function (e) {
|
||||||
// $("#"+shop_code+"_notify_new_order").addClass("hidden");
|
// $("#"+shop_code+"_notify_new_order").addClass("hidden");
|
||||||
// }).modal({show: true, keyboard: false, backdrop: false});
|
// }).modal({show: true, keyboard: false, backdrop: false});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -3,36 +3,40 @@ App.check_order_ready_to_delivery = App.cable.subscriptions.create('CheckOrderRe
|
|||||||
|
|
||||||
disconnected: function() {},
|
disconnected: function() {},
|
||||||
|
|
||||||
received: function(data) {
|
received: function(data) {
|
||||||
var order = data.data;
|
var hostname = location.hostname.trim();
|
||||||
var shop_code = data.shop_code;
|
if(data.from == "" || hostname == data.from)
|
||||||
if(order.length > 0){
|
{
|
||||||
var order_lists = "";
|
var order = data.data;
|
||||||
$.each(order, function(key, value){
|
var shop_code = data.shop_code;
|
||||||
if(key==0){
|
if(order.length > 0){
|
||||||
order_lists = value.order_reservation_id;
|
var order_lists = "";
|
||||||
}else if(key == (order.length - 1)){
|
$.each(order, function(key, value){
|
||||||
order_lists += ' and ' + value.order_reservation_id;
|
if(key==0){
|
||||||
}else{
|
order_lists = value.order_reservation_id;
|
||||||
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);
|
// alert(order_lists);
|
||||||
checkOrderReadyToKitchenAlert(shop_code, order_lists);
|
checkOrderReadyToKitchenAlert(shop_code, order_lists);
|
||||||
// $("#notify_order_ready_to_delivery_lists").text(order_lists);
|
// $("#notify_order_ready_to_delivery_lists").text(order_lists);
|
||||||
// if($("#notify_order_ready_to_delivery").hasClass("hidden")){
|
// if($("#notify_order_ready_to_delivery").hasClass("hidden")){
|
||||||
// $("#"+shop_code+"_notify_order_ready_to_delivery").removeClass("hidden");
|
// $("#"+shop_code+"_notify_order_ready_to_delivery").removeClass("hidden");
|
||||||
// }
|
// }
|
||||||
// $("#"+shop_code+"_notify_order_ready_to_delivery").on('shown.bs.modal', function(e){
|
// $("#"+shop_code+"_notify_order_ready_to_delivery").on('shown.bs.modal', function(e){
|
||||||
// // $(document).off('focusin.modal');
|
// // $(document).off('focusin.modal');
|
||||||
// $("#"+shop_code+"_notify_order_ready_to_delivery").focus();
|
// $("#"+shop_code+"_notify_order_ready_to_delivery").focus();
|
||||||
// $("#"+shop_code+"_doemal_new_order").addClass("hidden");
|
// $("#"+shop_code+"_doemal_new_order").addClass("hidden");
|
||||||
// $("#"+shop_code+"_notify_new_order").addClass("hidden");
|
// $("#"+shop_code+"_notify_new_order").addClass("hidden");
|
||||||
// $("#"+shop_code+"_notify_order_send_to_kitchen").addClass("hidden");
|
// $("#"+shop_code+"_notify_order_send_to_kitchen").addClass("hidden");
|
||||||
// }).on('hide.bs.modal', function (e) {
|
// }).on('hide.bs.modal', function (e) {
|
||||||
// $("#"+shop_code+"_notify_order_ready_to_delivery").addClass("hidden");
|
// $("#"+shop_code+"_notify_order_ready_to_delivery").addClass("hidden");
|
||||||
// }).modal({show: true, keyboard: false, backdrop: false});
|
// }).modal({show: true, keyboard: false, backdrop: false});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -4,35 +4,39 @@ App.check_order_send_to_kitchen = App.cable.subscriptions.create('CheckOrderSend
|
|||||||
disconnected: function() {},
|
disconnected: function() {},
|
||||||
|
|
||||||
received: function(data) {
|
received: function(data) {
|
||||||
var order = data.data;
|
var hostname = location.hostname.trim();
|
||||||
var shop_code = data.shop_code;
|
if(data.from == "" || hostname == data.from)
|
||||||
if(order.length > 0){
|
{
|
||||||
var order_lists = "";
|
var order = data.data;
|
||||||
$.each(order, function(key, value){
|
var shop_code = data.shop_code;
|
||||||
if(key==0){
|
if(order.length > 0){
|
||||||
order_lists = value.order_reservation_id;
|
var order_lists = "";
|
||||||
}else if(key == (order.length - 1)){
|
$.each(order, function(key, value){
|
||||||
order_lists += ' and ' + value.order_reservation_id;
|
if(key==0){
|
||||||
}else{
|
order_lists = value.order_reservation_id;
|
||||||
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);
|
// alert(order_lists);
|
||||||
checkOrderSendToKitchen(shop_code, order_lists);
|
checkOrderSendToKitchen(shop_code, order_lists);
|
||||||
// $("#notify_order_send_to_kitchen_lists").text(order_lists);
|
// $("#notify_order_send_to_kitchen_lists").text(order_lists);
|
||||||
// if($("#notify_order_send_to_kitchen").hasClass("hidden")){
|
// if($("#notify_order_send_to_kitchen").hasClass("hidden")){
|
||||||
// $("#"+shop_code+"_notify_order_send_to_kitchen").removeClass("hidden");
|
// $("#"+shop_code+"_notify_order_send_to_kitchen").removeClass("hidden");
|
||||||
// }
|
// }
|
||||||
// $("#"+shop_code+"_notify_order_send_to_kitchen").on('shown.bs.modal', function(e){
|
// $("#"+shop_code+"_notify_order_send_to_kitchen").on('shown.bs.modal', function(e){
|
||||||
// // $(document).off('focusin.modal');
|
// // $(document).off('focusin.modal');
|
||||||
// $("#"+shop_code+"_notify_order_send_to_kitchen").focus();
|
// $("#"+shop_code+"_notify_order_send_to_kitchen").focus();
|
||||||
// $("#"+shop_code+"_doemal_new_order").addClass("hidden");
|
// $("#"+shop_code+"_doemal_new_order").addClass("hidden");
|
||||||
// $("#"+shop_code+"_notify_new_order").addClass("hidden");
|
// $("#"+shop_code+"_notify_new_order").addClass("hidden");
|
||||||
// $("#"+shop_code+"_notify_order_ready_to_delivery").addClass("hidden");
|
// $("#"+shop_code+"_notify_order_ready_to_delivery").addClass("hidden");
|
||||||
// }).on('hide.bs.modal', function (e) {
|
// }).on('hide.bs.modal', function (e) {
|
||||||
// $("#"+shop_code+"_notify_order_send_to_kitchen").addClass("hidden");
|
// $("#"+shop_code+"_notify_order_send_to_kitchen").addClass("hidden");
|
||||||
// }).modal({show: true, keyboard: false, backdrop: false});
|
// }).modal({show: true, keyboard: false, backdrop: false});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -6,6 +6,9 @@ App.order = App.cable.subscriptions.create('CheckinChannel', {
|
|||||||
disconnected: function() {},
|
disconnected: function() {},
|
||||||
|
|
||||||
received: function(data) {
|
received: function(data) {
|
||||||
|
var hostname = location.hostname.trim();
|
||||||
|
if(data.from == "" || hostname == data.from)
|
||||||
|
{
|
||||||
$.each(data.table,function(key,value){
|
$.each(data.table,function(key,value){
|
||||||
if($('.table_'+value.table_id).hasClass('blue')){
|
if($('.table_'+value.table_id).hasClass('blue')){
|
||||||
$('.table_'+value.table_id).removeClass('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');
|
$('.new_text_'+value.table_id).removeClass('hide');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,12 @@ App.order = App.cable.subscriptions.create('OrderChannel', {
|
|||||||
|
|
||||||
disconnected: function() {},
|
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') {
|
if (data.type == 'order') {
|
||||||
$('.table_'+data.table.id).removeClass('green');
|
$('.table_'+data.table.id).removeClass('green');
|
||||||
$('.table_'+data.table.id).addClass('blue');
|
$('.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).html('');
|
||||||
$('.new_text_'+data.table.id).removeClass('hide')
|
$('.new_text_'+data.table.id).removeClass('hide')
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -6,83 +6,86 @@ App.order_queue_station = App.cable.subscriptions.create('OrderQueueStationChann
|
|||||||
disconnected: function() {},
|
disconnected: function() {},
|
||||||
|
|
||||||
received: function(data) {
|
received: function(data) {
|
||||||
var oqs_id = $('.oqs_active').attr('data-id');
|
var hostname = location.hostname.trim();
|
||||||
items = data.order;
|
if(data.from == "" || hostname == data.from){
|
||||||
for(var field in items) {
|
var oqs_id = $('.oqs_active').attr('data-id');
|
||||||
var price = parseFloat(items[field].price).toFixed(2);
|
items = data.order;
|
||||||
if (items[field]["options"] == "[]" || items[field]["options"] == "") {
|
for(var field in items) {
|
||||||
var options = "";
|
var price = parseFloat(items[field].price).toFixed(2);
|
||||||
}else{
|
if (items[field]["options"] == "[]" || items[field]["options"] == "") {
|
||||||
var options = items[field]["options"];
|
var options = "";
|
||||||
}
|
}else{
|
||||||
//for count
|
var options = items[field]["options"];
|
||||||
test = document.getElementsByClassName("oqs_count");
|
}
|
||||||
|
//for count
|
||||||
|
test = document.getElementsByClassName("oqs_count");
|
||||||
|
|
||||||
for (var i = 0; i < test.length; i++) {
|
for (var i = 0; i < test.length; i++) {
|
||||||
oqs_count_id = $(".oqs_count"+i).attr("data-id");
|
oqs_count_id = $(".oqs_count"+i).attr("data-id");
|
||||||
oqs_count = $(".oqs_count"+i).text();
|
oqs_count = $(".oqs_count"+i).text();
|
||||||
if ( oqs_count_id == items[field]["order_queue_station_id"]) {
|
if ( oqs_count_id == items[field]["order_queue_station_id"]) {
|
||||||
oqs_count_total = +oqs_count +1 ;
|
oqs_count_total = +oqs_count +1 ;
|
||||||
$(".oqs_count"+i).text(oqs_count_total)
|
$(".oqs_count"+i).text(oqs_count_total)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//end count
|
//end count
|
||||||
|
|
||||||
var date = new Date(items[field]["created_at"]);
|
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.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear() + ' ' + date.getHours()+ ':' + date.getMinutes();
|
||||||
var show_date =date.getHours()+ ':' + date.getMinutes() +' '+(date.getHours() >= 12 ? 'PM' : 'AM');
|
var show_date =date.getHours()+ ':' + date.getMinutes() +' '+(date.getHours() >= 12 ? 'PM' : 'AM');
|
||||||
|
|
||||||
if (oqs_id == items[field]["order_queue_station_id"]) {
|
if (oqs_id == items[field]["order_queue_station_id"]) {
|
||||||
var table_type = (items[field]["table_type"] != null) ? items[field]["table_type"]:"";
|
var table_type = (items[field]["table_type"] != null) ? items[field]["table_type"]:"";
|
||||||
var zone = (items[field]["zone"] != null) ? "-"+items[field]["zone"]:"No Table";
|
var zone = (items[field]["zone"] != null) ? "-"+items[field]["zone"]:"No Table";
|
||||||
(name === 'true') ? 'Y' :'N';
|
(name === 'true') ? 'Y' :'N';
|
||||||
row ='<div class="card queue_station animated shake queue_station_box" data-order-no="'+items[field]["order_id"]+'">'
|
row ='<div class="card queue_station animated shake queue_station_box" data-order-no="'+items[field]["order_id"]+'">'
|
||||||
+'<strong class="hidden">'+items[field]["order_id"]+'</strong>'
|
+'<strong class="hidden">'+items[field]["order_id"]+'</strong>'
|
||||||
+'<div class="card-block">'
|
+'<div class="card-block">'
|
||||||
|
|
||||||
|
|
||||||
+'<div class="row">'
|
+'<div class="row">'
|
||||||
+'<span class="col-md-4 order-zone-type font-13">'+table_type+''+ zone+'</span>'
|
+'<span class="col-md-4 order-zone-type font-13">'+table_type+''+ zone+'</span>'
|
||||||
+'<span class="order-zone hidden font-14">'+ zone +'</span>'
|
+'<span class="order-zone hidden font-14">'+ zone +'</span>'
|
||||||
+'<span class="col-md-8"><small class="float-right font-13">'+items[field]["order_id"]+'</small></span>'
|
+'<span class="col-md-8"><small class="float-right font-13">'+items[field]["order_id"]+'</small></span>'
|
||||||
+'</div>'
|
+'</div>'
|
||||||
+'<p class="m-b--10">'
|
+'<p class="m-b--10">'
|
||||||
+'<span class="order-item font-15">'+ items[field]["item_name"] +'- </span>'
|
+'<span class="order-item font-15">'+ items[field]["item_name"] +'- </span>'
|
||||||
+'<span class="order-qty"> [x'+ items[field]["qty"] +'] </span>'
|
+'<span class="order-qty"> [x'+ items[field]["qty"] +'] </span>'
|
||||||
+'</p>'
|
+'</p>'
|
||||||
|
|
||||||
+'<br/><p class="card-text item-options">'+ options +'</p>'
|
+'<br/><p class="card-text item-options">'+ options +'</p>'
|
||||||
|
|
||||||
+'<span class="card-text">'
|
+'<span class="card-text">'
|
||||||
+'<span class="text-muted">Order at - '
|
+'<span class="text-muted">Order at - '
|
||||||
+'<span class="order-at">'+ show_date +'</span> <br>'
|
+'<span class="order-at">'+ show_date +'</span> <br>'
|
||||||
|
|
||||||
+'Order By - <span class="order-by">'+ items[field]["item_order_by"] +'</span> '
|
+'Order By - <span class="order-by">'+ items[field]["item_order_by"] +'</span> '
|
||||||
+'</span> '
|
+'</span> '
|
||||||
+'</span>'
|
+'</span>'
|
||||||
|
|
||||||
+'<p class="hidden order-customer">'+ items[field]["customer_name"] +'</p> '
|
+'<p class="hidden order-customer">'+ items[field]["customer_name"] +'</p> '
|
||||||
+'<p class="hidden assigned-order-item">'+ items[field]["assigned_order_item_id"] +'</p> '
|
+'<p class="hidden assigned-order-item">'+ items[field]["assigned_order_item_id"] +'</p> '
|
||||||
+'</div>'
|
+'</div>'
|
||||||
|
|
||||||
+'<div class="card-footer">'
|
+'<div class="card-footer">'
|
||||||
+'<button id="edit_'+ items[field]["assigned_order_item_id"]+'" class="btn btn-warning order-item order-item-edit">EDIT</button>'
|
+'<button id="edit_'+ items[field]["assigned_order_item_id"]+'" class="btn btn-warning order-item order-item-edit">EDIT</button>'
|
||||||
+' <button id="assigned_queue_' + items[field]["assigned_order_item_id"] +'" class="btn btn-primary order-item order-complete">COMPLETE</button>'
|
+' <button id="assigned_queue_' + items[field]["assigned_order_item_id"] +'" class="btn btn-primary order-item order-complete">COMPLETE</button>'
|
||||||
+'</div>'
|
+'</div>'
|
||||||
+'</div>';
|
+'</div>';
|
||||||
$('.oqs_append').append(row);
|
$('.oqs_append').append(row);
|
||||||
}
|
}
|
||||||
}//end looping
|
}//end looping
|
||||||
|
|
||||||
var $divs = $("div.queue_station");
|
var $divs = $("div.queue_station");
|
||||||
var SortListDivs = $divs.sort(function (a, b) {
|
var SortListDivs = $divs.sort(function (a, b) {
|
||||||
|
|
||||||
first = $(a).attr('data-order-no');
|
first = $(a).attr('data-order-no');
|
||||||
next = $(b).attr('data-order-no');
|
next = $(b).attr('data-order-no');
|
||||||
|
|
||||||
return parseInt(next.substring(4, 16)) - parseInt(first.substring(4, 16));
|
return parseInt(next.substring(4, 16)) - parseInt(first.substring(4, 16));
|
||||||
});
|
});
|
||||||
$("#oqs_container").html(SortListDivs);
|
$("#oqs_container").html(SortListDivs);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -4,50 +4,53 @@ App.order_reservation = App.cable.subscriptions.create('OrderReservationChannel'
|
|||||||
disconnected: function() {},
|
disconnected: function() {},
|
||||||
|
|
||||||
received: function(data) {
|
received: function(data) {
|
||||||
var shop_code = data.shop_code;
|
var hostname = location.hostname.trim();
|
||||||
var order = data.data;
|
if(data.from == "" || hostname == data.from){
|
||||||
if(order.length > 0){
|
var shop_code = data.shop_code;
|
||||||
$('.custom-table.'+shop_code+'_order_reserve_cable tbody').html("");
|
var order = data.data;
|
||||||
$("."+shop_code+" > .nav-item.red > a > p.num").text(order.length);
|
if(order.length > 0){
|
||||||
$.each(order, function(key,value){
|
$('.custom-table.'+shop_code+'_order_reserve_cable tbody').html("");
|
||||||
var active_class = "";
|
$("."+shop_code+" > .nav-item.red > a > p.num").text(order.length);
|
||||||
if(key==0){
|
$.each(order, function(key,value){
|
||||||
active_class = "tr-active";
|
var active_class = "";
|
||||||
showNewOrder(order[key],shop_code);
|
if(key==0){
|
||||||
}
|
active_class = "tr-active";
|
||||||
var rowCount = key+1;
|
showNewOrder(order[key],shop_code);
|
||||||
var date = new Date(value.created_at);
|
}
|
||||||
var time = timeFormat(date);
|
var rowCount = key+1;
|
||||||
var created_at = date.getFullYear() +'-'+ (date.getMonth() >= 10? date.getMonth() : '0' + (date.getMonth() + 1)) +'-'+ (date.getDate() >=10?date.getDate() : '0'+date.getDate());
|
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 = "";
|
var delivery_type = "";
|
||||||
if(value.provider == "food2u" || value.provider == "yangondoor2door"){
|
if(value.provider == "food2u" || value.provider == "yangondoor2door"){
|
||||||
delivery_type = "DELIVERY";
|
delivery_type = "DELIVERY";
|
||||||
}else if(value.provider == "pick_up"){
|
}else if(value.provider == "pick_up"){
|
||||||
delivery_type = "PICK-UP";
|
delivery_type = "PICK-UP";
|
||||||
}else{
|
}else{
|
||||||
delivery_type = "DIRECT DELIVERY";
|
delivery_type = "DIRECT DELIVERY";
|
||||||
}
|
}
|
||||||
|
|
||||||
row = '<tr class="custom-tr first-'+rowCount+' '+active_class+'" style="" data-id="'+value.order_reservation_id+'" data-sr-no="'+rowCount+'">'
|
row = '<tr class="custom-tr first-'+rowCount+' '+active_class+'" style="" data-id="'+value.order_reservation_id+'" data-sr-no="'+rowCount+'">'
|
||||||
+'<td width ="5%" class="align-left">'+rowCount
|
+'<td width ="5%" class="align-left">'+rowCount
|
||||||
+'</td>'
|
+'</td>'
|
||||||
+'<td width ="20%" class="align-center">'+created_at
|
+'<td width ="20%" class="align-center">'+created_at
|
||||||
+'</td>'
|
+'</td>'
|
||||||
+'<td width ="20%" class="align-center">'+time
|
+'<td width ="20%" class="align-center">'+time
|
||||||
+'</td>'
|
+'</td>'
|
||||||
+'<td width ="20%" class="align-center">'+value.grand_total
|
+'<td width ="20%" class="align-center">'+value.grand_total
|
||||||
+'</td>'
|
+'</td>'
|
||||||
+'<td width ="30%" class="align-center">'
|
+'<td width ="30%" class="align-center">'
|
||||||
+'<span class="font-10 col-blue">'+ delivery_type +'</span>'
|
+'<span class="font-10 col-blue">'+ delivery_type +'</span>'
|
||||||
+'</td>'
|
+'</td>'
|
||||||
+' </tr>';
|
+' </tr>';
|
||||||
|
|
||||||
$('.custom-table.'+shop_code+'_order_reserve_cable tbody').append(row);
|
$('.custom-table.'+shop_code+'_order_reserve_cable tbody').append(row);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
customTableClick();
|
||||||
}
|
}
|
||||||
|
|
||||||
customTableClick();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -5,33 +5,36 @@ App.checkin = App.cable.subscriptions.create('SecondDisplayChannel', {
|
|||||||
|
|
||||||
disconnected: function() {},
|
disconnected: function() {},
|
||||||
|
|
||||||
received: function(data) {
|
received: function(data) {
|
||||||
var data_obj = data.data;
|
var hostname = location.hostname.trim();
|
||||||
var status = data.status;
|
if(data.from == "" || hostname == data.from){
|
||||||
var count = 0
|
var data_obj = data.data;
|
||||||
var sub_total = 0
|
var status = data.status;
|
||||||
if (data.status == "order") {
|
var count = 0
|
||||||
for(var i in data_obj) {
|
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)
|
sub_total = sub_total + (data_obj[i].price * data_obj[i].qty)
|
||||||
count += 1
|
count += 1
|
||||||
row ='<tr>'
|
row ='<tr>'
|
||||||
+'<td>'+count+'</td>'
|
+'<td>'+count+'</td>'
|
||||||
+'<td class="item-name">'+data_obj[i].item_name+'</td>'
|
+'<td class="item-name">'+data_obj[i].item_name+'</td>'
|
||||||
+'<td class="item-attr">'+data_obj[i].qty +'</td>'
|
+'<td class="item-attr">'+data_obj[i].qty +'</td>'
|
||||||
+ '<td class="item-attr">'+data_obj[i].qty*data_obj[i].price +'</td>'
|
+ '<td class="item-attr">'+data_obj[i].qty*data_obj[i].price +'</td>'
|
||||||
+'</tr>'
|
+'</tr>'
|
||||||
$(".second_display_items").append(row);
|
$(".second_display_items").append(row);
|
||||||
}//end looping
|
}//end looping
|
||||||
}else{
|
}else{
|
||||||
$('#s_sub_total').empty();
|
$('#s_sub_total').empty();
|
||||||
$('#s_sub_total').append(data_obj.total_amount);
|
$('#s_sub_total').append(data_obj.total_amount);
|
||||||
$('#s_total_discount').empty();
|
$('#s_total_discount').empty();
|
||||||
$('#s_total_discount').append(data_obj.total_discount);
|
$('#s_total_discount').append(data_obj.total_discount);
|
||||||
$('#s_tatal_tax').empty();
|
$('#s_tatal_tax').empty();
|
||||||
$('#s_tatal_tax').append(data_obj.total_tax);
|
$('#s_tatal_tax').append(data_obj.total_tax);
|
||||||
$('#s_grand_total').empty();
|
$('#s_grand_total').empty();
|
||||||
$('#s_grand_total').append(data_obj.grand_total);
|
$('#s_grand_total').append(data_obj.grand_total);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -6,161 +6,163 @@ App.checkin = App.cable.subscriptions.create('SecondDisplayViewChannel', {
|
|||||||
disconnected: function() {},
|
disconnected: function() {},
|
||||||
|
|
||||||
received: function(data) {
|
received: function(data) {
|
||||||
var items = data.data;
|
var hostname = location.hostname.trim();
|
||||||
var tax = data.tax_profiles;
|
if(data.from == "" || hostname == data.from){
|
||||||
var status= data.status
|
var items = data.data;
|
||||||
if (status == "reload") {
|
var tax = data.tax_profiles;
|
||||||
jQuery('#s_reload').click();
|
var status= data.status
|
||||||
}
|
if (status == "reload") {
|
||||||
$('#second_display_slider').addClass("hidden")
|
jQuery('#s_reload').click();
|
||||||
$('#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 ="<tr class='item_box' data-price ='"
|
|
||||||
+price+ "' 'data-instance ='"
|
|
||||||
+instance+ "' data-code='"+items[i].item_code+"' data-instance-code='"
|
|
||||||
+items[i].instance_code+"' data-attributes='"
|
|
||||||
+items[i].attributes+"' data-options ='"
|
|
||||||
+data_option+"' data-opt ='"
|
|
||||||
+items[i].options+"' data-row ='"+rowCount+ "'>"
|
|
||||||
+'<td class="item-cell-no">'+rowCount+'</td>'
|
|
||||||
+'<td class="item-cell-name" id="item_name" >' + items[i].name+ ' ' + instance + ' ' + option_name +'</td>'
|
|
||||||
+'<td class="item-cell-qty" id="item_qty">' + qty + '</td>'
|
|
||||||
+'<td class="item-cell-price" id="item_price">'
|
|
||||||
+ parseFloat(price).toFixed(2)
|
|
||||||
+'</td>'
|
|
||||||
+'</tr>';
|
|
||||||
$(".second_display_items tbody").append(row);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
$('#second_display_slider').addClass("hidden")
|
||||||
if (status == "set_add") {
|
$('#second_display_items').removeClass("hidden")
|
||||||
// var option_arr = [];
|
|
||||||
var attribute_arr = [];
|
|
||||||
var rowCount = $('.second_display_items tbody tr').length+1;
|
// append items
|
||||||
for(var i in items) {
|
if (status == "add") {
|
||||||
code = items[i].code;
|
for(var i in items) {
|
||||||
item_code = items[i].item_code;
|
qty = parseInt(items[i].qty);
|
||||||
name = items[i].name;
|
append = 0;
|
||||||
item_name = items[i].item_name;
|
|
||||||
qty = items[i].qty;
|
|
||||||
price = items[i].price;
|
price = items[i].price;
|
||||||
option = items[i].option;
|
|
||||||
sub_item = items[i].sub_item;
|
instance_name = items[i].instance;
|
||||||
total = qty * price ;
|
if (instance_name == "undefined"){
|
||||||
// option_arr.push(option);
|
instance = '';
|
||||||
row ="<tr class='item_box' data-price ='"
|
}else{
|
||||||
+price+ "' data-toggle='modal' data-target='#sx_itemModal' 'data-instance ='"
|
instance = "("+items[i].instance+")";
|
||||||
+name+ "' data-code='"+item_code+"' data-instance-code='"
|
}
|
||||||
+code+"' data-attributes='"
|
|
||||||
+attribute_arr+"' data-options ='"
|
// d_option = items[i].options;
|
||||||
+option+"' data-row ='"+rowCount+ "' data-sub-item ='"+sub_item+ "'>"
|
// 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 ="<tr class='item_box' data-price ='"
|
||||||
|
+price+ "' 'data-instance ='"
|
||||||
|
+instance+ "' data-code='"+items[i].item_code+"' data-instance-code='"
|
||||||
|
+items[i].instance_code+"' data-attributes='"
|
||||||
|
+items[i].attributes+"' data-options ='"
|
||||||
|
+data_option+"' data-opt ='"
|
||||||
|
+items[i].options+"' data-row ='"+rowCount+ "'>"
|
||||||
+'<td class="item-cell-no">'+rowCount+'</td>'
|
+'<td class="item-cell-no">'+rowCount+'</td>'
|
||||||
+'<td class="item-cell-name" id="item_name" >' + item_name+ ' ' + name + ''+option+'</td>'
|
+'<td class="item-cell-name" id="item_name" >' + items[i].name+ ' ' + instance + ' ' + option_name +'</td>'
|
||||||
+'<td class="item-cell-qty" id="item_qty">' + qty + '</td>'
|
+'<td class="item-cell-qty" id="item_qty">' + qty + '</td>'
|
||||||
+'<td class="item-cell-price" id="item_price">'
|
+'<td class="item-cell-price" id="item_price">'
|
||||||
+ parseFloat(total).toFixed(2)
|
+ parseFloat(price).toFixed(2)
|
||||||
+'</td>'
|
+'</td>'
|
||||||
+'</tr>';
|
+'</tr>';
|
||||||
$(".second_display_items tbody").append(row);
|
$(".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
|
if (status == "set_add") {
|
||||||
var fixed_total_price = parseFloat(total_price).toFixed(2);
|
// var option_arr = [];
|
||||||
var fixed_taxable_amount = parseFloat(total_tax_amount).toFixed(2);
|
var attribute_arr = [];
|
||||||
var fixed_grand_total = parseFloat(total_price + total_tax_amount).toFixed(2);
|
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 ="<tr class='item_box' data-price ='"
|
||||||
|
+price+ "' data-toggle='modal' data-target='#sx_itemModal' 'data-instance ='"
|
||||||
|
+name+ "' data-code='"+item_code+"' data-instance-code='"
|
||||||
|
+code+"' data-attributes='"
|
||||||
|
+attribute_arr+"' data-options ='"
|
||||||
|
+option+"' data-row ='"+rowCount+ "' data-sub-item ='"+sub_item+ "'>"
|
||||||
|
+'<td class="item-cell-no">'+rowCount+'</td>'
|
||||||
|
+'<td class="item-cell-name" id="item_name" >' + item_name+ ' ' + name + ''+option+'</td>'
|
||||||
|
+'<td class="item-cell-qty" id="item_qty">' + qty + '</td>'
|
||||||
|
+'<td class="item-cell-price" id="item_price">'
|
||||||
|
+ parseFloat(total).toFixed(2)
|
||||||
|
+'</td>'
|
||||||
|
+'</tr>';
|
||||||
|
$(".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').empty();
|
||||||
$('#s_sub_total').append(fixed_total_price);
|
$('#s_sub_total').append(fixed_total_price);
|
||||||
$('#s_tatal_tax').empty();
|
$('#s_tatal_tax').empty();
|
||||||
$('#s_tatal_tax').append(fixed_taxable_amount);
|
$('#s_tatal_tax').append(fixed_taxable_amount);
|
||||||
$('#s_grand_total').empty();
|
$('#s_grand_total').empty();
|
||||||
$('#s_grand_total').append(fixed_grand_total);
|
$('#s_grand_total').append(fixed_grand_total);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -47,9 +47,12 @@ class Api::BillController < Api::ApiController
|
|||||||
Promotion.promo_activate(@sale)
|
Promotion.promo_activate(@sale)
|
||||||
|
|
||||||
#BillBroadcastJob.perform_later(table)
|
#BillBroadcastJob.perform_later(table)
|
||||||
#if ENV["SERVER_MODE"] != 'cloud'
|
if ENV["SERVER_MODE"] == 'cloud'
|
||||||
ActionCable.server.broadcast "bill_channel",table: table
|
from = request.subdomain + "." + request.domain
|
||||||
#end
|
else
|
||||||
|
from = ""
|
||||||
|
end
|
||||||
|
ActionCable.server.broadcast "bill_channel",table: table, from: from
|
||||||
else
|
else
|
||||||
@status = false
|
@status = false
|
||||||
@error_message = "No Current Open Shift"
|
@error_message = "No Current Open Shift"
|
||||||
|
|||||||
@@ -6,9 +6,12 @@ class Api::CallWaitersController < ActionController::API
|
|||||||
@time = params[:time]
|
@time = params[:time]
|
||||||
@table = DiningFacility.find(@table_id)
|
@table = DiningFacility.find(@table_id)
|
||||||
# CallWaiterJob.perform_later(@table,@time)
|
# CallWaiterJob.perform_later(@table,@time)
|
||||||
#if ENV["SERVER_MODE"] != 'cloud'
|
if ENV["SERVER_MODE"] == 'cloud'
|
||||||
ActionCable.server.broadcast "call_waiter_channel",table: @table,time:@time
|
from = request.subdomain + "." + request.domain
|
||||||
#end
|
else
|
||||||
|
from = ""
|
||||||
|
end
|
||||||
|
ActionCable.server.broadcast "call_waiter_channel",table: @table,time:@time,from: from
|
||||||
# get printer info
|
# get printer info
|
||||||
@shop = Shop.first
|
@shop = Shop.first
|
||||||
unique_code = "CallWaiterPdf"
|
unique_code = "CallWaiterPdf"
|
||||||
|
|||||||
@@ -6,7 +6,16 @@ class Api::CheckInProcessController < Api::ApiController
|
|||||||
booking = dining_facility.get_current_checkout_booking
|
booking = dining_facility.get_current_checkout_booking
|
||||||
if !booking.nil?
|
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_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")
|
check_out_time = booking.checkout_at.utc.getlocal.strftime("%Y-%m-%d %H:%M")
|
||||||
|
|||||||
@@ -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!" }
|
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)
|
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
|
else
|
||||||
result = { :status => true, :order_reservation_id => order_reservation_id, :message => "Order reservation is already existed!" }
|
result = { :status => true, :order_reservation_id => order_reservation_id, :message => "Order reservation is already existed!" }
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -181,6 +181,12 @@ puts params[:id]
|
|||||||
|
|
||||||
@status, @booking = @order.generate
|
@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)
|
# Order.send_customer_view(@booking)
|
||||||
|
|
||||||
if current_user.role != "waiter" && params[:create_type] == "create_pay"
|
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)
|
@status, @sale = Sale.request_bill(@order,current_user,current_login_employee)
|
||||||
# for second display
|
# for second display
|
||||||
#if ENV["SERVER_MODE"] != 'cloud'
|
if ENV["SERVER_MODE"] == 'cloud'
|
||||||
ActionCable.server.broadcast "second_display_channel",data: @sale,status:"sale"
|
from = request.subdomain + "." + request.domain
|
||||||
|
else
|
||||||
|
from = ""
|
||||||
|
end
|
||||||
|
ActionCable.server.broadcast "second_display_channel",data: @sale,status:"sale",from:from
|
||||||
#end
|
#end
|
||||||
result = {:status=> @status, :data => @sale }
|
result = {:status=> @status, :data => @sale }
|
||||||
render :json => result.to_json
|
render :json => result.to_json
|
||||||
@@ -240,6 +250,81 @@ puts params[:id]
|
|||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
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
|
private
|
||||||
|
|
||||||
|
|||||||
@@ -13,8 +13,12 @@ class Origami::SecondDisplayController < BaseOrigamiController
|
|||||||
else
|
else
|
||||||
tax_profiles = nil
|
tax_profiles = nil
|
||||||
end
|
end
|
||||||
#if ENV["SERVER_MODE"] != 'cloud'
|
if ENV["SERVER_MODE"] == 'cloud'
|
||||||
ActionCable.server.broadcast "second_display_view_channel",data: params[:data],tax_profiles: tax_profiles,status:params[:status]
|
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
|
||||||
end
|
end
|
||||||
#Shop Name in Navbor
|
#Shop Name in Navbor
|
||||||
|
|||||||
@@ -337,9 +337,13 @@ class Origami::SplitBillController < BaseOrigamiController
|
|||||||
end
|
end
|
||||||
|
|
||||||
Promotion.promo_activate(sale)
|
Promotion.promo_activate(sale)
|
||||||
#if ENV["SERVER_MODE"] != 'cloud'
|
if ENV["SERVER_MODE"] == 'cloud'
|
||||||
ActionCable.server.broadcast "bill_channel",table: table
|
from = request.subdomain + "." + request.domain
|
||||||
#end
|
else
|
||||||
|
from = ""
|
||||||
|
end
|
||||||
|
ActionCable.server.broadcast "bill_channel",table: table,from:from
|
||||||
|
|
||||||
render :json => { status: status }
|
render :json => { status: status }
|
||||||
else
|
else
|
||||||
render :json => { status: false, error_message: 'No Current Open Shift!'}
|
render :json => { status: false, error_message: 'No Current Open Shift!'}
|
||||||
|
|||||||
@@ -157,15 +157,25 @@ class DiningFacility < ApplicationRecord
|
|||||||
#Send to background job for processing
|
#Send to background job for processing
|
||||||
# CheckInBookingJob.perform_later(table)
|
# CheckInBookingJob.perform_later(table)
|
||||||
#if ENV["SERVER_MODE"] != 'cloud'
|
#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
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.checkin_time
|
def self.checkin_time
|
||||||
table = DiningFacility.get_checkin_booking
|
table = DiningFacility.get_checkin_booking
|
||||||
if table.length > 0
|
if table.length > 0
|
||||||
|
if ENV["SERVER_MODE"] == 'cloud'
|
||||||
|
from = request.subdomain + "." + request.domain
|
||||||
|
else
|
||||||
|
from = ""
|
||||||
|
end
|
||||||
if ENV["SERVER_MODE"] != 'cloud'
|
if ENV["SERVER_MODE"] != 'cloud'
|
||||||
ActionCable.server.broadcast "checkin_channel",table: table
|
ActionCable.server.broadcast "checkin_channel",table: table,from:from
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
class DisplayImage < ApplicationRecord
|
class DisplayImage < ApplicationRecord
|
||||||
belongs_to :shop
|
belongs_to :shop
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -71,9 +71,9 @@ class Order < ApplicationRecord
|
|||||||
BookingOrder.create({:booking_id => booking.booking_id, :order => self})
|
BookingOrder.create({:booking_id => booking.booking_id, :order => self})
|
||||||
|
|
||||||
#Send order to queue one it done!
|
#Send order to queue one it done!
|
||||||
if self.source != "quick_service"
|
# if self.source != "quick_service"
|
||||||
process_order_queue
|
# process_order_queue
|
||||||
end
|
# end
|
||||||
|
|
||||||
#send order to broadcast job
|
#send order to broadcast job
|
||||||
send_order_broadcast(booking)
|
send_order_broadcast(booking)
|
||||||
@@ -108,9 +108,9 @@ class Order < ApplicationRecord
|
|||||||
BookingOrder.create({:booking_id => booking.booking_id, :order => self})
|
BookingOrder.create({:booking_id => booking.booking_id, :order => self})
|
||||||
|
|
||||||
#Send order to queue one it done!
|
#Send order to queue one it done!
|
||||||
if self.source != "quick_service"
|
# if self.source != "quick_service"
|
||||||
process_order_queue
|
# process_order_queue
|
||||||
end
|
# end
|
||||||
|
|
||||||
#send order to broadcast job
|
#send order to broadcast job
|
||||||
send_order_broadcast(booking)
|
send_order_broadcast(booking)
|
||||||
@@ -283,69 +283,7 @@ class Order < ApplicationRecord
|
|||||||
# Counter number of quantityf
|
# Counter number of quantityf
|
||||||
end
|
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
|
#Process order items and send to order queue
|
||||||
def self.pay_process_order_queue(id,table_id)
|
def self.pay_process_order_queue(id,table_id)
|
||||||
# if ENV["SERVER_MODE"] != 'cloud'
|
# if ENV["SERVER_MODE"] != 'cloud'
|
||||||
@@ -378,9 +316,13 @@ class Order < ApplicationRecord
|
|||||||
type = 'order'
|
type = 'order'
|
||||||
#Send to background job for processing
|
#Send to background job for processing
|
||||||
# OrderBroadcastJob.perform_later(table,type)
|
# OrderBroadcastJob.perform_later(table,type)
|
||||||
#if ENV["SERVER_MODE"] != 'cloud'
|
if ENV["SERVER_MODE"] == 'cloud'
|
||||||
ActionCable.server.broadcast "order_channel",table: table,type:type
|
from = request.subdomain + "." + request.domain
|
||||||
#end
|
else
|
||||||
|
from = ""
|
||||||
|
end
|
||||||
|
ActionCable.server.broadcast "order_channel",table: table,type:type,from:from
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -534,11 +476,78 @@ class Order < ApplicationRecord
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
#if ENV["SERVER_MODE"] != 'cloud'
|
if ENV["SERVER_MODE"] == 'cloud'
|
||||||
ActionCable.server.broadcast "second_display_channel",data: @data_array,status:@status
|
from = request.subdomain + "." + request.domain
|
||||||
#end
|
else
|
||||||
|
from = ""
|
||||||
|
end
|
||||||
|
ActionCable.server.broadcast "second_display_channel",data: @data_array,status:@status,from:from
|
||||||
end
|
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
|
private
|
||||||
|
|
||||||
def generate_custom_id
|
def generate_custom_id
|
||||||
|
|||||||
@@ -116,7 +116,19 @@ class OrderQueueStation < ApplicationRecord
|
|||||||
order = Order.find(order_id)
|
order = Order.find(order_id)
|
||||||
order_items = order.order_items
|
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
|
if table_id.to_i > 0
|
||||||
# get dining
|
# get dining
|
||||||
dining = DiningFacility.find(table_id)
|
dining = DiningFacility.find(table_id)
|
||||||
|
|||||||
@@ -317,9 +317,15 @@ class OrderReservation < ApplicationRecord
|
|||||||
end
|
end
|
||||||
order_reservation = OrderReservation.where("status='new'")
|
order_reservation = OrderReservation.where("status='new'")
|
||||||
if order_reservation.length > 0
|
if order_reservation.length > 0
|
||||||
if ENV["SERVER_MODE"] == 'cloud'
|
if ENV["SERVER_MODE"] == 'cloud'
|
||||||
ActionCable.server.broadcast "check_new_order_channel",data: order_reservation, shop_code: shop_code
|
from = request.subdomain + "." + request.domain
|
||||||
end
|
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
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -332,9 +338,15 @@ class OrderReservation < ApplicationRecord
|
|||||||
end
|
end
|
||||||
order_reservation = OrderReservation.where("status='accepted' and requested_time <= '#{Time.now.utc}'")
|
order_reservation = OrderReservation.where("status='accepted' and requested_time <= '#{Time.now.utc}'")
|
||||||
if order_reservation.length > 0
|
if order_reservation.length > 0
|
||||||
if ENV["SERVER_MODE"] == 'cloud'
|
if ENV["SERVER_MODE"] == 'cloud'
|
||||||
ActionCable.server.broadcast "check_order_send_to_kitchen_channel",data: order_reservation, shop_code: shop_code
|
from = request.subdomain + "." + request.domain
|
||||||
end
|
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
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -347,9 +359,15 @@ class OrderReservation < ApplicationRecord
|
|||||||
end
|
end
|
||||||
order_reservation = OrderReservation.where("status='send_to_kitchen' and requested_time <= '#{Time.now.utc}'")
|
order_reservation = OrderReservation.where("status='send_to_kitchen' and requested_time <= '#{Time.now.utc}'")
|
||||||
if order_reservation.length > 0
|
if order_reservation.length > 0
|
||||||
if ENV["SERVER_MODE"] == 'cloud'
|
if ENV["SERVER_MODE"] == 'cloud'
|
||||||
ActionCable.server.broadcast "check_order_ready_to_delivery_channel",data: order_reservation, shop_code: shop_code
|
from = request.subdomain + "." + request.domain
|
||||||
end
|
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
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -609,7 +609,12 @@ class SalePayment < ApplicationRecord
|
|||||||
#Send to background job for processing
|
#Send to background job for processing
|
||||||
# OrderBroadcastJob.perform_later(table,type)
|
# OrderBroadcastJob.perform_later(table,type)
|
||||||
#if ENV["SERVER_MODE"] != 'cloud'
|
#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
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -2,13 +2,11 @@ class CreateDisplayImages < ActiveRecord::Migration[5.1]
|
|||||||
def change
|
def change
|
||||||
create_table :display_images do |t|
|
create_table :display_images do |t|
|
||||||
t.integer :shop_id
|
t.integer :shop_id
|
||||||
|
t.string :name
|
||||||
t.binary :image
|
t.binary :image
|
||||||
t.string :created_by
|
t.string :created_by
|
||||||
|
|
||||||
t.timestamps
|
t.timestamps
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def down
|
|
||||||
drop_table :display_images
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
5
spec/models/display_image_spec.rb
Normal file
5
spec/models/display_image_spec.rb
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe DisplayImage, type: :model do
|
||||||
|
pending "add some examples to (or delete) #{__FILE__}"
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user