change json format and void api
This commit is contained in:
@@ -30,7 +30,7 @@ class Api::AuthenticateController < Api::ApiController
|
|||||||
render json: JSON.generate({:status => true, :session_token => @employee.token_session, :name => @employee.name, :role => @employee.role})
|
render json: JSON.generate({:status => true, :session_token => @employee.token_session, :name => @employee.name, :role => @employee.role})
|
||||||
else
|
else
|
||||||
terminals = CashierTerminal.available.is_active
|
terminals = CashierTerminal.available.is_active
|
||||||
render json: JSON.generate({:status => true, :session_token => @employee.token_session, :name => @employee.name, :role => @employee.role, :error_message => "No current shift open for this employee!", :terminals => terminals.to_json})
|
render json: JSON.generate({:status => true, :session_token => @employee.token_session, :name => @employee.name, :role => @employee.role, :error_message => "No current shift open for this employee!", :terminals => ActiveSupport::JSON.encode(terminals)})
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
render json: JSON.generate({:status => false, :error_message => "This employee is not active!"})
|
render json: JSON.generate({:status => false, :error_message => "This employee is not active!"})
|
||||||
|
|||||||
@@ -178,7 +178,7 @@ class Api::BillController < Api::ApiController
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
# Promotion.promo_activate(@sale)
|
# Promotion.promo_activate(@sale)
|
||||||
render json: JSON.generate({:status => true, :sale_id => @sale_id, :sale_data => @sale_data.to_json})
|
render json: JSON.generate({:status => true, :sale_id => @sale_id, :sale_data => ActiveSupport::JSON.encode(@sale_data)})
|
||||||
else
|
else
|
||||||
render json: JSON.generate({:status => false, :error_message => "No Current Open Shift!"})
|
render json: JSON.generate({:status => false, :error_message => "No Current Open Shift!"})
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class Api::ShiftsController < Api::ApiController
|
|||||||
|
|
||||||
@shift_sale = ShiftSale.new
|
@shift_sale = ShiftSale.new
|
||||||
if @shift_sale.create(opening_balance,cashier_terminal_param, current_login_employee)
|
if @shift_sale.create(opening_balance,cashier_terminal_param, current_login_employee)
|
||||||
render json: JSON.generate({:status => true, :message => "Cashier Terminal successfully signin.", :shift => @shift_sale.to_json})
|
render json: JSON.generate({:status => true, :message => "Cashier Terminal successfully signin.", :shift => ActiveSupport::JSON.encode(@shift_sale)})
|
||||||
else
|
else
|
||||||
render json: JSON.generate({:status => false, :error_message => "Some error occurred!"})
|
render json: JSON.generate({:status => false, :error_message => "Some error occurred!"})
|
||||||
end
|
end
|
||||||
|
|||||||
42
app/controllers/api/void_controller.rb
Normal file
42
app/controllers/api/void_controller.rb
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
class Api::VoidController < Api::ApiController
|
||||||
|
# skip_before_action :authenticate
|
||||||
|
def overall_void
|
||||||
|
sale_id = params[:sale_id]
|
||||||
|
order_source = "emenu" #tax profile source
|
||||||
|
if Sale.exists?(sale_id)
|
||||||
|
sale = Sale.find_by_sale_id(sale_id)
|
||||||
|
|
||||||
|
if sale.discount_type == "member_discount"
|
||||||
|
sale.update_attributes(total_discount: 0)
|
||||||
|
sale.compute_by_sale_items(sale_id, sale.sale_items,0,order_source)
|
||||||
|
end
|
||||||
|
|
||||||
|
# update count for shift sale
|
||||||
|
if(sale.sale_status == "completed")
|
||||||
|
if sale.shift_sale_id != nil
|
||||||
|
shift = ShiftSale.find(sale.shift_sale_id)
|
||||||
|
shift.calculate(sale_id, "void")
|
||||||
|
end
|
||||||
|
else
|
||||||
|
# void before sale payment complete
|
||||||
|
if sale.shift_sale_id != nil
|
||||||
|
shift = ShiftSale.find(sale.shift_sale_id)
|
||||||
|
shift.total_void = shift.total_void + sale.grand_total
|
||||||
|
shift.save
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
sale.rounding_adjustment = 0.0
|
||||||
|
sale.payment_status = 'void'
|
||||||
|
sale.sale_status = 'void'
|
||||||
|
sale.save
|
||||||
|
|
||||||
|
# remark = "Void Sale ID #{sale_id} | Receipt No #{sale.receipt_no} | Receipt No #{sale.receipt_no} | Table ->#{table.name}"
|
||||||
|
sale_audit = SaleAudit.record_audit_for_edit(sale_id,current_login_employee.name, current_login_employee.name,nil,"SALEVOID" )
|
||||||
|
render json: JSON.generate({:status => true, :message => "Void successfully."})
|
||||||
|
else
|
||||||
|
render json: JSON.generate({:status => false, :error_message => "There is no sale for '#{params[:sale_id]}'!"})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
@@ -100,6 +100,7 @@ scope "(:locale)", locale: /en|mm/ do
|
|||||||
post "shifts/close" => "shifts#update"
|
post "shifts/close" => "shifts#update"
|
||||||
post "request_bill" => "bill#request_bill"
|
post "request_bill" => "bill#request_bill"
|
||||||
post "paymal_payment" => "payments#paymal_payment"
|
post "paymal_payment" => "payments#paymal_payment"
|
||||||
|
get ":sale_id/void" => "void#overall_void"
|
||||||
end
|
end
|
||||||
|
|
||||||
#--------- Cashier ------------#
|
#--------- Cashier ------------#
|
||||||
|
|||||||
Reference in New Issue
Block a user