diff --git a/app/controllers/origami/shifts_controller.rb b/app/controllers/origami/shifts_controller.rb index d175e36f..c5e52c99 100644 --- a/app/controllers/origami/shifts_controller.rb +++ b/app/controllers/origami/shifts_controller.rb @@ -8,12 +8,23 @@ class Origami::ShiftsController < ApplicationController#BaseOrigamiController def new @float = Lookup.where('lookup_type=?','float_value') - @terminal = CashierTerminal.all + @terminal = CashierTerminal.available end def create opening_balance = params[:opening_balance] - cashier_terminal = params[:cashier_terminal] + cashier_terminal_param = params[:cashier_terminal] + + cashier_terminal = CashierTerminal.find(cashier_terminal_param) + if cashier_terminal.is_currently_login + respond_to do |format| + format.html { redirect_to settings_order_queue_stations_url, notice: 'Cashier Terminal already signin!' } + end + end + + cashier_terminal.is_currently_login = 1 + cashier_terminal.save + @shift = ShiftSale.new @shift.create(opening_balance,cashier_terminal, current_user) end diff --git a/app/models/cashier_terminal.rb b/app/models/cashier_terminal.rb index 4f642d0a..b488f7c1 100644 --- a/app/models/cashier_terminal.rb +++ b/app/models/cashier_terminal.rb @@ -1,4 +1,6 @@ class CashierTerminal < ApplicationRecord has_many :cashier_terminal_by_zones has_many :zones, through: :cashier_terminal_by_zones + + scope :available, -> {where(is_currently_login: false)} end