diff --git a/CHANGELOG.md b/CHANGELOG.md index e9641a42b..1e512678f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## next deploy +## v5.4.9 2022 June 29 + +- Fix a bug: validator of reservation can't find if slot has reserved by reservable type + ## v5.4.8 2022 June 29 - My reservations dashboard diff --git a/app/models/cart_item/reservation.rb b/app/models/cart_item/reservation.rb index 363a21da7..9f9909217 100644 --- a/app/models/cart_item/reservation.rb +++ b/app/models/cart_item/reservation.rb @@ -50,8 +50,8 @@ class CartItem::Reservation < CartItem::BaseItem end if availability.available_type == 'machines' - s = Slot.find_by(start_at: slot[:start_at], end_at: slot[:end_at], availability_id: slot[:availability_id], canceled_at: nil) - unless s.nil? + s = Slot.includes(:reservations).where(start_at: slot[:start_at], end_at: slot[:end_at], availability_id: slot[:availability_id], canceled_at: nil, "reservations.reservable": @reservable) + unless s.empty? @errors[:slot] = 'slot is reserved' return false end diff --git a/package.json b/package.json index f15f6b4e7..c37fe099f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fab-manager", - "version": "5.4.8", + "version": "5.4.9", "description": "Fab-manager is the FabLab management solution. It provides a comprehensive, web-based, open-source tool to simplify your administrative tasks and your marker's projects.", "keywords": [ "fablab",