Skip to content
This repository was archived by the owner on Jul 24, 2020. It is now read-only.

Commit 071566f

Browse files
committed
log all edits to notes
1 parent c7fe211 commit 071566f

File tree

1 file changed

+27
-3
lines changed

1 file changed

+27
-3
lines changed

app/controllers/reservations_controller.rb

+27-3
Original file line numberDiff line numberDiff line change
@@ -126,12 +126,36 @@ def update # for editing reservations; not for checkout or check-in
126126

127127
# save changes to database
128128
@reservation.update_attributes(res)
129-
unless params[:new_notes].blank?
130-
@reservation.notes = @reservation.notes.to_s + "\n#### New notes added at #{Time.current.to_s(:long)} by #{current_user.name}\n" + params[:new_notes]
129+
last_changes = @reservation.previous_changes.except('updated_at')
130+
unless last_changes.empty? && params[:new_notes].blank?
131+
@reservation.notes = @reservation.notes.to_s + "\n### Reservation edited at #{Time.current.to_s(:long)} by #{current_user.name}\n"
132+
unless params[:new_notes].blank?
133+
@reservation.notes = @reservation.notes.to_s + "\n**Notes:** " + params[:new_notes]
134+
end
135+
last_changes.each do |param, diff|
136+
case param
137+
when 'reserver_id'
138+
name = 'Reserver'
139+
old_val = User.find(diff[0]).name
140+
new_val = User.find(diff[1]).name
141+
when 'start_date'
142+
name = 'Start Date'
143+
old_val = diff[0].to_date.to_s
144+
new_val = diff[1].to_date.to_s
145+
when 'due_date'
146+
name = 'Due Date'
147+
old_val = diff[0].to_date.to_s
148+
new_val = diff[1].to_date.to_s
149+
when 'equipment_object_id'
150+
name = 'Item'
151+
old_val = EquipmentObject.find(diff[0]).name
152+
new_val = EquipmentObject.find(diff[1]).name
153+
end
154+
@reservation.notes = @reservation.notes.to_s + "\n#{name} changed from " + old_val + " to " + new_val + "."
155+
end
131156
@reservation.save
132157
end
133158

134-
135159
# flash success and exit
136160
flash[:notice] = message
137161
redirect_to @reservation

0 commit comments

Comments
 (0)