diff --git a/Gemfile b/Gemfile
index 92b133de..6d6a2397 100644
--- a/Gemfile
+++ b/Gemfile
@@ -18,7 +18,7 @@ gem 'pg'
gem 'mysql2', '~> 0.5.2'
#Use PosgreSQL
-
+gem "select2-rails"
# redis server for cable
gem 'redis', '~> 3.0'
diff --git a/Gemfile.lock b/Gemfile.lock
index 578d79d3..eff1b2cb 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -264,6 +264,7 @@ GEM
tilt (>= 1.1, < 3)
schema_to_scaffold (0.8.0)
activesupport (>= 3.2.1)
+ select2-rails (4.0.13)
shoulda-matchers (3.1.3)
activesupport (>= 4.0.0)
sidekiq (5.2.7)
@@ -367,6 +368,7 @@ DEPENDENCIES
rubyzip (= 1.0.0)
sass-rails (~> 5.0)
schema_to_scaffold
+ select2-rails
shoulda-matchers (~> 3.1)
sidekiq
simple_form
diff --git a/README.md b/README.md
index 63ba995a..6c749590 100755
--- a/README.md
+++ b/README.md
@@ -77,6 +77,9 @@ For Using Star Printer
**_ Need to change these print settings 1) settings/print_settings/unique_code => OrderItemStarPdf 2) settings/print_settings/unique_code => ReceiptBillStarPdf 3) settings/print_settings/unique_code => SaleItemsStarPdf
_** Other print settings aren't need to change.
+For Cloud ActionCable Print
+settings/lookups => { type: print_settings, name: ActionCable, value: 1 }
+
For Show Sale Items Summary at CloseCashierPrint 1) settings/print_settings
a) Check => Shift Sale Items
diff --git a/app/assets/javascripts/OQS.js b/app/assets/javascripts/OQS.js
index 68cf44d7..76413675 100755
--- a/app/assets/javascripts/OQS.js
+++ b/app/assets/javascripts/OQS.js
@@ -402,17 +402,17 @@ $(document).on('turbolinks:load', function() {
url: '/oqs/print/print/'+assigned_item_id,
data: params,
success: function(result){
- // For Server Print - from jade
- if ($("#server_mode").val() == "cloud") {
- if(typeof code2lab != 'undefined'){
- code2lab.printFile(result.filepath.substr(6), result.printer_url);
- }
- }
- location.reload();
-
+ if (!$('#print_settings').data('action-cable')) {
+ // For Server Print - from jade
+ if ($("#server_mode").val() == "cloud") {
+ if(typeof code2lab != 'undefined'){
+ code2lab.printFile(result.filepath.substr(6), result.printer_url);
+ }
+ }
+ }
+ location.reload();
}
});
-
});
// Print Order Summary
@@ -428,13 +428,15 @@ $(document).on('turbolinks:load', function() {
url: '/oqs/print/print_order_summary/'+assigned_item_id,
data: params,
success: function(result){
- // For Server Print - from jade
- if ($("#server_mode").val() == "cloud") {
- if(typeof code2lab != 'undefined'){
- code2lab.printFile(result.filepath.substr(6), result.printer_url);
- }
- }
- location.reload();
+ if (!$('#print_settings').data('action-cable')) {
+ // For Server Print - from jade
+ if ($("#server_mode").val() == "cloud") {
+ if(typeof code2lab != 'undefined'){
+ code2lab.printFile(result.filepath.substr(6), result.printer_url);
+ }
+ }
+ }
+ location.reload();
}
});
});
diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js
index bd9018fb..7317b338 100755
--- a/app/assets/javascripts/application.js
+++ b/app/assets/javascripts/application.js
@@ -36,6 +36,7 @@
//= require custom.js
//= require jquery-fileupload/basic
//= require induties/induties.js
+//= require select2
$(document).ready(function() {
$('.count-to').countTo();
@@ -65,7 +66,7 @@ $(document).ready(function() {
clearButton: true,
date: false
});
-
+
// Image Upload
$("#simple_menu_item_image_path").fileinput({
previewFileType: "image",
@@ -148,7 +149,7 @@ $(document).ready(function() {
'\n',
}
});
-
+
$("#commissioner_image_path").fileinput({
previewFileType: "image",
allowedFileExtensions: ["jpg", "gif", "png"],
@@ -167,7 +168,7 @@ $(document).ready(function() {
'
\n' +
'\n',
}
- });
+ });
$("#employee_image_path").fileinput({
previewFileType: "image",
@@ -187,7 +188,7 @@ $(document).ready(function() {
'
\n' +
'\n',
}
- });
+ });
$("#shop_image").fileinput({
previewFileType: "image",
@@ -227,7 +228,7 @@ $(document).ready(function() {
'
\n' +
'\n',
}
- });
+ });
// first input focus for all form
$('form:first *input[data-behaviour!=datepicker]:input[type!=hidden]:first').focus();
@@ -252,4 +253,4 @@ Chart.scaleService.updateScaleDefaults('linear', {
}
}
});
-/* chartkick js YAxis value override */
\ No newline at end of file
+/* chartkick js YAxis value override */
diff --git a/app/assets/javascripts/order_reservation.js b/app/assets/javascripts/order_reservation.js
index f74f1fa9..6c141ddc 100644
--- a/app/assets/javascripts/order_reservation.js
+++ b/app/assets/javascripts/order_reservation.js
@@ -1,6 +1,6 @@
//= require custom.js
-$(function() {
+$(function() {
$("#discount").hide();
$(".expected_time").hide();
$('#accepted').hide();
@@ -11,7 +11,7 @@ $(function() {
$(".accepted_time").hide();
$(".kitchen_time").hide();
$(".ready_time").hide();
- $(function() {
+ $(function() {
$('.first-1').click();
});
@@ -213,8 +213,8 @@ $(function() {
function warnBeforeRedirect(linkURL) {
swal({
- title: "Alert!",
- text: "Are you sure you want to close cashier?",
+ title: "Alert!",
+ text: "Are you sure you want to close cashier?",
type: "warning",
showCancelButton: true
}, function() {
@@ -278,13 +278,13 @@ function refreshDetailData(){
$("#payment_type").text("");
}
-//show order list
-function show_order_detail(url,sr_no){
+//show order list
+function show_order_detail(url,sr_no){
// $('.summary-items').html("");
//Start Ajax
- $.ajax({
- type: "GET",
- url: url,
+ $.ajax({
+ type: "GET",
+ url: url,
data: {},
dataType: "json",
success: function(data) {
@@ -334,12 +334,12 @@ function show_order_detail(url,sr_no){
$("#ready_delivery_time").html(ready_time);
}
}
-
+
var newDate = new Date(data.requested_time);
var time = timeFormat(newDate);
// var requested_date = newDate.getFullYear() + '-' + (newDate.getMonth() >= 10? newDate.getMonth() : '0' + (newDate.getMonth() + 1)) +'-'+ (newDate.getDate() >= 10? newDate.getDate() : '0' + newDate.getDate()) +' '+time;
var requested_date = getOrderMonth(newDate.getMonth()) +' '+ (newDate.getDate() >= 10? newDate.getDate() : '0' + newDate.getDate()) +', '+newDate.getFullYear()+'('+getOrderDay(newDate.getDay())+')'+' '+time;
-
+
if((data.expected_waiting_time!=undefined) && (data.expected_waiting_time!=null)){
// var expDate = new Date(data.expected_waiting_time);
// var exptime = timeFormat(expDate);
@@ -367,7 +367,7 @@ function show_order_detail(url,sr_no){
if(items!=undefined && items!=""){
if(items.length > 0){
- for(var i in items) {
+ for(var i in items) {
var item_price = 0;
if(items[i].price > 0){
item_price = items[i].price;
@@ -378,7 +378,7 @@ function show_order_detail(url,sr_no){
var check_mobile =document.getElementsByName("summary_items_mobile")[0].value;
if (check_mobile == "true"){
if(items[i].options!='[]' && items[i].options!="" && items[i].options!=null){
- row =
+ row =
'
'
+''+items[i].item_name
+' '
@@ -417,8 +417,8 @@ function show_order_detail(url,sr_no){
}
}
-
-
+
+
$('.summary-items').append(row);
}
@@ -452,7 +452,7 @@ function show_order_detail(url,sr_no){
}else if(data.payment_type == "dinga"){
$("#payment_type").text("DINGA");
}
-
+
$('#ref_no').text(data.transaction_ref);
$('#callback_url').text(data.callback_url);
$('#order_id').text(data.order_reservation_id);
@@ -494,16 +494,16 @@ function show_order_detail(url,sr_no){
}else{
$("#invoice_no").text(data["order_reservation_id"]);
}
-
+
}
}
}
});
- //end Ajax
+ //end Ajax
}
-function callback_url(callback,ref_no,order_id,status,min_type,time,exptime,reason,approved_code){
+function callback_url(callback,ref_no,order_id,status,min_type,time,exptime,reason,approved_code){
var url = 'order_reservation/update';
var post_url = "order_reservation/send_status";
var waiting_time = "";
@@ -527,16 +527,16 @@ function callback_url(callback,ref_no,order_id,status,min_type,time,exptime,reas
access_code = approved_code;
}
- // $.ajax({
- // type: "POST",
- // url: post_url,
+ // $.ajax({
+ // type: "POST",
+ // url: post_url,
// data: {url: callback, ref_no: ref_no, status: status, waiting_time: waiting_time, min_type: type, reason: reject_reason},
// dataType: "json",
// success: function(data) {
// if(data.status){
- $.ajax({
- type: "POST",
- url: url,
+ $.ajax({
+ type: "POST",
+ url: url,
data: {order_id: order_id, ref_no: ref_no, status: status, min_type: min_type, expected_time: waiting_time, remark: reason, access_code: access_code},
dataType: "json",
success: function(data) {
@@ -711,7 +711,7 @@ function getOrderDay(day){
function timeFormat(date){
var isPM = date.getHours() >= 12;
var isMidday = date.getHours() == 12;
- var time = [(date.getHours()>10? date.getHours() : '0'+date.getHours()) - (isPM && !isMidday ? 12 : 0),
+ var time = [(date.getHours()>10? date.getHours() : '0'+date.getHours()) - (isPM && !isMidday ? 12 : 0),
(date.getMinutes()>10? date.getMinutes() : '0'+date.getMinutes()) || '00'].join(':') +
(isPM ? ' PM' : ' AM');
return time;
@@ -722,8 +722,8 @@ function timeFormat(date){
function getOnlineOrderCount(){
var count = 0;
//Start Ajax
- $.ajax({
- async: false,
+ $.ajax({
+ async: false,
type: "GET",
url: "/origami/get_order_info",
dataType: "json",
@@ -733,7 +733,7 @@ function getOnlineOrderCount(){
}
}
});
- //end Ajax
+ //end Ajax
// alert(count);
return count;
}
@@ -748,31 +748,33 @@ function print_receipt(){
var params = { 'filename':filename, 'receipt_no':receipt_no, 'printer_name':printer_name };
console.log(params);
$.ajax({
- type: "POST",
+ type: "POST",
url: "/origami/sale/"+sale_id+"/doemal_order/payment/print",
data: params,
success:function(result){
- // For Server Print - from jade
- if ($("#server_mode").val() == "cloud") {
- if(typeof code2lab != 'undefined'){
- code2lab.printFile(result.filepath.substr(6), result.printer_url);
+ if (!$('#print_settings').data('action-cable')) {
+ // For Server Print - from jade
+ if ($("#server_mode").val() == "cloud") {
+ if(typeof code2lab != 'undefined'){
+ code2lab.printFile(result.filepath.substr(6), result.printer_url);
+ }
+ window.location.href = '/origami/order_reservation';
+ }
+ else{
+ swal({
+ title: "Print Success",
+ text: "Complete Order",
+ type: 'success',
+ html: true,
+ closeOnConfirm: false,
+ closeOnCancel: false,
+ allowOutsideClick: false
+ }, function () {
+ window.location.href = '/origami/order_reservation';
+ });
}
- window.location.href = '/origami/order_reservation';
- }
- else{
- swal({
- title: "Print Success",
- text: "Complete Order",
- type: 'success',
- html: true,
- closeOnConfirm: false,
- closeOnCancel: false,
- allowOutsideClick: false
- }, function () {
- window.location.href = '/origami/order_reservation';
- });
}
}
});
}
-/* pdf print out */
\ No newline at end of file
+/* pdf print out */
diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss
index ee797cf8..3c3de041 100755
--- a/app/assets/stylesheets/application.scss
+++ b/app/assets/stylesheets/application.scss
@@ -12,6 +12,8 @@
@import "BSBMaterial/themes/all-themes";
@import "reset";
@import "induties/assign_in_duties";
+@import "select2";
+@import "select2-material";
/*@import "bootstrap-select/css/bootstrap-select.min";*/
diff --git a/app/assets/stylesheets/select2-material.css b/app/assets/stylesheets/select2-material.css
new file mode 100644
index 00000000..a52e1654
--- /dev/null
+++ b/app/assets/stylesheets/select2-material.css
@@ -0,0 +1,231 @@
+.select2-container--material {
+ width: 100% !important; }
+ .select2-container--material .select2-selection--single {
+ background-color: transparent;
+ border: none;
+ border-bottom: 1px solid rgba(0,0,0,0.26);
+ border-radius: 0;
+ box-shadow: none;
+ box-sizing: content-box;
+ height: auto;
+ margin: 0;
+ outline: none;
+ padding: 0.46875rem 0 0.40625rem 0;
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
+ .select2-container--material .select2-selection--single .select2-selection__rendered {
+ color: #444;
+ font-size: 1rem;
+ line-height: 18px;
+ padding-left: 0; }
+ .select2-container--material .select2-selection--single .select2-selection__clear {
+ cursor: pointer;
+ float: right;
+ font-weight: bold; }
+ .select2-container--material .select2-selection--single .select2-selection__placeholder {
+ color: #999; }
+ .select2-container--material .select2-selection--single .select2-selection__arrow {
+ height: 20px;
+ margin: 0.5rem 0 0.2rem 0;
+ position: absolute;
+ line-height: 1rem;
+ top: 1px;
+ right: 1px;
+ width: 20px; }
+ .select2-container--material .select2-selection--single .select2-selection__arrow b {
+ border-color: #888 transparent transparent transparent;
+ border-style: solid;
+ border-width: 5px 4px 0 4px;
+ height: 0;
+ left: 50%;
+ margin-left: -4px;
+ margin-top: -2px;
+ position: absolute;
+ top: 50%;
+ width: 0; }
+ .select2-container--material[dir="rtl"] .select2-selection--single .select2-selection__clear {
+ float: left; }
+ .select2-container--material[dir="rtl"] .select2-selection--single .select2-selection__arrow {
+ left: 1px;
+ right: auto; }
+ .select2-container--material.select2-container--disabled .select2-selection--single {
+ background-color: #eee;
+ cursor: default; }
+ .select2-container--material.select2-container--disabled .select2-selection--single .select2-selection__clear {
+ display: none; }
+ .select2-container--material.select2-container--open .select2-selection--single .select2-selection__arrow b {
+ border-color: transparent transparent #888 transparent;
+ border-width: 0 4px 5px 4px; }
+ .select2-container--material .select2-selection--multiple {
+ background-color: transparent;
+ border: none;
+ border-bottom: 1px solid #ced4da;
+ border-radius: 0;
+ box-shadow: none;
+ box-sizing: content-box;
+ cursor: text;
+ height: auto;
+ margin: 0;
+ outline: none;
+ padding: 5px 0 0 0;
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
+ .select2-container--material .select2-selection--multiple .select2-selection__rendered {
+ box-sizing: border-box;
+ list-style: none;
+ margin: 0;
+ padding: 0 5px;
+ width: 100%; }
+ .select2-container--material .select2-selection--multiple .select2-selection__rendered li {
+ list-style: none; }
+ .select2-container--material .select2-selection--multiple .select2-selection__placeholder {
+ color: #999;
+ margin-top: 5px;
+ float: left; }
+ .select2-container--material .select2-selection--multiple .select2-selection__clear {
+ cursor: pointer;
+ float: right;
+ font-weight: bold;
+ margin-top: 5px;
+ margin-right: 10px; }
+ .select2-container--material .select2-selection--multiple .select2-selection__choice {
+ background-color: #ffca28;
+ border-radius: 16px;
+ color: rgba(0, 0, 0, 0.6);
+ cursor: default;
+ float: left;
+ margin-right: 5px;
+ margin-top: 6px;
+ padding: 0 12px; }
+ .select2-container--material .select2-selection--multiple .select2-selection__choice__remove {
+ cursor: pointer;
+ display: inline-block;
+ font-weight: bold;
+ float: right;
+ margin-left: 5px; }
+ .select2-container--material .select2-selection--multiple .select2-selection__choice__remove:hover {
+ color: #333; }
+ .select2-container--material[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--material[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--material[dir="rtl"] .select2-selection--multiple .select2-search--inline {
+ float: right; }
+ .select2-container--material[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
+ margin-left: 5px;
+ margin-right: auto; }
+ .select2-container--material[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
+ margin-left: 2px;
+ margin-right: auto; }
+ .select2-container--material.select2-container--disabled .select2-selection--multiple {
+ background-color: #eee;
+ cursor: default; }
+ .select2-container--material.select2-container--disabled .select2-selection__choice__remove {
+ display: none; }
+ .select2-container--material.select2-container--open.select2-container--above .select2-selection--single, .select2-container--material.select2-container--open.select2-container--above .select2-selection--multiple {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0; }
+ .select2-container--material.select2-container--open.select2-container--below .select2-selection--single, .select2-container--material.select2-container--open.select2-container--below .select2-selection--multiple {
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0; }
+ .select2-container--material.select2-container--focus .select2-selection--single {
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ outline: 0; }
+ .select2-container--material.select2-container--focus .select2-selection--multiple {
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ outline: 0; }
+ .select2-container--material .select2-search--dropdown .select2-search__field {
+ border: none;
+ border-bottom: 1px solid #ced4da;
+ border-radius: 0;
+ outline: none; }
+ .select2-container--material .select2-search--dropdown .select2-search__field:focus:not([readonly]) {
+ box-shadow: 0 1px 0 0 #ced4da;
+ border-bottom: 1px solid #ced4da; }
+ .select2-container--material .select2-search--inline .select2-search__field {
+ background: transparent;
+ border: none !important;
+ outline: 0;
+ box-shadow: none !important;
+ -webkit-appearance: textfield; }
+ .select2-container--material .select2-results > .select2-results__options {
+ overflow-y: auto; }
+ .select2-container--material .select2-results__option[role=group] {
+ padding: 0; }
+ .select2-container--material .select2-results__option[aria-disabled=true] {
+ color: #999; }
+ .select2-container--material .select2-results__option[aria-selected=true] {
+ background-color: #ddd; }
+ .select2-container--material .select2-results__option .select2-results__option {
+ padding-left: 1em; }
+ .select2-container--material .select2-results__option .select2-results__option .select2-results__group {
+ padding-left: 0; }
+ .select2-container--material .select2-results__option .select2-results__option .select2-results__option {
+ margin-left: -1em;
+ padding-left: 2em; }
+ .select2-container--material .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
+ margin-left: -2em;
+ padding-left: 3em; }
+ .select2-container--material .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
+ margin-left: -3em;
+ padding-left: 4em; }
+ .select2-container--material .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
+ margin-left: -4em;
+ padding-left: 5em; }
+ .select2-container--material .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
+ margin-left: -5em;
+ padding-left: 6em; }
+ .select2-container--material .select2-results__option--highlighted[aria-selected] {
+ background-color: #3f729b;
+ color: white; }
+ .select2-container--material .select2-results__group {
+ cursor: default;
+ display: block;
+ padding: 6px; }
+
+.select2-dropdown {
+ background-color: white;
+ border: 1px solid #ced4da;
+ border-radius: 4px;
+ box-sizing: border-box;
+ box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
+ display: block;
+ position: absolute;
+ left: -100000px;
+ width: 100%;
+ z-index: 1051;
+ -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); }
+
+.select2-results {
+ display: block; }
+
+.select2-results__options {
+ list-style: none;
+ margin: 0;
+ padding: 0; }
+
+.select2-results__option {
+ padding: 6px;
+ user-select: none;
+ -webkit-user-select: none; }
+ .select2-results__option[aria-selected] {
+ cursor: pointer; }
+
+.select2-container--open .select2-dropdown {
+ left: 0; }
+
+.select2-container--open .select2-dropdown--above {
+ border-bottom: none;
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0; }
+
+.select2-container--open .select2-dropdown--below {
+ border-top: none;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0; }
+
+.select2-search--dropdown {
+ display: block;
+ padding: 4px; }
+ .select2-search--dropdown .select2-search__field {
+ padding: 4px;
+ width: 100%;
+ box-sizing: border-box; }
+ .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
+ -webkit-appearance: none; }
+ .select2-search--dropdown.select2-search--hide {
+ display: none; }
diff --git a/app/controllers/oqs/print_controller.rb b/app/controllers/oqs/print_controller.rb
index 751e1c01..a5eca433 100755
--- a/app/controllers/oqs/print_controller.rb
+++ b/app/controllers/oqs/print_controller.rb
@@ -51,7 +51,6 @@ class Oqs::PrintController < ApplicationController
ai.save
end
- # filename, receipt_no, cashier_printer = printer.print_receipt_bill(print_settings, false, nil,cashier_terminal,sale_items,sale_data,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info, shop_detail, "Frt",current_balance,nil,other_amount)
if ENV["SERVER_MODE"] == "cloud"
result = {
:filepath => filename,
@@ -119,7 +118,6 @@ class Oqs::PrintController < ApplicationController
ai.save
end
- # filename, receipt_no, cashier_printer = printer.print_receipt_bill(print_settings, false, nil,cashier_terminal,sale_items,sale_data,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info, shop_detail, "Frt",current_balance,nil,other_amount)
if ENV["SERVER_MODE"] == "cloud"
result = {
:filepath => filename,
diff --git a/app/helpers/print_settings_helper.rb b/app/helpers/print_settings_helper.rb
index 3e712d7c..6f14d22e 100755
--- a/app/helpers/print_settings_helper.rb
+++ b/app/helpers/print_settings_helper.rb
@@ -1,2 +1,5 @@
module PrintSettingsHelper
+ def print_settings
+ tag.div id: 'print_settings', class: 'hidden', data: { action_cable: Lookup.collection_of('print_settings').any? { |x| x == ["ActionCable", "1"] } }
+ end
end
diff --git a/app/models/printer/cashier_station_printer.rb b/app/models/printer/cashier_station_printer.rb
index 01bfd3c9..1c255a42 100755
--- a/app/models/printer/cashier_station_printer.rb
+++ b/app/models/printer/cashier_station_printer.rb
@@ -38,90 +38,91 @@ class Printer::CashierStationPrinter < Printer::PrinterWorker
# self.print(filename, cashier_terminal.printer_name)
# end
- def print_close_cashier(printer_settings,cashier_terminal,shift_sale, sale_items, total_other_charges_info,shop_details,sale_taxes,other_payment,amount,discount,member_discount,total_dinein,total_takeway,total_other_charges,total_waste,total_spoile,total_credit_payments,payment_methods,other_charges)
+ def print_close_cashier(printer_settings, cashier_terminal, shift_sale, sale_items, total_other_charges_info, shop_details, sale_taxes, other_payment, amount, discount, member_discount, total_dinein, total_takeway, total_other_charges, total_waste, total_spoile, total_credit_payments, payment_methods, other_charges)
+ if Lookup.collection_of('print_settings').none? { |x| x == ["ActionCable", "1"] }
+ if !sale_items.blank? or !sale_items.nil?
+ @account_cate_count = Hash.new {|hash, key| hash[key] = 0}
+ sale_items.each {|acc_cate| @account_cate_count[acc_cate.account_id] += 1}
- if !sale_items.blank? or !sale_items.nil?
- @account_cate_count = Hash.new {|hash, key| hash[key] = 0}
- sale_items.each {|acc_cate| @account_cate_count[acc_cate.account_id] += 1}
+ @menu_cate_count = Hash.new {|hash, key| hash[key] = 0}
+ sale_items.each {|cate| @menu_cate_count[cate.menu_category_id] += 1}
+ @totalByAccount = Hash.new {|hash, key| hash[key] = 0}
+ sale_items.each {|acc| @totalByAccount[acc.account_id] += acc.grand_total}
+ end
- @menu_cate_count = Hash.new {|hash, key| hash[key] = 0}
- sale_items.each {|cate| @menu_cate_count[cate.menu_category_id] += 1}
+ #Use CUPS service
+ #Generate PDF
+ #Print
+ cashier = shift_sale.employee.name
+ shift_name = shift_sale.shift_started_at.utc.getlocal.strftime("%d-%m-%Y %I:%M %p") + "_" + shift_sale.shift_closed_at.utc.getlocal.strftime("%d-%m-%Y %I:%M %p")
+ filename = "tmp/close_cashier_#{cashier}_#{shift_name}.pdf"
+ pdf = CloseCashierPdf.new(printer_settings, shift_sale, sale_items, total_other_charges_info, @account_cate_count, @menu_cate_count, @totalByAccount, shop_details, sale_taxes, other_payment, amount, discount, member_discount, total_dinein, total_takeway, total_other_charges, total_waste, total_spoile, total_credit_payments, payment_methods)
+ close_cashier_pdf = Lookup.collection_of("print_settings") #print_settings with name:CloseCashierPdf
-
- @totalByAccount = Hash.new {|hash, key| hash[key] = 0}
- sale_items.each {|acc| @totalByAccount[acc.account_id] += acc.grand_total}
- end
-
- #Use CUPS service
- #Generate PDF
- #Print
- cashier = shift_sale.employee.name
- shift_name = shift_sale.shift_started_at.utc.getlocal.strftime("%d-%m-%Y %I:%M %p") + "_" + shift_sale.shift_closed_at.utc.getlocal.strftime("%d-%m-%Y %I:%M %p")
- filename = "tmp/close_cashier_#{cashier}_#{shift_name}.pdf"
- pdf = CloseCashierPdf.new(printer_settings,shift_sale, sale_items, total_other_charges_info, @account_cate_count, @menu_cate_count, @totalByAccount, shop_details,sale_taxes,other_payment,amount,discount,member_discount,total_dinein,total_takeway,total_other_charges,total_waste,total_spoile,total_credit_payments,payment_methods)
- close_cashier_pdf = Lookup.collection_of("print_settings") #print_settings with name:CloseCashierPdf
-
- if !close_cashier_pdf.empty?
- close_cashier_pdf.each do |close_cashier|
- if close_cashier[0] == 'CloseCashierCustomisePdf'
- if close_cashier[1] == '1'
- pdf = CloseCashierCustomisePdf.new(printer_settings,shift_sale,shop_details,sale_taxes,other_payment,amount,discount,member_discount,total_dinein,total_takeway,total_other_charges,total_waste,total_spoile,total_credit_payments)
- else
- pdf = CloseCashierPdf.new(printer_settings,shift_sale, sale_items, total_other_charges_info, @account_cate_count, @menu_cate_count, @totalByAccount, shop_details,sale_taxes,other_payment,amount,discount,member_discount,total_dinein,total_takeway,total_other_charges,total_waste,total_spoile,total_credit_payments,payment_methods)
+ if !close_cashier_pdf.empty?
+ close_cashier_pdf.each do |close_cashier|
+ if close_cashier[0] == 'CloseCashierCustomisePdf'
+ if close_cashier[1] == '1'
+ pdf = CloseCashierCustomisePdf.new(printer_settings, shift_sale, shop_details, sale_taxes, other_payment, amount, discount, member_discount, total_dinein, total_takeway, total_other_charges, total_waste, total_spoile, total_credit_payments)
+ else
+ pdf = CloseCashierPdf.new(printer_settings, shift_sale, sale_items, total_other_charges_info, @account_cate_count, @menu_cate_count, @totalByAccount, shop_details, sale_taxes, other_payment, amount,discount, member_discount, total_dinein, total_takeway, total_other_charges, total_waste, total_spoile, total_credit_payments, payment_methods)
+ end
end
end
end
- end
- pdf.render_file filename
- #no print in cloud server
- if ENV["SERVER_MODE"] != "cloud"
- self.print(filename, cashier_terminal.printer_name)
+ pdf.render_file filename
+ #no print in cloud server
+ if ENV["SERVER_MODE"] != "cloud"
+ self.print(filename, cashier_terminal.printer_name)
+ end
else
ActionCable.server.broadcast("print_channel_#{Shop.current_shop.shop_code}",
- queue: "Cashier",
- unique_code: print_settings.unique_code,
- print_copies: print_settings.print_copies,
- data: {
- shop_details: shop_details.as_json,
- shift_sale: shift_sale,
- cashier_terminal: cashier_terminal,
- shift_employee: shift_sale.employee,
- sale_items: sale_items,
- sale_taxes: sale_taxes,
- other_payment: other_payment,
- total_amount_by_account: amount,
- total_discount_by_account: discount,
- total_member_discount: member_discount,
- total_waste: total_waste,
- total_spoile: total_spoile,
- other_charges: other_charges,
- total_other_charges: total_other_charges,
- total_credit_payments: total_credit_payments
- }
+ queue: cashier_terminal.printer_name,
+ unique_code: print_settings.unique_code,
+ print_copies: print_settings.print_copies,
+ data: {
+ shop_details: shop_details.as_json,
+ shift_sale: shift_sale,
+ cashier_terminal: cashier_terminal,
+ shift_employee: shift_sale.employee,
+ sale_items: sale_items,
+ sale_taxes: sale_taxes,
+ other_payment: other_payment,
+ total_amount_by_account: amount,
+ total_discount_by_account: discount,
+ total_member_discount: member_discount,
+ total_waste: total_waste,
+ total_spoile: total_spoile,
+ other_charges: other_charges,
+ total_other_charges: total_other_charges,
+ total_credit_payments: total_credit_payments
+ }
)
end
end
def print_sale_items_report(print_settings, shop_details, period_name, type, account, from_date, to_date, shift_name, sale_items, total_other_charges)
- filename = "tmp/reports_sale_items.pdf"
+ if Lookup.collection_of('print_settings').none? { |x| x == ["ActionCable", "1"] }
+ filename = "tmp/reports_sale_items.pdf"
- if print_settings.unique_code == "SaleItemsPdf"
- pdf = SaleItemsPdf.new(print_settings, shop_details, period_name, type, account, from_date, to_date, shift_name, sale_items, total_other_charges)
- end
+ if print_settings.unique_code == "SaleItemsPdf"
+ pdf = SaleItemsPdf.new(print_settings, shop_details, period_name, type, account, from_date, to_date, shift_name, sale_items, total_other_charges)
+ end
- if print_settings.unique_code == "SaleItemsStarPdf"
- pdf = SaleItemsStarPdf.new(print_settings, shop_details, period_name, type, account, from_date, to_date, shift_name, sale_items, total_other_charges)
- end
+ if print_settings.unique_code == "SaleItemsStarPdf"
+ pdf = SaleItemsStarPdf.new(print_settings, shop_details, period_name, type, account, from_date, to_date, shift_name, sale_items, total_other_charges)
+ end
- pdf.render_file filename
+ pdf.render_file filename
- #no print in cloud server
- if ENV["SERVER_MODE"] != "cloud"
- self.print(filename, print_settings.printer_name)
+ #no print in cloud server
+ if ENV["SERVER_MODE"] != "cloud"
+ self.print(filename, print_settings.printer_name)
+ end
else
ActionCable.server.broadcast("print_channel_#{Shop.current_shop.shop_code}",
- queue: 'Cashier',
+ queue: print_settings.printer_name,
unique_code: print_settings.unique_code,
print_copies: print_settings.print_copies,
data: {
diff --git a/app/models/printer/order_queue_printer.rb b/app/models/printer/order_queue_printer.rb
index b7315765..5a145efc 100755
--- a/app/models/printer/order_queue_printer.rb
+++ b/app/models/printer/order_queue_printer.rb
@@ -1,94 +1,66 @@
class Printer::OrderQueuePrinter < Printer::PrinterWorker
def print_order_item(print_settings, oqs, order_id, order_item_id, print_status, before_updated_qty="", options="")
- # Must be one print
- if print_settings.print_copies == 0
- print_settings.print_copies = 1
- print_settings.save!
- end
-
- order_item = print_query('order_item', order_item_id) #OrderItem.find_by_item_code(item_code)
- options = order_item[0].options
-
- # check for item not to show
- # if order_item[0].price != 0
- pdf = print_settings.unique_code.constantize.new(print_settings,order_item[0], print_status, options, oqs.use_alternate_name, before_updated_qty)
booking_id = Booking.get_booking_id(order_id)
- # end
+ order_item = print_query('order_item', order_item_id).first #OrderItem.find_by_item_code(item_code)
- shop = Shop.current_shop
- directory_name = 'public/orders_'+shop.shop_code
- Dir.mkdir(directory_name) unless File.exists?(directory_name)
+ if Lookup.collection_of('print_settings').none? { |x| x == ["ActionCable", "1"] }
+ # Must be one print
+ if print_settings.print_copies == 0
+ print_settings.print_copies = 1
+ print_settings.save!
+ end
- filename = directory_name + "/order_item_#{order_id}_#{order_item_id}" + ".pdf"
+ options = order_item.options
+ # check for item not to show
+ pdf = print_settings.unique_code.constantize.new(print_settings, order_item, print_status, options, oqs.use_alternate_name, before_updated_qty)
- pdf.render_file filename
+ shop = Shop.current_shop
+ directory_name = "public/orders_#{shop.shop_code}"
+ Dir.mkdir(directory_name) unless File.exists?(directory_name)
- if ENV["SERVER_MODE"] != "cloud"
- self.print(filename, oqs.printer_name)
+ filename = directory_name + "/order_item_#{order_id}_#{order_item_id}" + ".pdf"
+
+ pdf.render_file filename
+
+ if ENV["SERVER_MODE"] != "cloud"
+ self.print(filename, oqs.printer_name)
+ end
+
+ return filename, order_id, oqs.printer_name
else
ActionCable.server.broadcast("print_channel_#{Shop.current_shop.shop_code}",
queue: oqs.station_name,
unique_code: print_settings.unique_code,
print_copies: print_settings.print_copies,
data: {
- order_item: order_item[0].as_json(methods: :type),
+ order_item: order_item.as_json(methods: :type),
print_status: print_status.gsub(/[()]/, ""),
booking_id: booking_id,
precision: print_settings.precision
}
- )
+ )
end
- #For print copy
- # pdf.render_file filename.gsub(".","-copy.")
- # self.print(filename.gsub(".","-copy."), oqs.printer_name)
-
- return filename, order_id, oqs.printer_name
end
# Query for per order
def print_order_summary(print_settings, oqs, order_id, order_items, print_status, before_updated_qty="", options="")
- #Use CUPS service
- #Generate PDF
- #Print
- # Must be one print
- if print_settings.print_copies == 0
- print_settings.print_copies = 1
- print_settings.save!
- end
+ booking_id = Booking.get_booking_id(order_id) #order[0].order_id
+ order = print_query('order_summary', order_id)
- shop = Shop.current_shop
- directory_name = "public/orders_#{shop.shop_code}"
- Dir.mkdir(directory_name) unless File.exists?(directory_name)
-
- # For Print Per Item
- if oqs.cut_per_item
-
- order_items.each do |odi|
- odi_item = print_query('order_item', odi.order_items_id)
-
- filename = directory_name + "/order_item_#{order_id}.pdf"
- # filename = "tmp/order_item_#{order_id}" + ".pdf"
- # For Item Options
- options = odi.options == "[]" ? "" : odi.options
-
- # check for item not to show
- #if odi.price != 0
- pdf = print_settings.unique_code.constantize.new(print_settings, odi_item[0], print_status, options, oqs.use_alternate_name, before_updated_qty)
-
- # pdf.render_file "tmp/order_item.pdf"
- pdf.render_file filename
- #no print in cloud server
- if ENV["SERVER_MODE"] != "cloud"
- self.print(filename, oqs.printer_name)
- # self.print(filename.gsub(".","-copy."), oqs.printer_name)
- end
- #end
+ if Lookup.collection_of('print_settings').none? { |x| x == ["ActionCable", "1"] }
+ #Use CUPS service
+ #Generate PDF
+ #Print
+ # Must be one print
+ if print_settings.print_copies == 0
+ print_settings.print_copies = 1
+ print_settings.save!
end
- # For Print Order Summary
- else
- booking_id = Booking.get_booking_id(order_id) #order[0].order_id
- order = print_query('order_summary', order_id)
+
+ shop = Shop.current_shop
+ directory_name = "public/orders_#{shop.shop_code}"
+ Dir.mkdir(directory_name) unless File.exists?(directory_name)
filename = directory_name + "/order_summary_#{order_id}.pdf"
# filename = "tmp/order_summary_#{order_id}" + ".pdf"
@@ -98,29 +70,27 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker
#no print in cloud server
if ENV["SERVER_MODE"] != "cloud"
self.print(filename, oqs.printer_name)
- else
- ActionCable.server.broadcast("print_channel_#{Shop.current_shop.shop_code}",
- queue: oqs.station_name,
- unique_code: print_settings.unique_code,
- print_copies: print_settings.print_copies,
- data: {
- order_item: order_items,
- order: order.as_json(methods: :type),
- print_status: "",
- booking_id: booking_id,
- precision: print_settings.precision}
- )
end
- #For print copy
- # pdf.render_file filename.gsub(".","-copy.")
- # self.print(filename.gsub(".","-copy."), oqs.printer_name)
+ return filename, order_id, oqs.printer_name
+ else
+ ActionCable.server.broadcast("print_channel_#{Shop.current_shop.shop_code}",
+ queue: oqs.station_name,
+ unique_code: print_settings.unique_code,
+ print_copies: print_settings.print_copies,
+ data: {
+ order_item: order_items,
+ order: order.as_json(methods: :type),
+ print_status: "",
+ booking_id: booking_id,
+ precision: print_settings.precision
+ }
+ )
end
- return filename, order_id, oqs.printer_name
end
# Print for orders in booking
- def print_booking_summary(print_settings, oqs, booking_id, print_status,before_updated_qty="")
+ def print_booking_summary(print_settings, oqs, booking_id, print_status, before_updated_qty="")
# Must be one print
if print_settings.print_copies == 0
print_settings.print_copies = 1
diff --git a/app/models/printer/receipt_printer.rb b/app/models/printer/receipt_printer.rb
index d130c96e..360ca85c 100755
--- a/app/models/printer/receipt_printer.rb
+++ b/app/models/printer/receipt_printer.rb
@@ -91,61 +91,29 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
#Bill Receipt Print
def print_receipt_bill(printer_settings, kbz_pay_status, qr_code, cashier_terminal,sale_items,sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info = nil,rebate_amount=nil,shop_details, printed_status,balance,card_data,other_amount,latest_order_no,card_balance_amount,order_reservation)
- #Use CUPS service
- #Generate PDF
- #Print
- if printer_settings
- if !printer_settings.unique_code.match?(/receiptbillorder/i)
- if Lookup.collection_of("print_settings").any? { |x| x == ["ReceiptBillA5Pdf", "1"] } #print_settings with name:ReceiptBillA5Pdf
- pdf = ReceiptBillA5Pdf.new(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details,printed_status,balance,card_data,other_amount,latest_order_no,card_balance_amount)
+ if Lookup.collection_of('print_settings').none? { |x| x == ["ActionCable", "1"] }
+ #Use CUPS service
+ #Generate PDF
+ #Print
+ if printer_settings
+ if !printer_settings.unique_code.match?(/receiptbillorder/i)
+ if Lookup.collection_of("print_settings").any? { |x| x == ["ReceiptBillA5Pdf", "1"] } #print_settings with name:ReceiptBillA5Pdf
+ pdf = ReceiptBillA5Pdf.new(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details,printed_status,balance,card_data,other_amount,latest_order_no,card_balance_amount)
+ else
+ pdf = PrintSetting.where("unique_code REGEXP ?", "receipt.*bill.*pdf").first.unique_code.constantize.new(printer_settings, kbz_pay_status, qr_code, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details,printed_status,balance,card_data,other_amount,latest_order_no,card_balance_amount)
+ end
else
- pdf = PrintSetting.where("unique_code REGEXP ?", "receipt.*bill.*pdf").first.unique_code.constantize.new(printer_settings, kbz_pay_status, qr_code, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details,printed_status,balance,card_data,other_amount,latest_order_no,card_balance_amount)
+ #doemal online order pdf template
+ pdf = ReceiptBillOrderPdf.new(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details,printed_status,balance,card_data,other_amount,latest_order_no,card_balance_amount,order_reservation)
end
- else
- #doemal online order pdf template
- pdf = ReceiptBillOrderPdf.new(printer_settings, sale_items, sale_data, customer_name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details,printed_status,balance,card_data,other_amount,latest_order_no,card_balance_amount,order_reservation)
+
+ # print as print copies in printer setting
+ count = printer_settings.print_copies
end
- if ENV["SERVER_MODE"] == "cloud"
- ActionCable.server.broadcast("print_channel_#{Shop.current_shop.shop_code}",
- queue: "Cashier",
- unique_code: print_settings.unique_code,
- print_copies: print_settings.print_copies,
- data: {
- shop_details: shop_details.as_json,
- body: { sale_data: sale_data,
- booking: sale_data.bookings,
- dining_facility: sale_data.bookings[0].dining_facility.as_json(methods: :type),
- sale_taxes: sale_data.sale_taxes,
- latest_order_no: latest_order_no,
- sale_items: sale_items,
- precision: print_settings.precision,
- delimiter: print_settings.delimiter,
- member_info: member_info,
- customer_name: customer_name,
- rebate_amount: rebate_amount,
- current_balance: balance,
- card_data: card_data,
- card_balance_amount: card_balance_amount,
- discount_price_by_accounts: discount_price_by_accounts,
- item_price_by_accounts: item_price_by_accounts,
- sale_payments: sale_data.sale_payments,
- },
- footer: { printed_status: printed_status, footer_text: "Thank You! See you Again" }
- }
- )
- end
-
- # print as print copies in printer setting
- count = printer_settings.print_copies
-
- # override print copies for print worker loop
- # print_settings.print_copies = 1
- # print_settings.save!
- end
- directory_name = 'public/receipts'
- Dir.mkdir(directory_name) unless File.exists?(directory_name)
- Rails.logger.debug "############## dir::" + directory_name
+ directory_name = 'public/receipts'
+ Dir.mkdir(directory_name) unless File.exists?(directory_name)
+ Rails.logger.debug "############## dir::" + directory_name
if count == 1
filename = directory_name + "/receipt_bill_#{sale_data.receipt_no}.pdf"
pdf.render_file filename
@@ -169,12 +137,44 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
end
end
end
- Rails.logger.debug "############## filename::" + filename
- return filename, sale_data.receipt_no, cashier_terminal.printer_name
+
+ Rails.logger.debug "############## filename::" + filename
+ return filename, sale_data.receipt_no, cashier_terminal.printer_name
+ else
+ ActionCable.server.broadcast("print_channel_#{Shop.current_shop.shop_code}",
+ queue: cashier_terminal.printer_name,
+ unique_code: print_settings.unique_code,
+ print_copies: print_settings.print_copies,
+ data: {
+ shop_details: shop_details.as_json,
+ body: { sale_data: sale_data,
+ booking: sale_data.bookings,
+ dining_facility: sale_data.bookings[0].dining_facility.as_json(methods: :type),
+ sale_taxes: sale_data.sale_taxes,
+ latest_order_no: latest_order_no,
+ sale_items: sale_items,
+ precision: print_settings.precision,
+ delimiter: print_settings.delimiter,
+ member_info: member_info,
+ customer_name: customer_name,
+ rebate_amount: rebate_amount,
+ current_balance: balance,
+ card_data: card_data,
+ card_balance_amount: card_balance_amount,
+ discount_price_by_accounts: discount_price_by_accounts,
+ item_price_by_accounts: item_price_by_accounts,
+ sale_payments: sale_data.sale_payments
+ },
+ footer: {
+ printed_status: printed_status, footer_text: "Thank You! See you Again"
+ }
+ }
+ )
+ end
end
# stock check
- def print_stock_check_result(print_settings,stockcheck, stockcheck_items,checker_name, shop_details)
+ def print_stock_check_result(print_settings, stockcheck, stockcheck_items, checker_name, shop_details)
pdf = StockResultPdf.new(print_settings,stockcheck, stockcheck_items,checker_name, shop_details)
pdf.render_file "tmp/print_stock_check_result.pdf"
#no print in cloud server
@@ -197,37 +197,39 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
end
#Move Table Print
- def print_move_table(printer_settings,to,from,shop_detail,date,type,moved_by,order_items,oqs)
- #Use CUPS service
- #Generate PDF
- #Print
- pdf = MoveTablePdf.new(printer_settings,to,from,shop_detail,date,type,moved_by,order_items)
- pdf.render_file "tmp/print_move_table.pdf"
+ def print_move_table(printer_settings, to, from, shop_detail, date, type, moved_by, order_items, oqs)
+ if Lookup.collection_of('print_settings').none? { |x| x == ["ActionCable", "1"] }
+ #Use CUPS service
+ #Generate PDF
+ #Print
+ pdf = MoveTablePdf.new(printer_settings, to, from, shop_detail, date, type, moved_by, order_items)
+ pdf.render_file "tmp/print_move_table.pdf"
- if ENV["SERVER_MODE"] != "cloud"
- if oqs.print_copy
- self.print("tmp/print_move_table.pdf",oqs.printer_name)
- else
- print_settings.print_copies = 1
- print_settings.save!
- #no print in cloud server
- self.print("tmp/print_move_table.pdf", oqs.printer_name)
+ if ENV["SERVER_MODE"] != "cloud"
+ if oqs.print_copy
+ self.print("tmp/print_move_table.pdf",oqs.printer_name)
+ else
+ print_settings.print_copies = 1
+ print_settings.save!
+ #no print in cloud server
+ self.print("tmp/print_move_table.pdf", oqs.printer_name)
+ end
end
else
- ActionCable.server.broadcast("print_channel_#{Shop.current_shop.shop_code}",
- queue: oqs.station_name,
- unique_code: print_settings.unique_code,
- print_copies: print_settings.print_copies,
- data: {
- type: type,
- body: {
- to: to,
- from: from,
- date: date,
- moved_by: moved_by,
- order_items: order_items.as_json,
- },
- }
+ ActionCable.server.broadcast("print_channel_#{Shop.current_shop.shop_code}",
+ queue: oqs.station_name,
+ unique_code: print_settings.unique_code,
+ print_copies: print_settings.print_copies,
+ data: {
+ type: type,
+ body: {
+ to: to,
+ from: from,
+ date: date,
+ moved_by: moved_by,
+ order_items: order_items.as_json,
+ },
+ }
)
end
end
diff --git a/app/views/oqs/home/index.html.erb b/app/views/oqs/home/index.html.erb
index c7b52bb8..0b5e9d93 100644
--- a/app/views/oqs/home/index.html.erb
+++ b/app/views/oqs/home/index.html.erb
@@ -1,6 +1,6 @@
-
+
<%= @filter %>
@@ -20,7 +20,7 @@
<%= qsi.id %>
<% end %>
- <% end %>
+ <% end %>
@@ -38,8 +38,8 @@
- <%
- @queue_completed_item.each do |qid|
+ <%
+ @queue_completed_item.each do |qid|
%>
@@ -52,38 +52,38 @@
<%= qid.zone %>
<%= qid.order_id %>
-
+
<%= qid.item_name %>
[x
<%= qid.qty %>
- ]
+ ]
<% if !qid.set_menu_items.nil? %>
<% qid.set_menu_items.each do |item_instance|%>
<%= item_instance %>
<% end %>
- <% end %>
-
+ <% end %>
+
- <%= qid.options == "[]"? "" : qid.options %>
+ <%= qid.options == "[]"? "" : qid.options %>
- Order at -
+ Order at -
<%= qid.created_at.utc.getlocal.strftime("%d-%m-%Y %I:%M %p") %>
-
+
Order By -
<%= qid.item_order_by %>
-
+
completed
<%= qid.customer_name %>
- <%= qid.assigned_order_item_id %>
+ <%= qid.assigned_order_item_id %>
<% if !qid.delivery_status %>
<%end%>
-
- <% end %>
+
+ <% end %>
-
@@ -127,7 +127,7 @@
|
|
-->
<% if current_user.role != "kitchen" %>
-
+