Merge branch 'master' of bitbucket.org:code2lab/sxrestaurant into loyalty
This commit is contained in:
3
Gemfile
3
Gemfile
@@ -57,7 +57,8 @@ gem 'bcrypt', '~> 3.1.7'
|
|||||||
gem 'sidekiq'
|
gem 'sidekiq'
|
||||||
|
|
||||||
# Pagination
|
# Pagination
|
||||||
gem 'kaminari', '~> 0.16.3' #:git => "git://github.com/amatsuda/kaminari.git", :branch => 'master'
|
gem 'kaminari', '~> 0.16.3'
|
||||||
|
|
||||||
|
|
||||||
# Use Capistrano for deployment
|
# Use Capistrano for deployment
|
||||||
# gem 'capistrano-rails', group: :development
|
# gem 'capistrano-rails', group: :development
|
||||||
|
|||||||
@@ -21,6 +21,17 @@ $(document).ready(function(){
|
|||||||
var zone_name=$(this).find(".orders-table").text();
|
var zone_name=$(this).find(".orders-table").text();
|
||||||
var receipt_no=$(this).find(".orders-receipt-no").text();
|
var receipt_no=$(this).find(".orders-receipt-no").text();
|
||||||
var unique_id=$(this).find(".orders-id").text();
|
var unique_id=$(this).find(".orders-id").text();
|
||||||
|
var order_status=$(this).find(".orders-order-status").text().trim();
|
||||||
|
|
||||||
|
// Enable/Disable Button
|
||||||
|
control_button(order_status);
|
||||||
|
|
||||||
|
//for customer button
|
||||||
|
if(unique_id.charAt(0) == 'S'){
|
||||||
|
$("#customer").removeAttr('disabled');
|
||||||
|
}else{
|
||||||
|
$("#customer").attr('disabled','disabled');
|
||||||
|
}
|
||||||
|
|
||||||
var cashier="";
|
var cashier="";
|
||||||
var receipt_date="";
|
var receipt_date="";
|
||||||
@@ -86,14 +97,25 @@ $(document).ready(function(){
|
|||||||
// Bill Request
|
// Bill Request
|
||||||
$('#request_bills').click(function() {
|
$('#request_bills').click(function() {
|
||||||
var order_id=$(".selected-item").find(".orders-id").text();
|
var order_id=$(".selected-item").find(".orders-id").text();
|
||||||
window.location.href = '/origami/request_bills/'+ order_id
|
if(order_id!=""){
|
||||||
|
window.location.href = '/origami/request_bills/'+ order_id
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
alert("Please select an order!");
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
// Discount for Payment
|
// Discount for Payment
|
||||||
$('#discount').click(function() {
|
$('#discount').click(function() {
|
||||||
var order_id=$(".selected-item").find(".orders-id").text();
|
var order_id=$(".selected-item").find(".orders-id").text();
|
||||||
window.location.href = '/origami/discount/'+ order_id
|
if(order_id!=""){
|
||||||
|
window.location.href = '/origami/discount/'+ order_id
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
alert("Please select an order!");
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -123,7 +145,19 @@ $(document).ready(function(){
|
|||||||
// Payment for Bill
|
// Payment for Bill
|
||||||
$('#pay').click(function() {
|
$('#pay').click(function() {
|
||||||
var sale_id=$(".selected-item").find(".orders-id").text();
|
var sale_id=$(".selected-item").find(".orders-id").text();
|
||||||
window.location.href = '/origami/sale/'+ sale_id + "/payment"
|
if(order_id!=""){
|
||||||
|
window.location.href = '/origami/sale/'+ sale_id + "/payment"
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
alert("Please select an order!");
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#customer').click(function() {
|
||||||
|
var sale_id=$(".selected-item").find(".orders-id").text();
|
||||||
|
window.location.href = '/crm/customers/'+ sale_id + "/assign_sale_id"
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -174,6 +208,20 @@ $(document).on('click', '.cashier_number', function(event){
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/* Button Control by Status */
|
||||||
|
function control_button(order_status){
|
||||||
|
if(order_status=="billed"){
|
||||||
|
$("#request_bills").prop('disabled', true);
|
||||||
|
$("#discount").prop('disabled', false);
|
||||||
|
$("#pay").prop('disabled', false);
|
||||||
|
}
|
||||||
|
else if(order_status=="new") {
|
||||||
|
$("#request_bills").prop('disabled', false);
|
||||||
|
$("#discount").prop('disabled', true);
|
||||||
|
$("#pay").prop('disabled', true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* For Receipt - Update Balance */
|
/* For Receipt - Update Balance */
|
||||||
function update_balance(){
|
function update_balance(){
|
||||||
var discount_type = $('#discount-type').val();
|
var discount_type = $('#discount-type').val();
|
||||||
|
|||||||
@@ -13,13 +13,28 @@ class Crm::HomeController < BaseCrmController
|
|||||||
def print_order
|
def print_order
|
||||||
|
|
||||||
@booking = Booking.find(params[:id])
|
@booking = Booking.find(params[:id])
|
||||||
|
|
||||||
|
@total_amount = 0.00
|
||||||
|
@total_tax = 0.00
|
||||||
|
|
||||||
|
if @booking.booking_orders
|
||||||
|
order_items = []
|
||||||
|
@booking.booking_orders.each do |bo|
|
||||||
|
order = Order.find(bo.order_id)
|
||||||
|
#if (order.status == "new")
|
||||||
|
order_items = order_items + order.order_items
|
||||||
|
#end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
unique_code="CrmOrderPdf"
|
unique_code="CrmOrderPdf"
|
||||||
|
|
||||||
print_settings = PrintSetting.find_by_unique_code(unique_code)
|
print_settings = PrintSetting.find_by_unique_code(unique_code)
|
||||||
|
|
||||||
printer = Printer::ReceiptPrinter.new(print_settings)
|
printer = Printer::ReceiptPrinter.new(print_settings)
|
||||||
|
|
||||||
printer.print_crm_order(@booking,print_settings)
|
printer.print_crm_order(@booking,order_items,print_settings)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -27,3 +27,5 @@ class Origami::RequestBillsController < BaseOrigamiController
|
|||||||
redirect_to origami_root_path
|
redirect_to origami_root_path
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
class OrderQueueProcessorJob < ApplicationJob
|
class OrderQueueProcessorJob < ApplicationJob
|
||||||
queue_as :oqs
|
queue_as :default
|
||||||
|
|
||||||
def perform(order_id)
|
def perform(order_id)
|
||||||
# Do something later
|
# Do something later
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ class Order < ApplicationRecord
|
|||||||
process_order_queue
|
process_order_queue
|
||||||
|
|
||||||
#send order to broadcast job
|
#send order to broadcast job
|
||||||
send_order_broadcast
|
#send_order_broadcast
|
||||||
|
|
||||||
return true, booking
|
return true, booking
|
||||||
|
|
||||||
|
|||||||
@@ -74,11 +74,11 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
|
|||||||
end
|
end
|
||||||
|
|
||||||
#Bill Receipt Print
|
#Bill Receipt Print
|
||||||
def print_crm_order(booking,setting)
|
def print_crm_order(booking,order_items,setting)
|
||||||
#Use CUPS service
|
#Use CUPS service
|
||||||
#Generate PDF
|
#Generate PDF
|
||||||
#Print
|
#Print
|
||||||
pdf = CrmOrderPdf.new(booking,setting)
|
pdf = CrmOrderPdf.new(booking,order_items,setting)
|
||||||
pdf.render_file "tmp/print_crm_order.pdf"
|
pdf.render_file "tmp/print_crm_order.pdf"
|
||||||
self.print("tmp/print_crm_order.pdf")
|
self.print("tmp/print_crm_order.pdf")
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,71 +1,106 @@
|
|||||||
class CrmOrderPdf < Prawn::Document
|
class CrmOrderPdf < Prawn::Document
|
||||||
|
attr_accessor :receipt_width,:price_column_width,:p_width, :page_height, :margin, :price_width, :item_width, :header_font_size, :item_font_size,:item_height,:qty_column_width,:item_description_width
|
||||||
|
def initialize(booking,order_items,print_settings)
|
||||||
|
self.p_width = 200
|
||||||
|
self.page_height = 1450
|
||||||
|
self.margin = 10
|
||||||
|
# self.price_width = self.p_width / 2
|
||||||
|
self.price_width=80
|
||||||
|
self.item_width = self.p_width - self.price_width
|
||||||
|
self.item_height = self.item_height
|
||||||
|
self.qty_column_width = self.p_width / 2
|
||||||
|
self.item_description_width=self.p_width - self.price_width
|
||||||
|
self.receipt_width=130
|
||||||
|
|
||||||
def initialize(order_item, print_settings)
|
@item_width = self.p_width.to_i / 2
|
||||||
super(:margin => [10, 5, 30, 5], :page_size => [200,400])
|
@qty_width = @item_width.to_i / 3
|
||||||
|
@double = @qty_width * 1.3
|
||||||
|
@half_qty = @qty_width / 2
|
||||||
|
#setting page margin and width
|
||||||
|
super(:margin => [self.margin, self.margin, self.margin, self.margin], :page_size => [self.p_width, self.page_height])
|
||||||
|
self.header_font_size = 7
|
||||||
|
self.item_font_size = 9
|
||||||
|
|
||||||
# font "public/fonts/#{font_name}".to_s + ".ttf".to_s
|
header( booking.type, booking.dining_facility.name)
|
||||||
# font "public/fonts/Zawgyi-One.ttf"
|
stroke_horizontal_rule
|
||||||
# font "public/fonts/padauk.ttf"
|
order_detail(booking.checkin_by,booking.checkin_at,booking.dining_facility.name)
|
||||||
font_size 9
|
line_items(order_items)
|
||||||
text "#{order_item.type}", :size => 15
|
#all_total(order_items)
|
||||||
stroke_horizontal_rule
|
|
||||||
move_down 5
|
|
||||||
|
|
||||||
#order_info
|
|
||||||
order_info(order_item.checkin_by,order_item.checkin_at, order_item.customer_id)
|
|
||||||
|
|
||||||
# order items
|
|
||||||
order_items(order_item)
|
|
||||||
end
|
|
||||||
|
|
||||||
# Write Order Information to PDF
|
|
||||||
def order_info(order_by, order_at, customer)
|
|
||||||
y_position = cursor
|
|
||||||
|
|
||||||
bounding_box([0,y_position], :width => 200, :height => 15) do
|
|
||||||
text "OrderBy:#{order_by} Customer:#{customer} Date:#{order_at.strftime("%Y-%m-%d")}", :size => 7,:align => :left
|
|
||||||
end
|
|
||||||
|
|
||||||
stroke_horizontal_rule
|
|
||||||
|
|
||||||
move_down 20
|
|
||||||
end
|
|
||||||
|
|
||||||
# Write Order items to PDF
|
|
||||||
def order_items(order_item)
|
|
||||||
y_position = cursor
|
|
||||||
|
|
||||||
bounding_box([0,y_position], :width => 180, :height => 15) do
|
|
||||||
text "Item", :size => 7,:align => :left
|
|
||||||
end
|
|
||||||
|
|
||||||
bounding_box([160,y_position], :width => 20, :height => 15) do
|
|
||||||
text "Qty", :size => 7,:align => :right
|
|
||||||
end
|
|
||||||
|
|
||||||
stroke_horizontal_rule
|
|
||||||
move_down 5
|
|
||||||
|
|
||||||
#Add Order Item
|
|
||||||
add_order_items(order_item)
|
|
||||||
end
|
|
||||||
|
|
||||||
# Add order items under order info
|
|
||||||
def add_order_items(order_item)
|
|
||||||
y_position = cursor
|
|
||||||
|
|
||||||
move_down 5
|
|
||||||
|
|
||||||
bounding_box([0,y_position], :width => 180, :height => 20) do
|
|
||||||
text "#{order_item.sale_id}", :size => 7,:align => :left
|
|
||||||
end
|
|
||||||
|
|
||||||
bounding_box([160,y_position], :width => 20, :height => 20) do
|
|
||||||
text "#{order_item.sale_id}", :size => 7,:align => :right
|
|
||||||
end
|
|
||||||
|
|
||||||
move_down 5
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def header (type, name)
|
||||||
|
text "#{type}", :size => self.header_font_size,:align => :center
|
||||||
|
move_down 5
|
||||||
|
text "#{name}", :size => self.header_font_size,:align => :center
|
||||||
|
# move_down self.item_height
|
||||||
|
move_down 5
|
||||||
|
|
||||||
|
stroke_horizontal_rule
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
def order_detail(order_by,order_at,customer)
|
||||||
|
move_down 5
|
||||||
|
move_down 2
|
||||||
|
y_position = cursor
|
||||||
|
qty_column_width = self.p_width * 0.2
|
||||||
|
item_description_width = self.p_width * 0.5
|
||||||
|
price_column_width = self.p_width * 0.3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
stroke_horizontal_rule
|
||||||
|
move_down 5
|
||||||
|
y_position = cursor
|
||||||
|
pad_top(15) {
|
||||||
|
# @item_width.to_i + @half_qty.to_i
|
||||||
|
text_box "Order By", :at =>[0,y_position], :width => @item_width.to_i - @half_qty.to_i , :height =>15, :overflow => :shrink_to_fix, :size => self.item_font_size
|
||||||
|
text_box "Order At", :at =>[@item_width.to_i - @half_qty.to_i,y_position], :width => @qty_width, :height =>15, :overflow => :shrink_to_fix, :size => self.item_font_size, :align => :right
|
||||||
|
text_box "Customer", :at =>[@item_width.to_i-@qty_width,y_position], :width => @half_qty, :height =>15, :overflow => :shrink_to_fix, :size => self.item_font_size, :align => :right
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
move_down 5
|
||||||
|
stroke_horizontal_rule
|
||||||
|
y_position = cursor
|
||||||
|
pad_top(15) {
|
||||||
|
|
||||||
|
text_box "#{order_by}", :at =>[@item_width.to_i - @half_qty.to_i,y_position], :width => @qty_width, :height =>15, :overflow => :shrink_to_fix, :size => self.item_font_size, :align => :right
|
||||||
|
text_box "#{order_at.to_i}", :at =>[@item_width.to_i-@qty_width,y_position], :width => @half_qty, :height =>15, :overflow => :shrink_to_fix, :size => self.item_font_size, :align => :right
|
||||||
|
text_box "#{customer}", :at =>[@item_width.to_i + @half_qty.to_i,y_position], :width => @double, :height =>15, :overflow => :shrink_to_fix, :size => self.item_font_size, :align => :right
|
||||||
|
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def line_items(order_items)
|
||||||
|
y_position = cursor
|
||||||
|
qty_column_width = self.p_width * 0.2
|
||||||
|
item_description_width = self.p_width * 0.5
|
||||||
|
price_column_width = self.p_width * 0.3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
stroke_horizontal_rule
|
||||||
|
move_down 5
|
||||||
|
y_position = cursor
|
||||||
|
pad_top(15) {
|
||||||
|
# @item_width.to_i + @half_qty.to_i
|
||||||
|
text_box "Items", :at =>[0,y_position], :width => @item_width.to_i - @half_qty.to_i , :height =>15, :overflow => :shrink_to_fix, :size => self.item_font_size
|
||||||
|
text_box "Price", :at =>[@item_width.to_i - @half_qty.to_i,y_position], :width => @qty_width, :height =>15, :overflow => :shrink_to_fix, :size => self.item_font_size, :align => :right
|
||||||
|
text_box "Qty", :at =>[@item_width.to_i-@qty_width,y_position], :width => @half_qty, :height =>15, :overflow => :shrink_to_fix, :size => self.item_font_size, :align => :right
|
||||||
|
text_box "Total", :at =>[@item_width.to_i + @half_qty.to_i,y_position], :width => @double, :height =>15, :overflow => :shrink_to_fix, :size => self.item_font_size, :align => :right
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
move_down 5
|
||||||
|
stroke_horizontal_rule
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -6,7 +6,8 @@
|
|||||||
<% @booking.each do |booking| %>
|
<% @booking.each do |booking| %>
|
||||||
<% if booking.booking_status == "new" %>
|
<% if booking.booking_status == "new" %>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-block booking_click" data-id="sfddf" data-ref="<%= api_booking_path booking.id%>" id="card-block booking_block" style="width:100%;" >
|
<div class="card-block booking_click" data-id="sfddf" data-ref="<%= api_booking_path booking.id%>" id="card-block booking_block" >
|
||||||
|
<p class="hidden booking-id"><%= booking.id %></p>
|
||||||
<h4 class="card-title">
|
<h4 class="card-title">
|
||||||
<%= @i += 1 %> . <%= booking.dining_facility.name %>
|
<%= @i += 1 %> . <%= booking.dining_facility.name %>
|
||||||
- <%= booking.id %>
|
- <%= booking.id %>
|
||||||
@@ -36,37 +37,50 @@
|
|||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(function(){
|
$(function(){
|
||||||
|
|
||||||
|
$(".booking_click").on("click", function(){
|
||||||
|
|
||||||
$(".booking_click").on("click", function(){
|
|
||||||
$(".summary-items tbody tr").remove();
|
$(".summary-items tbody tr").remove();
|
||||||
$("#cancel").removeAttr("disabled");
|
$("#cancel").removeAttr("disabled");
|
||||||
$("#assign").removeAttr("disabled");
|
$("#assign").removeAttr("disabled");
|
||||||
|
|
||||||
|
var booking_id = $(this).find(".booking-id").text();
|
||||||
|
$("#crm_print").val(booking_id);
|
||||||
$("#crm_print").removeAttr("disabled");
|
$("#crm_print").removeAttr("disabled");
|
||||||
//$("#crm_print").val($(this).attr('data'));
|
|
||||||
|
|
||||||
var url = $(this).attr('data-ref');
|
var url = $(this).attr('data-ref');
|
||||||
show_details(url);
|
show_details(url);
|
||||||
});
|
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.crm_print').click(function() {
|
||||||
|
var booking_id = $('#crm_print').val();
|
||||||
|
|
||||||
$('.assign').click(function(e){
|
$.ajax({
|
||||||
|
type: "GET",
|
||||||
|
url: "crm/print/"+booking_id,
|
||||||
|
data: {},
|
||||||
|
dataType: "json",
|
||||||
|
success: function(data) {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.assign').click(function(e){
|
||||||
var booking_id = $(this).val()
|
var booking_id = $(this).val()
|
||||||
var type = $(this).attr("data-type")
|
var type = $(this).attr("data-type")
|
||||||
|
|
||||||
update_booking(booking_id,type)
|
update_booking(booking_id,type)
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.cancel').click(function(e){
|
$('.cancel').click(function(e){
|
||||||
var booking_id = $(this).val()
|
var booking_id = $(this).val()
|
||||||
var type = $(this).attr("data-type")
|
var type = $(this).attr("data-type")
|
||||||
|
|
||||||
update_booking(booking_id,type)
|
update_booking(booking_id,type)
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
function show_details(url_item){
|
function show_details(url_item){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
<% if booking.booking_status == "assign" %>
|
<% if booking.booking_status == "assign" %>
|
||||||
<div class="card booking_click" data-ref="<%= api_booking_path booking.id%>" id="booking_block">
|
<div class="card booking_click" data-ref="<%= api_booking_path booking.id%>" id="booking_block">
|
||||||
<div class="card-block" id="card-block" style="width:100%;">
|
<div class="card-block" id="card-block" style="width:100%;">
|
||||||
|
<p class="hidden booking-id"><%= booking.id %></p>
|
||||||
<h4 class="card-title">
|
<h4 class="card-title">
|
||||||
<%= @i += 1 %> . <%= booking.dining_facility.name %>
|
<%= @i += 1 %> . <%= booking.dining_facility.name %>
|
||||||
- <%= booking.id %>
|
- <%= booking.id %>
|
||||||
|
|||||||
@@ -102,27 +102,5 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
|
|
||||||
$( document ).ready(function() {
|
|
||||||
$('.crm_print').click(function() {
|
|
||||||
var id = "BKI-000000000004"
|
|
||||||
$.ajax({
|
|
||||||
type: "GET",
|
|
||||||
url: "crm/print/"+id,
|
|
||||||
data: {},
|
|
||||||
dataType: "json",
|
|
||||||
success: function(data) {
|
|
||||||
/*if(data.status == true && data.type == "cancel")
|
|
||||||
{
|
|
||||||
alert('Booking has canceled!');
|
|
||||||
}else{
|
|
||||||
alert('Booking has completed!');
|
|
||||||
}
|
|
||||||
location.reload();*/
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<strong>CRM</strong>
|
<strong>CRM</strong>
|
||||||
</div>
|
</div>
|
||||||
<div style="float:left;margin-top:3px;text-align:left; width:600px">
|
<div style="float:left;margin-top:3px;text-align:left; width:600px">
|
||||||
Queue | Bookings | Online Orders | Customers
|
Queue | Bookings | Online Orders | <%= link_to 'Customer', crm_customers_path, :html=>":color:white" %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div style="float:right; margin-top:3px; text-align:right;width:200px;color:#ffffff">
|
<div style="float:right; margin-top:3px; text-align:right;width:200px;color:#ffffff">
|
||||||
|
|||||||
@@ -214,11 +214,13 @@
|
|||||||
<button type="button" class="btn btn-primary btn-lg btn-block" disabled>Add Order</button>
|
<button type="button" class="btn btn-primary btn-lg btn-block" disabled>Add Order</button>
|
||||||
<button type="button" class="btn btn-primary btn-lg btn-block" disabled>Edit</button>
|
<button type="button" class="btn btn-primary btn-lg btn-block" disabled>Edit</button>
|
||||||
<button type="button" class="btn btn-primary btn-lg btn-block" disabled>Move</button>
|
<button type="button" class="btn btn-primary btn-lg btn-block" disabled>Move</button>
|
||||||
|
|
||||||
<button type="button" class="btn btn-primary btn-lg btn-block" disabled>Customer</button>
|
<button type="button" class="btn btn-primary btn-lg btn-block" disabled>Customer</button>
|
||||||
<button type="button" id="request_bills" class="btn btn-primary btn-lg btn-block">Req.Bill</button>
|
<button type="button" id="request_bills" class="btn btn-primary btn-lg btn-block">Req.Bill</button>
|
||||||
<!-- Cashier Buttons -->
|
<!-- Cashier Buttons -->
|
||||||
<button type="button" id="discount" class="btn btn-primary btn-lg btn-block">Discount</button>
|
<button type="button" id="discount" class="btn btn-primary btn-lg btn-block">Discount</button>
|
||||||
<button type="button" class="btn btn-primary btn-lg btn-block">Tax</button>
|
<button type="button" class="btn btn-primary btn-lg btn-block" disabled>Tax</button>
|
||||||
|
|
||||||
<button type="button" id="pay" class="btn btn-primary btn-lg btn-block" >Pay</button>
|
<button type="button" id="pay" class="btn btn-primary btn-lg btn-block" >Pay</button>
|
||||||
<button type="button" class="btn btn-primary btn-lg btn-block" disabled>Re.Print</button>
|
<button type="button" class="btn btn-primary btn-lg btn-block" disabled>Re.Print</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
10
db/migrate/20170331024747_create_accounts.rb
Normal file
10
db/migrate/20170331024747_create_accounts.rb
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
class CreateAccounts < ActiveRecord::Migration[5.1]
|
||||||
|
def change
|
||||||
|
create_table :accounts do |t|
|
||||||
|
t.string :title
|
||||||
|
t.string :account_type
|
||||||
|
|
||||||
|
t.timestamps
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -3,10 +3,10 @@ class CreatePrintSettings < ActiveRecord::Migration[5.1]
|
|||||||
create_table :print_settings do |t|
|
create_table :print_settings do |t|
|
||||||
t.string :name, :null => false
|
t.string :name, :null => false
|
||||||
t.string :unique_code, :null => false
|
t.string :unique_code, :null => false
|
||||||
t.string :template, :null => false
|
t.string :template
|
||||||
t.string :db_name, :null => false
|
t.string :db_name
|
||||||
t.string :db_type, :null => false
|
t.string :db_type
|
||||||
t.string :db_username, :null => false
|
t.string :db_username
|
||||||
t.string :db_password
|
t.string :db_password
|
||||||
t.string :printer_name, :null => false
|
t.string :printer_name, :null => false
|
||||||
t.string :api_settings
|
t.string :api_settings
|
||||||
|
|||||||
@@ -140,6 +140,9 @@ admin_employee = Employee.create({name: "Administrator", role: "Administrator",
|
|||||||
food = Account.create({title: "Food", account_type: "0"})
|
food = Account.create({title: "Food", account_type: "0"})
|
||||||
beverage = Account.create({title: "Beverage", account_type: "1"})
|
beverage = Account.create({title: "Beverage", account_type: "1"})
|
||||||
|
|
||||||
|
order_station1=PrintSetting.create({name: "OrderItemPdf", unique_code: "OrderItemPdf", printer_name: "EPSON-TM-T82-S-A"})
|
||||||
|
order_station2=PrintSetting.create({name: "Order Summary", unique_code: "OrderSummaryPdf", printer_name: "EPSON-TM-T82-S-A"})
|
||||||
|
|
||||||
# shop = Shop.create(
|
# shop = Shop.create(
|
||||||
# {name: "Beauty In The Pot", address: "address", township: "Yangon", city: "Yangon", state: "Yangon",
|
# {name: "Beauty In The Pot", address: "address", township: "Yangon", city: "Yangon", state: "Yangon",
|
||||||
# country: "Myanmar", phone_no: "09123456789", reservation_no: "bip000001", license: "license",
|
# country: "Myanmar", phone_no: "09123456789", reservation_no: "bip000001", license: "license",
|
||||||
|
|||||||
Reference in New Issue
Block a user