1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-01 12:24:28 +01:00
fab-manager/app/helpers/availability_helper.rb

68 lines
1.5 KiB
Ruby
Raw Normal View History

2019-04-04 09:33:41 +02:00
# frozen_string_literal: true
# Helpers methods about calendar availabilities
module AvailabilityHelper
MACHINE_COLOR = '#e4cd78'
TRAINING_COLOR = '#bd7ae9'
2017-02-15 13:18:03 +01:00
SPACE_COLOR = '#3fc7ff'
EVENT_COLOR = '#dd7e6b'
IS_RESERVED_BY_CURRENT_USER = '#b2e774'
2022-07-12 17:46:01 +02:00
IS_FULL = '#eeeeee'
2023-07-28 16:16:44 +02:00
IS_BLOCKED = '#b2e774' # same color as IS_RESERVED_BY_CURRENT_USER for simplicity
def availability_border_color(availability)
2017-02-15 13:18:03 +01:00
case availability.available_type
2019-04-04 09:33:41 +02:00
when 'machines'
MACHINE_COLOR
when 'training'
TRAINING_COLOR
when 'space'
SPACE_COLOR
else
EVENT_COLOR
end
end
# @param slot [Slot]
2023-02-24 15:16:57 +01:00
# @param reservable [Machine]
# @param customer [User]
2023-02-24 15:16:57 +01:00
def machines_slot_border_color(slot, reservable = nil, customer = nil)
if slot.reserved?(reservable)
slot.reserved_by?(customer&.id, [reservable]) ? IS_RESERVED_BY_CURRENT_USER : IS_FULL
2017-02-23 17:45:55 +01:00
else
MACHINE_COLOR
end
end
def space_slot_border_color(slot)
if slot.reserved?
IS_RESERVED_BY_CURRENT_USER
2022-07-12 17:46:01 +02:00
elsif slot.full?
IS_FULL
2023-07-28 16:16:44 +02:00
elsif slot.is_blocked
IS_BLOCKED
2017-02-23 17:45:55 +01:00
else
SPACE_COLOR
end
end
def trainings_events_border_color(availability)
if availability.reserved?
IS_RESERVED_BY_CURRENT_USER
2022-06-29 10:30:17 +02:00
elsif availability.full?
2022-07-12 17:46:01 +02:00
IS_FULL
else
2017-02-23 17:45:55 +01:00
case availability.available_type
2019-04-04 09:33:41 +02:00
when 'training'
TRAINING_COLOR
when 'event'
EVENT_COLOR
when 'space'
SPACE_COLOR
else
'#000'
end
end
end
end