1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2025-01-17 06:52:27 +01:00

[bug taiga#25] allow event update if changing ng_places

This commit is contained in:
Sylvain 2016-04-13 13:37:05 +02:00
parent e1567ba7c5
commit a0397a2c15

View File

@ -13,8 +13,7 @@ class Event < ActiveRecord::Base
attr_accessor :recurrence, :recurrence_end_at
after_create :event_recurrence
before_save :set_nb_free_places
before_update :update_nb_free_places, if: :nb_total_places_changed?
before_save :update_nb_free_places
def name
title
@ -33,6 +32,10 @@ class Event < ActiveRecord::Base
end
end
def reservations
Reservation.where(reservable: self)
end
private
def event_recurrence
if recurrence.present? and recurrence != 'none'
@ -79,16 +82,12 @@ class Event < ActiveRecord::Base
end
end
def set_nb_free_places
if nb_free_places.nil?
self.nb_free_places = nb_total_places
end
end
def update_nb_free_places
unless nb_total_places_was.nil? or nb_total_places.nil?
diff = nb_total_places - nb_total_places_was
self.nb_free_places += diff
if nb_total_places.nil?
self.nb_free_places = nil
else
reserved_places = reservations.map{|r| r.nb_reserve_places + r.nb_reserve_reduced_places}.inject(0){|sum, t| sum + t }
self.nb_free_places = (nb_total_places - reserved_places)
end
end
end