Currently, whenever you click on the "New Report" button, a report is created and immediately persisted to the database as empty new report. This has two downsides:
- If the user just wants to check one metric quickly, they might create a new report, select the options they are interested in and then navigating away without saving the report. This leaves an unused, empty report in the list that is not used
- If multiple users are working on the system, other users see the uncompleted report while the creator is still working on the report.
I suggest that we only persist the report in the database when the user explicitly clicks the save button in the report builder. We should do the same for dashboards.