Installed Paper_Trail gem and applied it to the Reservation model. (A lot of tests broken, not clear why.)
Generated a log controller. Added basic dataTable index of all versions stored in the Versions table.
Adding source for a semi-advanced string-to-object conversion
#536 added dropdown to edit page as well as edit controller logic
added currently checked out item as available option
Added a paper_trail-version-dependent notice
made all items possible to be chosen, also removed ability to choose not-checked out items
implemented swap functionality
Implemented rough version-by-version view
Deleted unfruitful attempt to use reservation view to display past versions
added warning messages and detailed information in flash
Ugly hack to make this specific table sort descending on date without resetting the settings. (Calling .dataTable() with order argument would reinitialize the table; I couldn't duplicate the default settings that come from it having class .datatable-wide.)
#546 added column for user roles
#546 added superuser role
Made attribute names and values more readable
Made dates more human-readable
Added two command patterns. Made helper procedures private. Added explanatory comments.
#354 done
Added feature: history overview for a single Reservation
Outlined basic tests for controller functions and the transform_attributes helper