mirror of
https://github.com/LaCasemate/fab-manager.git
synced 2025-02-19 13:54:25 +01:00
(bug) prevent same slot booking feature ignores canceled reservations
This commit is contained in:
parent
b53644d3a5
commit
f67c286497
@ -6,6 +6,7 @@
|
||||
- Refactored and documented the availability-slot-reservation data model
|
||||
- Display bookers names to connected users now apply to all resources
|
||||
- Updated rails locales files
|
||||
- Fix a bug: prevent same slot booking feature ignores canceled reservations
|
||||
- Fix a bug: wrong currency on invoices files
|
||||
- Fix a bug: unable to reserve if user's subscription plan is disabled
|
||||
- Fix a bug: for admins and managers, the current password is not requested before changing their own password
|
||||
|
@ -460,11 +460,13 @@ Application.Directives.directive('cart', ['$rootScope', '$uibModal', 'dialogs',
|
||||
*/
|
||||
const validateSameTimeReservations = function (slot, callback) {
|
||||
let sameTimeReservations = $scope.settings.overlapping_categories.split(',').map(function (k) {
|
||||
return _.filter($scope.user[k], function (r) {
|
||||
return slot.start.isSame(r.start_at) ||
|
||||
(slot.end.isAfter(r.start_at) && slot.end.isBefore(r.end_at)) ||
|
||||
(slot.start.isAfter(r.start_at) && slot.start.isBefore(r.end_at)) ||
|
||||
(slot.start.isBefore(r.start_at) && slot.end.isAfter(r.end_at));
|
||||
return _.filter($scope.user[k], function (sr) {
|
||||
return !sr.canceled_at && (
|
||||
slot.start.isSame(sr.start_at) ||
|
||||
(slot.end.isAfter(sr.start_at) && slot.end.isBefore(sr.end_at)) ||
|
||||
(slot.start.isAfter(sr.start_at) && slot.start.isBefore(sr.end_at)) ||
|
||||
(slot.start.isBefore(sr.start_at) && slot.end.isAfter(sr.end_at))
|
||||
);
|
||||
});
|
||||
});
|
||||
sameTimeReservations = _.union.apply(null, sameTimeReservations);
|
||||
|
@ -70,19 +70,20 @@ json.all_projects @member.all_projects do |project|
|
||||
end
|
||||
end
|
||||
end
|
||||
json.events_reservations @member.reservations.where(reservable_type: 'Event').joins(:slots).order('slots.start_at asc') do |r|
|
||||
json.id r.id
|
||||
json.start_at r.slots.first.start_at
|
||||
json.end_at r.slots.first.end_at
|
||||
json.nb_reserve_places r.nb_reserve_places
|
||||
json.tickets r.tickets do |t|
|
||||
json.events_reservations @member.reservations.where(reservable_type: 'Event').joins(:slots).order('slots.start_at asc').map(&:slots_reservations).flatten do |sr|
|
||||
json.id sr.id
|
||||
json.start_at sr.slot.start_at
|
||||
json.end_at sr.slot.end_at
|
||||
json.nb_reserve_places sr.reservation.nb_reserve_places
|
||||
json.tickets sr.reservation.tickets do |t|
|
||||
json.booked t.booked
|
||||
json.price_category do
|
||||
json.name t.event_price_category.price_category.name
|
||||
end
|
||||
end
|
||||
json.reservable r.reservable
|
||||
json.reservable sr.reservation.reservable
|
||||
json.reservable_type 'Event'
|
||||
json.canceled_at sr.canceled_at
|
||||
end
|
||||
json.invoices @member.invoices.order('reference DESC') do |i|
|
||||
json.id i.id
|
||||
|
Loading…
x
Reference in New Issue
Block a user