Merge branch 'master' of bitbucket.org:code2lab/sxrestaurant

This commit is contained in:
Nweni
2017-06-30 13:44:45 +06:30
27 changed files with 928 additions and 119 deletions

View File

@@ -68,8 +68,10 @@ class Api::OrdersController < Api::ApiController
if booking.dining_facility_id.to_i == params[:table_id].to_i && booking.booking_status != 'moved'
if !booking.sale_id.nil?
sale_status = check_order_with_booking(booking)
# puts "WWwwWWWWWWww"
# puts sale_status
if sale_status
return false , @message = "bill requested"
return return_json_status_with_code(400, "bill requested")
end
else
@order.new_booking = false
@@ -77,23 +79,28 @@ class Api::OrdersController < Api::ApiController
end
else
sale_status = check_order_with_table(params[:table_id])
# puts "OOOOOOOOO"
# puts sale_status
if sale_status
return false , @message = "bill requested"
return return_json_status_with_code(400, "bill requested")
end
end
end #booking exists
else
sale_status = check_order_with_table(params[:table_id])
# puts "MMMMMMMM"
# puts sale_status
if sale_status
return false , @message = "bill requested"
# return false , @message = "bill requested"
return return_json_status_with_code(400, "bill requested")
end
end
@status, @booking = @order.generate
end
# render json for http status code 202
def return_json_status_with_code(code, msg, booking_id)
# render json for http status code
def return_json_status_with_code(code, msg)
render status: code, json: {
message: msg,
booking_id: booking_id
@@ -104,12 +111,14 @@ class Api::OrdersController < Api::ApiController
table = DiningFacility.find(table_id)
if table
booking = table.get_current_booking
puts booking
# puts booking
if booking
if booking.sale.sale_status == "completed" || booking.sale.sale_status == "billed"
if !booking.sale_id.nil?
if booking.sale.sale_status == "completed" || booking.sale.sale_status == "new"
@order.new_booking = true
return true
else
return false
end
else
@order.new_booking = false
@order.booking_id = booking.booking_id
return false
@@ -118,10 +127,11 @@ class Api::OrdersController < Api::ApiController
end
end
# this can always true
def check_order_with_booking(booking)
if booking.sale.sale_status == "completed" || booking.sale.sale_status == "billed"
if booking.sale.sale_status == "completed" || booking.sale.sale_status == "new"
@order.new_booking = true
return true
return false
else
@order.new_booking = false
@order.booking_id = params[:booking_id]

View File

@@ -7,7 +7,7 @@ class BaseOrigamiController < ActionController::Base
rescue_from CanCan::AccessDenied do |exception|
flash[:warning] = exception.message
redirect_to root_path
redirect_to origami_root_path
end
def current_user

View File

@@ -96,6 +96,17 @@ class Crm::DiningQueuesController < BaseCrmController
end
end
def cancel_queue
queue = DiningQueue.find(params[:id])
status = queue.update_attributes(id: params[:id],status:"Cancel")
if status == true
render json: JSON.generate({:status => true , notice: 'Dining queue was successfully canceled .'})
else
render json: JSON.generate({:status => false, :error_message => "Record not found"})
end
end
private
# Use callbacks to share common setup or constraints between actions.

View File

@@ -0,0 +1,48 @@
class Origami::OtherChargesController < BaseOrigamiController
authorize_resource :class => false
def index
sale_id = params[:sale_id]
if Sale.exists?(sale_id)
@sale_data = Sale.find(sale_id)
end
end
def create
sale_id = params[:sale_id]
other_charges_items = JSON.parse(params[:other_charges_items])
sub_total = params[:sub_total]
if Sale.exists?(sale_id)
sale = Sale.find(sale_id)
table_id = sale.bookings[0].dining_facility_id
table_type = DiningFacility.find(table_id).type
sale.total_amount = sub_total.to_f
sale.grand_total = sub_total.to_f + sale.total_tax;
sale.save
if other_charges_items.length > 0
#save sale item for discount
other_charges_items.each do |di|
# origin_sale_item = SaleItem.find(di["id"])
sale_item = SaleItem.new
sale_item.sale_id = sale_id
sale_item.product_code = "Other Charges"
sale_item.product_name = di["name"]
sale_item.remark = "Other Charges"
sale_item.qty = 1
sale_item.unit_price = di["price"]
sale_item.taxable_price = di["price"]
sale_item.is_taxable = 0
sale_item.price = di["price"]
sale_item.save
end
end
end
dining = {:table_id => table_id, :table_type => table_type }
render :json => dining.to_json
end
end

View File

@@ -9,7 +9,12 @@ class Origami::PaymentsController < BaseOrigamiController
sale_data = Sale.find_by_sale_id(sale_id)
sale_items = SaleItem.where("sale_id=?",sale_id)
new_total = Sale.get_rounding_adjustment(sale_data.grand_total)
rounding_adj = sale_data.grand_total - new_total
sale_data.update_attributes(grand_total: new_total,rounding_adjustment:rounding_adj)
# Print for First Bill to Customer
unique_code = "ReceiptBillPdf"
#shop detail
shop_details = Shop.find(1)

View File

@@ -1,5 +1,5 @@
class Origami::SaleEditController < BaseOrigamiController
authorize_resource :class => false
# Index for sale item void OR edit
def edit
sale_id = params[:sale_id]

View File

@@ -1,5 +1,5 @@
class Origami::VoidController < BaseOrigamiController
authorize_resource :class => false
def overall_void
sale_id = params[:sale_id]

View File

@@ -0,0 +1,18 @@
class Reports::ShiftsaleController < ApplicationController
# authorize_resource :class => false
def index
from, to, report_type = get_date_range_from_params
@sale_data = Sale.get_by_shiftsales(from,to)
respond_to do |format|
format.html
format.xls
end
end
def show
end
end