mirror of
https://github.com/LaCasemate/fab-manager.git
synced 2025-02-20 14:54:15 +01:00
fixed availabilities controller
This commit is contained in:
parent
5a09453ac2
commit
65892684a8
@ -28,7 +28,7 @@ class API::AvailabilitiesController < API::ApiController
|
||||
.where('slots.start_at >= ? AND slots.end_at <= ?', start_date, end_date)
|
||||
|
||||
machine_ids = params[:m] || []
|
||||
service = PublicAvailabilitiesService.new(current_user)
|
||||
service = Availabilities::PublicAvailabilitiesService.new(current_user)
|
||||
@availabilities = service.public_availabilities(
|
||||
start_date,
|
||||
end_date,
|
||||
@ -75,19 +75,19 @@ class API::AvailabilitiesController < API::ApiController
|
||||
def machine
|
||||
@current_user_role = current_user.admin? ? 'admin' : 'user'
|
||||
|
||||
service = AvailabilitiesService(current_user, other: @visi_max_other, year: @visi_max_year)
|
||||
service = Availabilities::AvailabilitiesService.new(current_user, other: @visi_max_other, year: @visi_max_year)
|
||||
@slots = service.machines(params[:machine_id], user)
|
||||
end
|
||||
|
||||
def trainings
|
||||
service = AvailabilitiesService(current_user, other: @visi_max_other, year: @visi_max_year)
|
||||
@availabilities = service.trainings(params[:training_id], @user)
|
||||
service = Availabilities::AvailabilitiesService.new(current_user, other: @visi_max_other, year: @visi_max_year)
|
||||
@availabilities = service.trainings(params[:training_id], user)
|
||||
end
|
||||
|
||||
def spaces
|
||||
@current_user_role = current_user.admin? ? 'admin' : 'user'
|
||||
|
||||
service = AvailabilitiesService(current_user, other: @visi_max_other, year: @visi_max_year)
|
||||
service = Availabilities::AvailabilitiesService.new(current_user, other: @visi_max_other, year: @visi_max_year)
|
||||
@slots = service.spaces(params[:space_id], user)
|
||||
end
|
||||
|
||||
@ -148,16 +148,6 @@ class API::AvailabilitiesController < API::ApiController
|
||||
params.require(:lock)
|
||||
end
|
||||
|
||||
def reserved?(start_at, reservations)
|
||||
is_reserved = false
|
||||
reservations.each do |r|
|
||||
r.slots.each do |s|
|
||||
is_reserved = true if s.start_at == start_at
|
||||
end
|
||||
end
|
||||
is_reserved
|
||||
end
|
||||
|
||||
def filter_availabilites(availabilities)
|
||||
availabilities_filtered = []
|
||||
availabilities.to_ary.each do |a|
|
||||
@ -191,7 +181,7 @@ class API::AvailabilitiesController < API::ApiController
|
||||
end
|
||||
|
||||
def remove_completed?(availability)
|
||||
params[:dispo] == 'false' && (availability.reserved? || (availability.try(:completed?) && availability.completed?))
|
||||
params[:dispo] == 'false' && (availability.is_reserved || (availability.try(:completed?) && availability.completed?))
|
||||
end
|
||||
|
||||
def define_max_visibility
|
||||
|
@ -39,7 +39,7 @@ class Availabilities::AvailabilitiesService
|
||||
def spaces(space_id, user)
|
||||
space = Space.friendly.find(space_id)
|
||||
reservations = reservations(space)
|
||||
availabilities = availabilities(machine, 'machines', user)
|
||||
availabilities = availabilities(space, 'space', user)
|
||||
|
||||
slots = []
|
||||
availabilities.each do |a|
|
||||
@ -72,11 +72,11 @@ class Availabilities::AvailabilitiesService
|
||||
reservations = reservations.joins(:slots).where('slots.start_at > ?', Time.now)
|
||||
|
||||
# visible availabilities depends on multiple parameters
|
||||
availabilities = training_availabilities(training_id, @user)
|
||||
availabilities = training_availabilities(training_id, user)
|
||||
|
||||
# finally, we merge the availabilities with the reservations
|
||||
availabilities.each do |a|
|
||||
a.merge!(@service.training_event_reserved_status(a, reservations, user))
|
||||
a = @service.training_event_reserved_status(a, reservations, user)
|
||||
end
|
||||
end
|
||||
|
||||
@ -117,7 +117,7 @@ class Availabilities::AvailabilitiesService
|
||||
|
||||
def training_availabilities(training_id, user)
|
||||
availabilities = if training_id.is_number? || (training_id.length.positive? && training_id != 'all')
|
||||
Training.friendly.find(params[:training_id]).availabilities
|
||||
Training.friendly.find(training_id).availabilities
|
||||
else
|
||||
Availability.trainings
|
||||
end
|
||||
|
@ -57,7 +57,7 @@ class Availabilities::PublicAvailabilitiesService
|
||||
space: space,
|
||||
title: space.name
|
||||
)
|
||||
slot = @service.space_reserved_status(slot, reservations, @current_user, @user_role)
|
||||
slot = @service.space_reserved_status(slot, reservations, @current_user)
|
||||
slots << slot
|
||||
end
|
||||
end
|
||||
@ -88,7 +88,7 @@ class Availabilities::PublicAvailabilitiesService
|
||||
.where(lock: false)
|
||||
avails.each do |a|
|
||||
if a.available_type == 'training' || a.available_type == 'event'
|
||||
a.merge!(@service.training_event_reserved_status(a, reservations, user))
|
||||
a = @service.training_event_reserved_status(a, reservations, @current_user)
|
||||
elsif a.available_type == 'space'
|
||||
a.is_reserved = @service.reserved_availability?(a, @current_user)
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user