diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 9abc8990..552bc118 100755 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -92,7 +92,7 @@ class ApplicationController < ActionController::Base @current_user ||= Employee.find_by_token_session(session[:session_token]) if session[:session_token] end - # Get current Cashier + # Get current Cashier def get_cashier @cashier = Employee.where("role = 'cashier' AND token_session <> ''") end diff --git a/app/controllers/origami/request_bills_controller.rb b/app/controllers/origami/request_bills_controller.rb index 83208b31..3edbdf73 100755 --- a/app/controllers/origami/request_bills_controller.rb +++ b/app/controllers/origami/request_bills_controller.rb @@ -5,15 +5,14 @@ class Origami::RequestBillsController < ApplicationController @sale = Sale.new sale_order=SaleOrder.new - if shift = ShiftSale.current_open_shift(current_user.id) + # if shift = ShiftSale.current_open_shift(current_user.id) + if !ShiftSale.current_shift.nil? order_id = params[:id] # order_id bk_order = BookingOrder.find_by_order_id(order_id) check_booking = Booking.find_by_booking_id(bk_order.booking_id) if check_booking.sale_id.nil? # Create Sale if it doesn't exist - # puts "current_login_employee" - # puts current_login_employee.name @status, @sale_id = @sale.generate_invoice_from_booking(check_booking.id,current_login_employee, current_user) @sale_data = Sale.find_by_sale_id(@sale_id) @sale_items = SaleItem.where("sale_id=?",@sale_id) @@ -23,8 +22,8 @@ class Origami::RequestBillsController < ApplicationController end # Bind shift sale id to sale - @sale_data.shift_sale_id = shift.id - @sale_data.save + # @sale_data.shift_sale_id = shift.id + # @sale_data.save # Promotion Activation Promotion.promo_activate(@sale) diff --git a/app/models/sale.rb b/app/models/sale.rb index fcf345e4..417e4204 100755 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -78,12 +78,25 @@ class Sale < ApplicationRecord self.tax_type = "exclusive" # set cashier - if cashier != nil + open_cashier = Employee.where("role = 'cashier' AND token_session <> ''") + current_shift = ShiftSale.current_shift + shift = ShiftSale.current_open_shift(cashier.id) + + # set cashier + if shift != nil self.cashier_id = cashier.id self.cashier_name = cashier.name + self.shift_sale_id = shift.id else - self.cashier_id = requested_by.id - self.cashier_name = requested_by.name + if open_cashier.nil? + self.cashier_id = requested_by.id + self.cashier_name = requested_by.name + self.shift_sale_id = current_shift.id + else + self.cashier_id = current_shift.employee_id + self.cashier_name = Employee.find(current_shift.employee_id).name + self.shift_sale_id = current_shift.id + end end # set waiter