Add storing of dismissal state to security training promotion callout

The banner should store a flag whenever a user dismisses it, so it doesn't show up for them again. Not on the vulnerability report, nor on the security dashboard.

Related Issues

Implementation Plan

  • Add feature to app/models/users/callout.rb
  • Use app/assets/javascripts/vue_shared/components/user_callout_dismisser.vue, so when it gets dismissed we store that on a per-user basis
  • Write tests
Edited by David Pisek