Some minor changes to staff report view/calc

- Some style changes to the staff report. Added user links.
- Moved `staff_report_data` into a model to make it more modular.
- Fixed a bug where the report would fail in a call to `max()` if there was no data, and added a test for this.