Saltar al contenido principal

Who can do what with analytics and reports

36 is the full count of things PTRS can do in this module: 33 across the dashboard and reports areas, and 3 for funders. Every row below was checked directly against what actually enforces it, not assumed from the screen, and the reachable column was established by searching the product for a screen or control that actually calls it.

28 are called by something in the product. 8 are not. Five of the 28 cannot return a correct answer.

Who is admitted

Not one of the 36 actions narrows or widens the setting on the area it belongs to, and none skips the check entirely. Three settings, one per area, are the whole answer.

AreaActionsSettingRoles admitted
Dashboard and reports18The reporting settingSite Director, Regional Director, Org Admin, Super Admin
The reports screens15The reporting settingSite Director, Regional Director, Org Admin, Super Admin
Funder records3The financial-management settingRegional Director, Org Admin, Super Admin

This is the flattest access pattern of any module the portal has read so far, the opposite of Health & Safety, where 37 of 57 actions there narrow their own setting individually. Staff, Parent and OCCL Auditor are refused by all 36, and so is a read-only account, even though the screen shows that account every panel.

One action is grouped with the wrong area

The document export for a funder report is written alongside the reports-area code and actually runs under the dashboard area's own setting, both of which require the same reporting setting anyway, so nothing changes for who can use it. A reader working through the code top to bottom would expect a different address than the one the product actually uses. The screen itself calls the correct one.

How to read the "Reachable" column

ValueMeaning
A screen or panel nameSomething in the product calls this action in normal use
Nothing reaches itThe action is built correctly and no screen or control calls it

Summary

Count
Actions in this module36
Reachable by a screen28
Reachable by nothing8
…of which are complete, screen-shaped features with nothing pointed at them5: the executive dashboard read, its trend twin, program demographics, and the two exports of those
Can never return a correct answer5
Narrow or widen the area's own setting0
Skip the setting entirely0

Dashboard and reports (18 actions)

ActionReachable byNote
Read the KPI stripThe dashboardTwo of the six figures are always zero
Read the attendance trendThe dashboard's Attendance Trends chartAlways empty
Read the enrolment trendNothing reaches itThe Program Enrollment panel calls the Programs module instead
Read demographicsThe dashboard's Demographics chartNot applicable
Read the compliance trendThe dashboard's Compliance Trend chartAlways empty
Read incident trendsThe dashboard's Incident Trends chartNot applicable
Read the funding breakdownThe dashboard's Funding Breakdown chartNot applicable
Read staff retentionNothing reaches itThe figure it would show cannot decrease, by construction
Read every funderThe funder reporting screen, the funder records screen, and the report previewNot applicable
Read one funderThe funder detail pageOmits five stored fields
Read funder report historyThe funder reporting screenNot applicable
Read one funder reportNothing reaches itReturns attendance and enrolment fixed at zero
Generate a funder reportThe funder reporting screenAttendance is always zero
Read the attendance heatmapThe dashboard's Attendance Heatmap panelThe panel reads fields this reply does not send
Read the funder report templatesNothing reaches itNot applicable
Read incidents by type and locationThe dashboard's Incident Trends chartAll time, no date filter
Read the incident heatmapThe dashboard's Incident Trends chartFixed at 90 days
Download a funder report as a documentThe funder reporting screen and the report previewNot applicable
Generating a funder report has no way to ever succeed at its headline figure

The save that generates a report, the read behind the Total Attendance card, and the document export all trace back to a table with no writer. The full chain is in why analytics figures read zero.

The reports screens (15 actions)

ActionReachable byNote
Read the executive summaryNothing reaches itThere is no executive dashboard screen; only its download exists
Download the executive summaryDownload Report on the dashboardDocument only
Read the 90-day attendance trendNothing reaches itThe dashboard's own chart uses a different read instead
Download the attendance trend reportNothing reaches itNot applicable
Read program demographicsNothing reaches itNot applicable
Download program demographicsNothing reaches itWould return an address that fails without a sign-in token attached
Read the statistical reportThe statistical report screenNot applicable
Read locations for the statistical reportThe statistical report screen's site pickerNot applicable
Read available yearsThe statistical report screen's year pickerThe attendance half of this list is always empty
Download the statistical reportThe statistical report screenThe document omits two sections the spreadsheets include
Read the operational report catalogueThe operational reports screenNot applicable
Read one operational reportThe operational reports screenNot applicable
Download an operational reportThe operational reports screenNot applicable
Read the financial summaryThe financial summary screenNot applicable
Download the financial summaryThe financial summary screenNot applicable

Funder records (3 actions)

ActionReachable byNote
Create a funderAdd Funder on the funder records screenRequires a name, type, frequency, due date and status; the grant amount must be zero or more; an email must be a valid shape
Edit a funderThe edit dialog on the funder detail pageReplaces every field, including five the read behind the same screen never actually returns
Remove a funderThe bin icon on the funder records screenA soft removal. Its reports remain but drop out of Report History

Requests that cannot succeed

Something in the product calls each of these five, and none of them can return a correct answer. None fails outright; each returns normally with a wrong or empty answer.

RequestWhat happensWhy
Read the attendance trendAlways emptyReads the daily summary table nothing writes to
Read the compliance trendAlways emptyReads the compliance snapshot table, written only by the engine that fails first and by a development-only setup
Read the KPI stripTwo of six figures are always zeroThe same two tables
Generate a funder reportTotal attendance is always zero, and is fixed into the stored reportThe same attendance table
Read the attendance heatmapReturns correct data the panel cannot readThe panel expects different field names from the ones the reply actually sends

Export format handling

Six actions accept a format choice, and none of them checks it. Each falls back to a default format silently rather than refusing an unrecognised one.

ActionRecognisesFalls back to
Download the executive summaryA documentA spreadsheet
Download the attendance trend reportA documentA spreadsheet
Download program demographicsA documentA spreadsheet
Download the statistical reportA spreadsheet, a documentA workbook
Download the financial summaryA document, a spreadsheetA workbook
Download an operational reportNot applicable, no format choice at allA workbook

PTRS's own error catalogue defines a message for an unsupported format and nothing ever returns it. Only one of the six errors this module defines is ever actually used, on the document export for a funder report. Everywhere else the module reports a different, generic failure instead, which is why an unrecognised operational report type comes back as "not found" rather than the "bad request" its own error catalogue describes for it.


Related

Checked against PTRS on 7 September 2026.