Story #129 Automate member check in. - cseseniordesign/reservations GitHub Wiki
End User Documentation
Dev Testing Instructions
- Ensure you are on the most recent version of the
dev-automate-member-check-in
branch. - Start your dev environment and navigate to http://0.0.0.0:9393/check_in_login or your environments equivalent.
- Login with a test account that has an active membership.
- Select a reason for visit along with a studio space from the list then press the check in button.
- Make note of the time and options selected for later.
- Login with a test account that has an inactive membership.
- Repeat step 4
- Navigate to http://0.0.0.0:9393/login/ or again your environments equivalent and login with an admin account.
- Click on the admin tab and select Check In Log from the list of options.
- Check In Log should also be an option when hovering over the admin selection.
- On the page verify that the chart showing numbers of visits to the various studio spaces aligns with what you chose when checking in on the two test accounts.
- Scroll down and see if your 2 check ins appear below the search options with the correct values.
- Attempt to search by the various parameters to single out one or the other check in instance.
- If there are previous instances that exist you can also attempt to search for them.
- Scroll back up and click the Manage Studio Spaces button.
- Create a new studio space on this page.
- Return back to the Check In Log page and see if the newly created space appears along with the others.
- At this point you can also attempt to check in again while selecting this new space as an option.
- Navigate back to the Manage Studio Spaces page and delete the new space.
- Return back to the Check In Log page and see if the space has been removed from all the options.
- Note that any check ins that happened under that space will still have that space listed on the log.
Production Testing Instructions
- Go to https://innovationstudio-manager.unl.edu/check_in_login
- Repeat steps 3 - 16 substituting the real url for the dev url
Technical Documentation
models/studio_space.rb
- Creating StudioSpace model and connecting with ActiveRecord.
models/check_ins.rb
- Creating CheckIn model and connecting with ActiveRecord
- Handles setting the correct timezone for the check in timestamp
routes/admin/view_check_in.rb
- Created to handle the backend for the admin side of viewing check ins connects to both
/views/admin/view_check_in.erb
and/views/admin/manage_studio_spaces.erb
1- Changes within the GET /admin/view_check_in/?
action:
- Retrieving studio spaces' names from the database.
2- Changes within the GET /admin/view_check_in/studio_spaces/?
action:
- Retrieving studios from the database.
3- Changes within the POST /admin/view_check_in/studio_spaces/?
action:
- Creating a new studio space.
4- Changes within the POST /admin/view_check_in/studio_spaces/:studio_id/delete/?
action:
- Deleting the selected studio.
routes/auth.rb
1- Added GET and POST for /check_in_login/?
- Basically the same as the standard login variant but stripped down for the check in process.
2- Added GET and POST for /forgot_password_check_in/
- Same story as the check_in_login
views/admin/manage_studio_spaces.erb
- UI for managing studio spaces.
views/admin/view_check_in.erb
- Provides UI to view number of members checking in for each space in the past seven days along with the current days check ins.
- Provides UI to search for specific check in instances.
- Adding the "Manage Studio Spaces" button.
views/fixed_no_toolbar.erb
- Created as a stand in for fixed.erb for the check in pages to prevent members from leaving the page in the kiosk.
views/check_in_login.erb
- Created as an alternative for
views/login.erb
for the check in process.
views/check_in.erb
- Created as a landing page for the check in process to gather reason for visit and what space is being visited.