Add status reports to sonar.
Review Request #7574 — Created Aug. 8, 2015 and submitted — Latest diff uploaded
This is a very large change which adds a big new status reports feature to
sonar. This contains a lot of individual pieces, along with a number of
refactors to clean things up.At a high level, the new features are:
- A "My Status Reports" page which is aimed towards students. This shows a list
of the due dates that apply to them. These are color coded/labeled as either
"Submitted", "Past Due", "Due Soon", or nothing. Clicking on a due date will
open up the editor view. - An "All Status Reports" view, which is only seen by admins. This shows all of
the due dates for all groups. Users are sorted into two columns: "Submitted"
and "Not Submitted". Any dates which are in the past are color-coded either
red or green depending on whether any status reports are missing. - A status report editor view. This is pre-populated with the example text from
our welcome packet. The editor can be flipped to a "preview" mode, and has a
neato fullscreen mode that presents a side-by-side view. - A status report reading view, which just shows the rendered markdown text.
- Links to the new status reports from the user detail view.
Various things have been refactored, mostly related to the "ready" state of the
application. Things seem to be migrating towards a steady state here so I'll
probably follow up later with a new view class that handles all of this. There
was also some very confusing issues with the parsing of the "me" user, so I've
switched that out to just pre-populate the userID for the current user and then
match that up once all the users are fetched from the API.
Exercised all of the functionality a ton.