Story %23113 Send email when vehicle information or membership status changes %7C User and Technical Documentation - cseseniordesign/reservations GitHub Wiki

End User Documentation

Dev Testing Instructions

  1. Make sure you are on the most recent version of the dev-add-vehicle-emails branch (since the dev emails are not working perform this testing on the staging environment).
  2. Log in with development2 so you have all permissions.
  3. Navigate to the Admin -> Users page
  4. Search for the user with the first name "Email". You should find a user named "Email Tester". Change the email of this user to your email.
  5. Find the development user with your huskers email and set the expiration date to null and save. After that set the expiration date to an active date. You should get an activation email with steps for getting started and an attached parking map. If you have any vehicles added to your account you should also get a vehicle information email. The Email Tester user should also get this email.
  6. Ensure that whenever you change your vehicle information in the My Account page that you also get a vehicle information email.
  7. Change your development account's expiration date to expire tomorrow. Tomorrow at noon the Email Tester user should get an email saying that your user is expiring and that their parking information will need to be removed from passport parking.
  8. Ensure there are no errors in the console throughout your testing and that the page is responsive on all screen sizes.

Technical Documentation

config/initializers/scheduler.rb

  • Added a call to the email_expiring_users_vehicle_update.rb script.

models/user.rb

  • Added a new is_current? method that returns if a user has a non-null expiration date that is greater than today.
  • Added a new set_expiration_date method that expects a date to be passed to it. This will set the user's expiration date and if it's the first time the user is being activated then it sends the activation and vehicle information emails and if the user's expiration date is renewed then the vehicle information email is sent.
  • Added a new send_activation_email method that sends the activation email to the user.
  • Added a new send_vehicle_information_update method that sends the vehicle information email to the user and to innovationstudio

routes/admin/users.rb

  • Updated logic that sets the user's expiration date to use the new set_expiration method.

routes/vehicles.rb

  • Added logic to send the vehicle information update email whenever a user is current and their vehicle information is updated.

scripts/email_expiring_users_vehicle_update.rb

  • Added this script that will send an email to innovationstudio to notify them of users who are expiring today so that they can remove them from passport parking.
⚠️ **GitHub.com Fallback** ⚠️