SSP-2904 Remove font in RTE and ignore missing fonts in Jasper
SSP-2890 Ensure no whitespace in download names
SSP-2882 Don't clear client person unless selection actually changed
SSP-2893 Fix WatchStudent.objectStatus Hib Criteria pathing
SSP-2876 Completion rate field outputs '%' char only if no data
available
SSP-2875 Hide bulk action selector if no results in current 'student
list'
SSP-2891 Program Status filter has “show show all” instead of “show all”
SSP-2909 Stop bulk email send if message would have CC only

... but don't necessarily prevent Journal Entry creation in that case
SSP-2909 Finer grained counts in bulk email execution state

Was:

  emailSentCount
  emailFailedCount

Now:

  emailSentCount
  journalEntriesCreatedCount
  personsFailedCount
  personsSucceededCount

That'll all be stored in job_queue.execution_state, and it's logged. E.g.:

13:25:14.701 [taskExecutor-1:job-execution]  DEBUG o.j.s.s.i.P.BulkEmailJobExecutor -
  Processing complete for Job 7f000001-48fb-1ba1-8148-fbbc897f0000. Records processed
  successfully: 2. Emails sent: 1. Journal entries created: 2. Records processed
  unsuccessfully: 0
SSP-2868 - Added emailActionPlanPopUp to destroy
SSP-2888 More fluid student email dialog or else disable resize
SSP-517 message queue retry limit changes for invalid from and to accounts
Merge branch 'master' of https://github.com/Jasig/SSP
SSP-2789 Update CSV column headers to match PDF
SSP-2901 Update Username restrictions in Add/Edit Student
SSP-2883 Remove term search from Early Alert Response Reports
SSP-2884 Add EarlyAlert created filter to Response Reports
SSP-2908 Refactor UI-driven program status transitions

Major rework:

  - Fix non-functional transitions (possible regression from
    watchlist)
  - Wait to update client-side person models until transition
    API call succeeds
  - Error message when transition API call fails
  - Consistent 'student not selected' error messaging
  - Prevent duplicate transitions (with the exception of
    Non-Participating)
  - Update Main immediately with transitions
  - Avoid race condition loading transition reasons in Non-
    Participating dialog
  - Avoid loading too few transition reasons in Non-Participating
    dialog and Dashboard and Details tab in Main
  - Dynamic post-quick-add program status
SSP-2812 Consolidate Task Link Formatting Code
SSP-2809 Add standard render params to MyGPS Welcome Template