Initially, the bug was that nothing seemed to be happening when photo upload is called on Safari.
In fixing that, the behavior has become inconsistent - when photos are uploaded and someone tries to open the modal, it will not always open on the correct picture.
I think this is because of the way I set the click handlers on the openModal and the index being passed.
When a user logs in, the HomeController checks if any current RCI's exist for user's most recent room and building, as indicated by RoomAssign table
If no RCI exists, generate a new one.
If user is in an apartment, also check for a current common area RCI. If none, generate a new one. Note: we need to think about the case of a common area RCI for someone who moves into/out of an apartment mid-way through the semester. Do they need to fill it out again? Will one be generated for them?
With the introduction of the UI changes, the search field on the Dashboard no longer works, due to the additional text "Checkout" and "Swap Furniture".
When a search is entered, a bunch of blocks that just say "Checkout" and/or "Swap Furniture" populate the dashboard, as well as the actually desired search query
Instead of all the redirects in the controllers, we can implement custom authorization filters
In this issue, we should also take care of an admin auth filter, which would allow the admin to see all residents.
Perhaps we will want to look into more sorting options in that case? Like ability to sort by building or something? It could get overwhelming to have so many residents.
First: Have an rci reflect its correct state when you click on it from the dashboard.
Second: Have some visual clue on the dashboard as to what state an rci is in.
States and what someone might see when they click on an rci from the dashboard:
RCI_UNSIGNED:
Resident sees: RciInput View
RA sees: RciInput View
RD sees: RciInput View
RCI_SIGNGED_BY_RES_CHECKIN
Resident sees: RciInput View
RA sees: RciInput View
RD sees: RciInput View
RCI_SIGNGED_BY_RA_CHECKIN
Resident sees: RciReviewCheckin View
RA sees: RciReviewCheckin View
RD sees: RciInput View
RCI_SIGNGED_BY_RD_CHECKIN
Resident sees: RciReviewCheckin View
RA sees: RciCheckout View
RD sees: RciCheckout View
RCI_SIGNED_BY_RES_CHECKOUT
Resident sees: RciReviewCheckout View
RA sees: RciCheckout View
RD sees: RciCheckout View
RCI_SIGNED_BY_RA_CHECKOUT
Resident sees: RciReviewCheckout View
RA sees: RciCheckout View RciReviewCheckout View
RD sees: RciCheckout View
RCI_COMPLETE
Resident sees: RciReviewCheckout View
RA sees: RciReviewCheckout View
RD sees: RciReviewCheckout View
Let me know if you disagree/ have comments/ questions etc...
Identify and implement possible unit tests for controllers
For many tests, this will involve updating/installing packages in the Phoenix.Tests project, as they do not automatically mirror those in Phoenix projects.
View - essentially same as RCIInput, with ability to add fines.
Accessed via button on Dashboard.
DB - create fines column in Damages table. Damages entered by resident during check-in will have a null value for fine. A fine that is added by RA then "deleted" by RD will be set to $0.00.
Signatures - both Resident and RA will sign on RA's system.
Later feature: add option for improper checkout on signing page.
Generate the whole building's RCI's upon the first login of any RA in the building.
Every time when an RA logs in, check if everyone in the building already has an RCI. If not, generate one for each of who has not had one.
In order to not generate duplicated RCI's, check to make sure creation date of the latest RCI is always later than the latest room RCI (of each person).